[asterisk-bugs] [Asterisk 0015637]: Deadlock after peer answeres queue call

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Aug 10 09:07:22 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15637 
====================================================================== 
Reported By:                cstadlmann
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15637
Category:                   Core/Channels
Reproducibility:            random
Severity:                   crash
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 204834 
Request Review:              
====================================================================== 
Date Submitted:             2009-08-03 08:43 CDT
Last Modified:              2009-08-10 09:07 CDT
====================================================================== 
Summary:                    Deadlock after peer answeres queue call
Description: 
We have the following set up:

Asterisk is hosting a queue with 4 members, ring strategy 'least recent'.
The complete setup is realtime, but I don't think this has anything to do
with the deadlock.

The queue is playing MOH, which is a wav-file (no .mp3). After the SIP
peer answeres the call, MOH stops playing, and exactly in this moment the
deadlock occurs.

It does not matter if queue members are 'Local/' or 'SIP/' channels,
patching Asterisk as stated in Bug 14112 only makes the deadlock occur
every 6 hours, with SIP channels the deadlock occurs every 3 hours or so.

The only way to get Asterisk running again is to 'kill -9' the process. No
other CLI command than one 'core show locks' is working, any subsequent CLI
command does not produce any response anymore.
====================================================================== 

---------------------------------------------------------------------- 
 (0108837) cstadlmann (reporter) - 2009-08-10 09:07
 https://issues.asterisk.org/view.php?id=15637#c108837 
---------------------------------------------------------------------- 
I recently upgraded to SVN-branch-1.4-r210575, Asterisk was now running
für 4 days without problems, but just now the deadlock occurred again,
just after a peer answered a queue call.
I'm using 'Local/' channels right now for queue members because it seems
that Asterisk is more stable than using 'SIP/' channel members...


smartelpbx*CLI> core show locks
smartelpbx*CLI>
=======================================================================
=== Currently Held Locks ==============================================
=======================================================================
===
=== <file> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: 3062274960 (do_monitor           started at [16891]
chan_sip.c restart_monitor())
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (chan_sip.c): MUTEX
16739 do_monitor &iflock 0xb68ef2e0
(1)
=== ---> Lock https://issues.asterisk.org/view.php?id=1 (chan_sip.c): MUTEX
16751 do_monitor &sip->lock 0x83fbc18
(1)
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=2 (pbx.c):
MUTEX 5814 pbx_builtin_getvar_helper
(channel lock) 0x8864498 (1)
=== --- ---> Locked Here: rtp.c line 1546 (ast_rtp_early_bridge)
=== -------------------------------------------------------------------
===
=== Thread ID: 3060153232 (session_do           started at [ 2522]
manager.c accept_thread())
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (manager.c): RDLOCK 2281
process_message &actionlock
0x81b7c00 (1)
=== ---> Lock https://issues.asterisk.org/view.php?id=1 (channel.c): MUTEX 1090
channel_find_locked
&(&channels)->lock 0x81ab448 (1)
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=2
(channel.c): MUTEX 1127
channel_find_locked (channel lock) 0x8864498 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: 3058936720 (pbx_thread           started at [ 2623] pbx.c
ast_pbx_start())
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (rtp.c): MUTEX 1544
ast_rtp_early_bridge (channel lock)
0x83f32c0 (1)
=== ---> Lock https://issues.asterisk.org/view.php?id=1 (rtp.c): MUTEX 1546
ast_rtp_early_bridge (channel lock)
0x8864498 (1)
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=2
(chan_sip.c): MUTEX 18798 sip_get_rtp_peer
&p->lock 0x83fbc18 (1)
=== --- ---> Locked Here: chan_sip.c line 16751 (do_monitor)
=== -------------------------------------------------------------------
===
=======================================================================


Please can anybody tell me what's wrong? 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-08-10 09:07 cstadlmann     Note Added: 0108837                          
======================================================================




More information about the asterisk-bugs mailing list