[asterisk-bugs] [Asterisk 0018491]: [patch] fix SIP indicate deadlocks when lots of state changes

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Feb 3 17:49:31 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18491 
====================================================================== 
Reported By:                cmaj
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18491
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.8.1.1 
JIRA:                       SWP-2760 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-12-16 16:21 CST
Last Modified:              2011-02-03 17:49 CST
====================================================================== 
Summary:                    [patch] fix SIP indicate deadlocks when lots of
state changes
Description: 
Running 1.8.2-rc1 and was able to deadlock several times during failed SIP
state change indications.  Found by testing 4 SIP phones in close proximity
and rapidly, yet manually, transferring blind, parking calls, picking them
up at another phone, etc.  Also, was using the Bridge() app for buddy
pickup purposes.
====================================================================== 

---------------------------------------------------------------------- 
 (0131486) svnbot (reporter) - 2011-02-03 17:49
 https://issues.asterisk.org/view.php?id=18491#c131486 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 306215

U   branches/1.8/channels/chan_sip.c

------------------------------------------------------------------------
r306215 | jpeeler | 2011-02-03 17:49:28 -0600 (Thu, 03 Feb 2011) | 20
lines

Fix SIP deadlock involving state changes.

Once again a call to pbx_builtin_getvar_helper (and
pbx_builtin_setvar_helper)
has caused locking problems. Both of these functions lock the channel when
the channel argument is passed in!

In this case, the suspected problem (the backtrace makes it impossible to
tell)
was the private being locked in sip_set_rtp_peer and then:
transmit_reinvite_with_sdp
 try_suggested_sip_codec
   pbx_builtin_getvar_helper
(Traced to verify that the fix was only required in 1.8 and later.)

(closes issue https://issues.asterisk.org/view.php?id=18491)
Reported by: cmaj
Patches: 
      chan_sip_fix_deadlocks_bug_18491.txt uploaded by cmaj (license 830)
Tested by: cmaj


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=306215 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-03 17:49 svnbot         Checkin                                      
2011-02-03 17:49 svnbot         Note Added: 0131486                          
======================================================================




More information about the asterisk-bugs mailing list