[asterisk-bugs] [Asterisk 0018837]: [patch] Deadlock with attended transfer of SIP call

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Feb 25 12:52:56 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18837 
====================================================================== 
Reported By:                alecdavis
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18837
Category:                   Core/RTP
Reproducibility:            always
Severity:                   crash
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.8.2.3 
JIRA:                        
Regression:                 No 
Reviewboard Link:           https://reviewboard.asterisk.org/r/1126/ 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-02-17 19:25 CST
Last Modified:              2011-02-25 12:52 CST
====================================================================== 
Summary:                    [patch] Deadlock with attended transfer of SIP call
Description: 
3 SIP phones.

A calls B, and B answers on line 1.
B puts A on hold by selecting line2.
B calls C, and C answers.
B initiates transfer of line1 to line2, phone uses REFER.


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0018491 [patch] fix SIP indicate deadlocks when...
has duplicate       0018468 SIP crash on transfer
has duplicate       0018734 Combination dtmfmode=info, directmedia=...
====================================================================== 

---------------------------------------------------------------------- 
 (0132415) svnbot (reporter) - 2011-02-25 12:52
 https://issues.asterisk.org/view.php?id=18837#c132415 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 308945

U   branches/1.8/channels/chan_sip.c

------------------------------------------------------------------------
r308945 | alecdavis | 2011-02-25 12:52:54 -0600 (Fri, 25 Feb 2011) | 21
lines

Fix Deadlock with attended transfer of SIP call

Call path 
  sip_set_rtp_peer (locks chan then pvt)
   transmit_reinvite_with_sdp
    try_suggested_sip_codec
     pbx_builtin_getvar_helper (locks p->owner)

But by the time p->owner lock was attempted, seems as though chan and
p->owner were different.

So in sip_set_rtp_peer, lock pvt first then lock p->owner using
deadlocking methods.

(closes issue https://issues.asterisk.org/view.php?id=18837)
Reported by: alecdavis
Patches: 
      bug18837-trunk.diff3.txt uploaded by alecdavis (license 585)
Tested by: alecdavis, Irontec, ZX81, cmaj

Review: [https://reviewboard.asterisk.org/r/1126/]


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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-25 12:52 svnbot         Note Added: 0132415                          
======================================================================




More information about the asterisk-bugs mailing list