[asterisk-bugs] [Asterisk 0011694]: Asterisk crashes when connecting the 10th simultaneous ODBC pooled connections

noreply at bugs.digium.com noreply at bugs.digium.com
Sun Jan 6 14:11:36 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11694 
====================================================================== 
Reported By:                falves11
Assigned To:                Corydon76
====================================================================== 
Project:                    Asterisk
Issue ID:                   11694
Category:                   Resources/res_odbc
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 96645 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             01-06-2008 09:44 CST
Last Modified:              01-06-2008 14:11 CST
====================================================================== 
Summary:                    Asterisk crashes when connecting the 10th
simultaneous ODBC pooled connections
Description: 
After so much work now I nailed the ODBC problem.
I traced how many open connection I have in my SQL server from Asterisk
every second, and inf act, I see 1,2,3,4,5,6,7,8,9,0, and Asterisk crashes.
The capture below is obtained by setting verbose level to 1, and it can be
seen clearly that at the 10th ODBC connection Asterisk is unable to
connect. Yet, the command odbc show gives this output, which proves that
theoretically there is a 1000 limit on the connections.

 Name:   global
  DSN:    mssql
  Pooled: Yes
  Limit:  1000
  Connections in use: 1
    - Connection 1: connected

====================================================================== 

---------------------------------------------------------------------- 
 falves11 - 01-06-08 14:11  
---------------------------------------------------------------------- 
I get thousand of line like this when compiling with all the debugs.

res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 75 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 5 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 5 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 70 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 40 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 80 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 85 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 25 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 10 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 65 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 75 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 90 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 30 sec for
mutex '&(&class->odbc_obj)->lock'?
res_odbc.c line 451 (ast_odbc_request_obj): Deadlock? waited 30 sec for
mutex '&(&class->odbc_obj)->lock'? 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-06-08 14:11  falves11       Note Added: 0076384                          
======================================================================




More information about the asterisk-bugs mailing list