[asterisk-bugs] [Asterisk 0017185]: Channel Local Issue

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Apr 15 09:27:13 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17185 
====================================================================== 
Reported By:                schmoozecom
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17185
Category:                   Channels/chan_local
Reproducibility:            sometimes
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.30 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-04-14 16:23 CDT
Last Modified:              2010-04-15 09:27 CDT
====================================================================== 
Summary:                    Channel Local Issue
Description: 
Since upgrading to asterisk 1.4.30 we are seeing calls that get answered in
the queue still show as calls waiting in the queue.  We have seen this on 2
systems now and downgrading to 1.4.29 solves the issue.  When looking at
"Show Queue" it will show a dahdi channel as still waiting in the queue
even though the call has been answered and hung up.

Below is a print out of "core show locks" when asterisk is in this state.

=======================================================================
=== Currently Held Locks ==============================================
=======================================================================
===
=== <file> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: -1208542320 (do_devstate_changes  started at [  363]
devicestate.c ast_device_state_engine_init())
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=0
(channel.c): MUTEX 1130
channel_find_locked (channel lock) 0x9bc63f8 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: -1215984752 (pbx_thread           started at [ 2645] pbx.c
ast_pbx_start())
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (channel.c): MUTEX 1556
ast_hangup (channel lock)
0x9be8648 (1)
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=1
(chan_local.c): MUTEX 581
local_hangup (channel lock) 0x9bc63f8 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: -1215247472 (pbx_thread           started at [ 2645] pbx.c
ast_pbx_start())
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (channel.c): MUTEX 1704
ast_activate_generator (channel
lock) 0x9bc63f8 (1)
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=1
(chan_local.c): MUTEX 185
local_queue_frame (channel lock) 0x9be8648 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: -1217889392 (netconsole           started at [ 1036]
asterisk.c listener())
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=0
(channel.c): MUTEX 1130
channel_find_locked (channel lock) 0x9bc63f8 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: -1219118192 (netconsole           started at [ 1036]
asterisk.c listener())
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=0
(channel.c): MUTEX 1130
channel_find_locked (channel lock) 0x9bc63f8 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: -1215493232 (netconsole           started at [ 1036]
asterisk.c listener())
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=0
(channel.c): MUTEX 1130
channel_find_locked (channel lock) 0x9bc63f8 (0)
=== -------------------------------------------------------------------
===
=== Thread ID: -1217643632 (netconsole           started at [ 1036]
asterisk.c listener())
=== ---> Tried and failed to get Lock https://issues.asterisk.org/view.php?id=0
(channel.c): MUTEX 1130
channel_find_locked (channel lock) 0x9bc63f8 (0)
=== -------------------------------------------------------------------
===
=======================================================================


While this is happening I can go into the asterisk CLI any type a command
like "core show channels" and see all active channels but if I want to run
another command after that like "sip show peers" I have to leave the CLI
and come back each time.  Restarting asterisk cleans it up and removes the
lock call.
====================================================================== 

---------------------------------------------------------------------- 
 (0120453) lmadsen (administrator) - 2010-04-15 09:27
 https://issues.asterisk.org/view.php?id=17185#c120453 
---------------------------------------------------------------------- 
As discussed on IRC we do actually need a backtrace. This can be done by
attaching to the running process and getting the output of "thread apply
all bt". Here is a command that will attach to the running Asterisk process
and write the information to the /tmp/backtrace.txt file. Please upload
that file to this issue when you see the deadlocks happen again.

gdb -ex "thread apply all bt" --batch /usr/sbin/asterisk `pidof asterisk`
> /tmp/backtrace-threads.txt

Also be sure to run 'core show locks' from the Asterisk console as closely
as possible to running the 'gdb' command so that things match up.

asterisk -rx "core show locks" > /tmp/core-show-locks.txt 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-04-15 09:27 lmadsen        Note Added: 0120453                          
======================================================================




More information about the asterisk-bugs mailing list