[asterisk-bugs] [Asterisk 0019191]: deadlock in chan_sip

Asterisk Bug Tracker noreply at bugs.digium.com
Tue May 3 17:36:01 CDT 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=19191 
====================================================================== 
Reported By:                byronclark
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   19191
Category:                   Channels/chan_sip/General
Reproducibility:            random
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.2.17.3 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-04-27 11:16 CDT
Last Modified:              2011-05-03 17:36 CDT
====================================================================== 
Summary:                    deadlock in chan_sip
Description: 
I've only seen this happen twice, both instances separated by about a
month.  
The only symptom is that Asterisk stops responding to SIP packets.

This time I ran 'pkill -11 asterisk' when it happened so I could get a
core dump. So, when looking at the backtrace, the segfault isn't the
problem.
====================================================================== 

---------------------------------------------------------------------- 
 (0134376) byronclark (reporter) - 2011-05-03 17:36
 https://issues.asterisk.org/view.php?id=19191#c134376 
---------------------------------------------------------------------- 
Here's the problem:
- The thread calling ast_get_hint (thread 38 in the backtrace) holds a
lock on the hints container when it attempts to lock contexts by calling
ast_rdlock_contexts(). 
- The thread calling ast_add_hint (thread 33 in the backtrace) holds a
lock on the contexts (acquired with ast_rdlock_contexts()) and attempts to
lock the hints container.

We're probably seeing this more than others because the initial hint setup
in configuration requires a realtime lookup. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-05-03 17:36 byronclark     Note Added: 0134376                          
======================================================================




More information about the asterisk-bugs mailing list