[Home]

Summary:ASTERISK-14389: 1.4.24.1 deadlock in devicestate.c ast_device_state_engine_init
Reporter:David Brillert (aragon)Labels:
Date Opened:2009-06-27 08:03:10Date Closed:2009-07-24 09:14:54
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 06272009deadlock.txt
Description:Asterisk locked and I had to restart asterisk to recover

=======================================================================
=== Currently Held Locks ==============================================
=======================================================================
===
=== <file> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: 3085810592 (do_devstate_changes  started at [  363] devicestate.c ast_device_state_engine_init())
=== ---> Lock #0 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (2)
=== ---> Lock #1 (pbx.c): MUTEX 2034 ast_hint_state_changed &(&hints)->lock 0x8167c48 (1)
=== ---> Lock #2 (chan_sip.c): MUTEX 8843 cb_extensionstate &p->lock 0x8817610 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 9567136 (pri_dchannel         started at [10024] chan_dahdi.c start_pri())
=== ---> Lock #0 (chan_dahdi.c): MUTEX 9009 pri_dchannel &pri->lock 0x80ab3c (1)
=== ---> Lock #1 (chan_dahdi.c): MUTEX 9244 pri_dchannel &pri->pvts[chanpos]->lock 0xb7da7888 (1)
=== ---> Waiting for Lock #2 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 12938144 (pri_dchannel         started at [10024] chan_dahdi.c start_pri())
=== ---> Lock #0 (chan_dahdi.c): MUTEX 9009 pri_dchannel &pri->lock 0x80b874 (1)
=== ---> Lock #1 (chan_dahdi.c): MUTEX 9244 pri_dchannel &pri->pvts[chanpos]->lock 0xb7dbffa8 (1)
=== ---> Waiting for Lock #2 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 14908320 (pri_dchannel         started at [10024] chan_dahdi.c start_pri())
=== ---> Lock #0 (chan_dahdi.c): MUTEX 9009 pri_dchannel &pri->lock 0x80c5ac (1)
=== ---> Lock #1 (chan_dahdi.c): MUTEX 9244 pri_dchannel &pri->pvts[chanpos]->lock 0xb7dcb9e8 (1)
=== ---> Waiting for Lock #2 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 15199136 (pri_dchannel         started at [10024] chan_dahdi.c start_pri())
=== ---> Lock #0 (chan_dahdi.c): MUTEX 9009 pri_dchannel &pri->lock 0x80d2e4 (1)
=== ---> Lock #1 (chan_dahdi.c): MUTEX 9244 pri_dchannel &pri->pvts[chanpos]->lock 0xb7de6648 (1)
=== ---> Waiting for Lock #2 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 15494048 (pri_dchannel         started at [10024] chan_dahdi.c start_pri())
=== ---> Lock #0 (chan_dahdi.c): MUTEX 9009 pri_dchannel &pri->lock 0x80e01c (1)
=== ---> Lock #1 (chan_dahdi.c): MUTEX 9244 pri_dchannel &pri->pvts[chanpos]->lock 0xb7b025c0 (1)
=== ---> Waiting for Lock #2 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 119389088 (do_monitor           started at [16693] chan_sip.c restart_monitor())
=== ---> Lock #0 (chan_sip.c): MUTEX 16362 sipsock_read &netlock 0x77eb3c0 (1)
=== ---> Lock #1 (chan_sip.c): MUTEX 4726 find_call &p->lock 0x8866bc0 (1)
=== ---> Waiting for Lock #2 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 73694112 (pbx_thread           started at [ 2663] pbx.c ast_pbx_start())
=== ---> Waiting for Lock #0 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 75180960 (pbx_thread           started at [ 2663] pbx.c ast_pbx_start())
=== ---> Waiting for Lock #0 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 116620192 (pbx_thread           started at [ 2663] pbx.c ast_pbx_start())
=== ---> Waiting for Lock #0 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 31775648 (pbx_thread           started at [ 2663] pbx.c ast_pbx_start())
=== ---> Waiting for Lock #0 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 30546848 (pbx_thread           started at [ 2663] pbx.c ast_pbx_start())
=== ---> Waiting for Lock #0 (pbx.c): WRLOCK 6146 ast_lock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: 87223200 (session_do           started at [ 2475] manager.c accept_thread())
=== ---> Lock #0 (manager.c): RDLOCK 2235 process_message &actionlock 0x8165760 (1)
=== ---> Waiting for Lock #1 (pbx.c): RDLOCK 6151 ast_rdlock_contexts &conlock 0x8167a40 (1)
=== -------------------------------------------------------------------


****** ADDITIONAL INFORMATION ******

I could not tell exactly where * was locked so I set category to channels/general
Looks like it locked in device state change
Attaching gdb asterisk --pid
Comments:By: David Brillert (aragon) 2009-07-23 14:38:05

I cannot reproduce this in SVN r206273
Please close ticket