[asterisk-bugs] [Asterisk 0016847]: [patch] Deadlock between dahdi_exception and dahdi_indicate

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Oct 13 18:30:00 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16847 
====================================================================== 
Reported By:                shin-shoryuken
Assigned To:                rmudgett
====================================================================== 
Project:                    Asterisk
Issue ID:                   16847
Category:                   Channels/chan_dahdi
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Target Version:             1.6.2.15
Asterisk Version:           SVN 
JIRA:                       SWP-927 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-02-16 15:16 CST
Last Modified:              2010-10-13 18:30 CDT
====================================================================== 
Summary:                    [patch] Deadlock between dahdi_exception and
dahdi_indicate
Description: 
I've encountered a deadlock situation between dahdi_exception and
dahdi_indicate, running Asterisk 1.6.1.6 (confirmed as well in 1.6.1.14) on
Debian Lenny x86_64.  Deadlock occurs roughly once a week, usually under
lower call volume (strangely enough).  The issue seems to arise mostly when
swapping between call-waiting lines on a DAHDI channel.
====================================================================== 

---------------------------------------------------------------------- 
 (0127996) svnbot (reporter) - 2010-10-13 18:30
 https://issues.asterisk.org/view.php?id=16847#c127996 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 291643

U   branches/1.4/channels/chan_dahdi.c

------------------------------------------------------------------------
r291643 | rmudgett | 2010-10-13 18:29:59 -0500 (Wed, 13 Oct 2010) | 20
lines

Deadlock between dahdi_exception() and dahdi_indicate().

There is a deadlock between dahdi_exception() and dahdi_indicate() for
analog ports.  The call-waiting and three-way-calling feature can
experience deadlock if these features are trying to do something and an
event from the bridged channel happens at the same time.

Deadlock avoidance code added to obtain necessary channel locks before
attemting an operation with call-waiting and three-way-calling.

(closes issue https://issues.asterisk.org/view.php?id=16847)
Reported by: shin-shoryuken
Patches:
      issue_16847_v1.4.patch uploaded by rmudgett (license 664)
      issue_16847_v1.6.2.patch uploaded by rmudgett (license 664)
      issue_16847_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, rmudgett

Review: https://reviewboard.asterisk.org/r/971/

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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-10-13 18:30 svnbot         Note Added: 0127996                          
======================================================================




More information about the asterisk-bugs mailing list