[asterisk-bugs] [Asterisk 0011730]: Multiple deadlock / show channels freeze on Queues 1.4.16/17

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Jan 10 12:54:15 CST 2008


email_notification_title_for_status_bug_ready_for_testing 
====================================================================== 
http://bugs.digium.com/view.php?id=11730 
====================================================================== 
Reported By:                UDI-Doug
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   11730
Category:                   Channels/chan_agent
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.4.17 
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             01-10-2008 08:51 CST
Last Modified:              01-10-2008 12:54 CST
====================================================================== 
Summary:                    Multiple deadlock / show channels freeze on Queues
1.4.16/17
Description: 
Hi all

I have a deadlock bug on queues that will happen 2-3 times daily, where
there will be a call the gets stuck in the queue and will not hangup untill
restart of Asterisk. When this occurs if we use the "show channels" command
the CLI will freeze but we are able to logout and back in to get the CLI
running again. If left to long there will be problems with Agent state
reporting and some agents will not recive calls unless they log out and in
again (where their state is reset) or we reload the queue app. We cannot
see the ZAP channel due to the "show channels" freezing CLI and the same
will happen using tab with "soft hangup". I am able to see the ZAP channel
in the queue and have tried "core destroy channel" with no success, this
will kill the ZAP channel but leave the Queued call. The only way that we
can clear the lock is a full restart of Asterisk. Below please find the CLI
outputs and attached the Thread Debug info on the lock. 
====================================================================== 

---------------------------------------------------------------------- 
 putnopvut - 01-10-08 12:54  
---------------------------------------------------------------------- 
The problem had to do with the fact that the code for hanging up a local
channel violated the required locking order regarding private structures
and channels. I'm guessing that you saw this behavior in your queues
because your queue members are local channels.

I am uploading 11730.patch. This introduces deadlock avoidance into the
local_hangup function. Please test this and report if it has fixed the
problem. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-10-08 12:54  putnopvut      Note Added: 0076677                          
01-10-08 12:54  putnopvut      Status                   assigned => ready for
testing
======================================================================




More information about the asterisk-bugs mailing list