[asterisk-bugs] [Asterisk 0012076]: when calling chanspy(, q) deadlocks occurs

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Feb 27 09:42:00 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12076 
====================================================================== 
Reported By:                junky
Assigned To:                russell
====================================================================== 
Project:                    Asterisk
Issue ID:                   12076
Category:                   Applications/app_chanspy
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.18 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 104141 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             02-26-2008 14:46 CST
Last Modified:              02-27-2008 09:41 CST
====================================================================== 
Summary:                    when calling chanspy(,q) deadlocks occurs
Description: 
after ive an IAX2 channel calling a sip channel, the call goes well.


 if im calling chanspy, deadlocks occurs:

    -- Executing [601 at aheeva:1] ChanSpy("SIP/5556-097dfe78", "|q") in new
stack
localhost*CLI> core show locks
localhost*CLI>
=======================================================================
=== Currently Held Locks ==============================================
=======================================================================
===
=== <file> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: 3086330784 (listener             started at [ 1063]
asterisk.c ast_makesocket())
=== -------------------------------------------------------------------
===
=== Thread ID: 3086072736 (do_devstate_changes  started at [  386]
devicestate.c ast_device_state_engine_init())
=== -------------------------------------------------------------------
===
=== Thread ID: 3085826976 (do_parking_thread    started at [ 2456]
res_features.c load_module())
=== -------------------------------------------------------------------
===
=== Thread ID: 3085581216 (ctiServerReceiver    started at [ 4161]
app_ahEventsProxy.c load_module())
=== -------------------------------------------------------------------
===
=== Thread ID: 2560842656 (do_monitor           started at [ 6988]
chan_zap.c restart_monitor())
=== -------------------------------------------------------------------
===
=== Thread ID: 2560596896 (scan_thread          started at [  499]
pbx_spool.c load_module())
=== -------------------------------------------------------------------
===
=== Thread ID: 2560351136 (sla_thread           started at [ 4844]
app_meetme.c sla_load_config())
=== -------------------------------------------------------------------
===
=== Thread ID: 2560105376 (do_monitor           started at [15701]
chan_sip.c restart_monitor())
=== -------------------------------------------------------------------
===
=== Thread ID: 2559859616 (wrapupchecker_thread started at [ 7439]
app_AheevaPhoneSimulator.c load_module())
=== -------------------------------------------------------------------
===
=== Thread ID: 2559613856 (recording_sender_thread started at [ 7441]
app_AheevaPhoneSimulator.c load_module())
=== -------------------------------------------------------------------
===
=== Thread ID: 2559368096 (communication_server_thread started at [ 7470]
app_AheevaPhoneSimulator.c load_module())
=== -------------------------------------------------------------------
===
=== Thread ID: 2559122336 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2558876576 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2558630816 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2558385056 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2558139296 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2557893536 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2557647776 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2557402016 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2557156256 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2556910496 (iax2_process_thread  started at [ 8883]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2556664736 (sched_thread         started at [ 8893]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2556418976 (network_thread       started at [ 8894]
chan_iax2.c start_network_thread())
=== -------------------------------------------------------------------
===
=== Thread ID: 2556132256 (monitor_sig_flags    started at [ 3001]
asterisk.c main())
=== -------------------------------------------------------------------
===
=== Thread ID: 2555886496 (netconsole           started at [ 1005]
asterisk.c listener())
=== -------------------------------------------------------------------
===
=== Thread ID: 2555640736 (pbx_thread           started at [ 2647] pbx.c
ast_pbx_start())
=== ---> Lock http://bugs.digium.com/view.php?id=0 (chan_agent.c): MUTEX 2181
__login_exec &p->app_lock
0x979c060 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 2555390880 (pbx_thread           started at [ 2647] pbx.c
ast_pbx_start())
=== -------------------------------------------------------------------
===
=== Thread ID: 2555145120 (autoservice_run      started at [  194]
autoservice.c ast_autoservice_start())
=== -------------------------------------------------------------------
===
=== Thread ID: 2554895264 (pbx_thread           started at [ 2647] pbx.c
ast_pbx_start())
=== ---> Lock http://bugs.digium.com/view.php?id=0 (app_chanspy.c): MUTEX 401
chanspy_ds_free
&chanspy_ds->lock 0x98484854 (1)
=== ---> Waiting for Lock http://bugs.digium.com/view.php?id=1 (app_chanspy.c):
MUTEX 408 chanspy_ds_free
&chan->lock 0x97dd490 (1)
=== -------------------------------------------------------------------
===
=======================================================================


And when the chanspy and the call ends:
eb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:46] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] NOTICE[23437]: chan_iax2.c:6701 socket_read: Out of idle
IAX2 threads for I/O, pausing!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!
[Feb 26 15:43:47] ERROR[23473]:
/usr/src/asterisk-1.4/include/asterisk/lock.h:370 __ast_pthread_mutex_lock:
app_chanspy.c line 408 (chanspy_ds_free): '&chan->lock' really deep
reentrancy!


====================================================================== 

---------------------------------------------------------------------- 
 junky - 02-27-08 09:41  
---------------------------------------------------------------------- 
Also, if i go on the right thread in gdb:

(gdb) thread 2
[Switching to thread 2 (Thread -1741542496 (LWP
32256))]http://bugs.digium.com/view.php?id=0  0x0081207a in
pthread_mutex_trylock () from /lib/tls/libpthread.so.0
(gdb) bt
http://bugs.digium.com/view.php?id=0  0x0081207a in pthread_mutex_trylock ()
from /lib/tls/libpthread.so.0
http://bugs.digium.com/view.php?id=1  0x08086c13 in __ast_pthread_mutex_trylock
(filename=0x814dd14
"channel.c", lineno=1065, func=0x814f24c "channel_find_locked",
mutex_name=0x814f27a "&c->lock", t=0x8929310)
    at /usr/src/asterisk-1.4/include/asterisk/lock.h:410
http://bugs.digium.com/view.php?id=2  0x08087034 in channel_find_locked
(prev=0x0, name=0x0, namelen=0,
context=0x0, exten=0x0) at channel.c:1065
http://bugs.digium.com/view.php?id=3  0x0808755b in ast_channel_walk_locked
(prev=0x0) at channel.c:1188
http://bugs.digium.com/view.php?id=4  0x00b1142d in next_channel
(chan=0x8929298, last=0x0, spec=0x0,
exten=0x0, context=0x0, chanspy_ds=0x9831d850) at app_chanspy.c:457
http://bugs.digium.com/view.php?id=5  0x00b11ea5 in common_exec (chan=0x8929298,
flags=0x9831ddf8,
volfactor=0, fd=0, mygroup=0x0, spec=0x0, exten=0x0, context=0x0) at
app_chanspy.c:517
http://bugs.digium.com/view.php?id=6  0x00b1285d in chanspy_exec
(chan=0x8929298, data=0x9831db90) at
app_chanspy.c:719
http://bugs.digium.com/view.php?id=7  0x080d396b in pbx_exec (c=0x8929298,
app=0x88ea040, data=0x9831ff50)
at pbx.c:532
http://bugs.digium.com/view.php?id=8  0x080d7570 in pbx_extension_helper
(c=0x8929298, con=0x0,
context=0x89294d8 "aheeva", exten=0x8929528 "601", priority=1, label=0x0,
callerid=0x891dd70 "5556", action=E_SPAWN) at pbx.c:1851
http://bugs.digium.com/view.php?id=9  0x080d88a0 in ast_spawn_extension
(c=0x8929298, context=0x89294d8
"aheeva", exten=0x8929528 "601", priority=1, callerid=0x891dd70 "5556") at
pbx.c:2306
http://bugs.digium.com/view.php?id=10 0x080d8dea in __ast_pbx_run (c=0x8929298)
at pbx.c:2408
http://bugs.digium.com/view.php?id=11 0x080d9ba7 in pbx_thread (data=0x8929298)
at pbx.c:2623
http://bugs.digium.com/view.php?id=12 0x0811af5a in dummy_start (data=0x89245c8)
at utils.c:861
http://bugs.digium.com/view.php?id=13 0x008103cc in start_thread () from
/lib/tls/libpthread.so.0
http://bugs.digium.com/view.php?id=14 0x006e91ae in clone () from
/lib/tls/libc.so.6 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
02-27-08 09:41  junky          Note Added: 0083029                          
======================================================================




More information about the asterisk-bugs mailing list