[asterisk-bugs] [Asterisk 0014468]: Deadlock between (MOH) ast_write on one end and local_hangup on other end (p->lock versus chan->lock_dont_use)

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Feb 12 11:19:33 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14468 
====================================================================== 
Reported By:                davidw
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   14468
Category:                   Channels/chan_local
Reproducibility:            random
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.0.1 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-02-12 11:08 CST
Last Modified:              2009-02-12 11:19 CST
====================================================================== 
Summary:                    Deadlock between (MOH) ast_write on one end and
local_hangup on other end (p->lock versus chan->lock_dont_use)
Description: 
If an ast_write (in this specific case from music on hold) on one end of a
local channel races with local_hangup, on the other end, a deadlock can
arise in which the ast_write end holds chan->lock_dont_use and is waiting
for p->lock and the local-hangup end has p->lock and is looping on trying
to acquire chan->lock_dont_use.
====================================================================== 

---------------------------------------------------------------------- 
 (0100009) davidw (reporter) - 2009-02-12 11:19
 http://bugs.digium.com/view.php?id=14468#c100009 
---------------------------------------------------------------------- 
Note that chan_local line numbers are off by two because of a local patch
to make ringback tone be internally generated, which was done for another
application of chan_local, and shouldn't be relevant here.

I'm now adding short form backtraces of the two deadlocked threads. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-02-12 11:19 davidw         Note Added: 0100009                          
======================================================================




More information about the asterisk-bugs mailing list