[asterisk-bugs] [JIRA] (ASTERISK-24359) Deadlock in chan_sip.c when monitoring

Kevin Scott Adams (JIRA) noreply at issues.asterisk.org
Fri Sep 26 07:31:30 CDT 2014


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Scott Adams updated ASTERISK-24359:
-----------------------------------------

    Description: 
Been getting some deadlocks recently and the only thing I can point to is monitoring a channel.  Seems to be a weekly occurrence but no feed back from the users what they were doing at the time.

=======================================================================
=== 1.8.29.0
=== Currently Held Locks
=======================================================================
===
=== <pending> <lock#> (<file>): <lock type> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: 0x40d9f940 (do_monitor           started at [26856] chan_sip.c restart_monitor())
=== ---> Lock #0 (chan_sip.c): MUTEX 26311 handle_request_do &netlock 0x2aaac51813a0 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
        /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f57e1d]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58f23]
        /usr/sbin/asterisk(ast_io_wait+0x83) [0x4cc0a3]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f3391b]
        /usr/sbin/asterisk [0x54ad52]
        /lib64/libpthread.so.0 [0x3dfb40673d]
        /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
=== ---> Waiting for Lock #1 (chan_sip.c): MUTEX 8507 sip_pvt_lock_full chan 0x2aaaac4801a0 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
        /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4ede411]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58184]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58f23]
        /usr/sbin/asterisk(ast_io_wait+0x83) [0x4cc0a3]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f3391b]
        /usr/sbin/asterisk [0x54ad52]
        /lib64/libpthread.so.0 [0x3dfb40673d]
        /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
=== --- ---> Locked Here: channel.c line 3853 (__ast_read)
=== -------------------------------------------------------------------
===
=== Thread ID: 0x419f8940 (pbx_thread           started at [ 5851] pbx.c ast_pbx_start())
=== ---> Lock #0 (channel.c): MUTEX 3853 __ast_read chan 0x2aaaac4801a0 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
        /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
        /usr/sbin/asterisk [0x476e52]
        /usr/sbin/asterisk(ast_safe_sleep_conditional+0x211) [0x47cce1]
        /usr/sbin/asterisk [0x4f46ee]
        /usr/sbin/asterisk [0x50bb98]
        /usr/sbin/asterisk [0x50dceb]
        /usr/sbin/asterisk [0x54ad52]
        /lib64/libpthread.so.0 [0x3dfb40673d]
        /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
=== -------------------------------------------------------------------
===
=======================================================================


This locks the entire system asterisk system.

Thanks,

Kev

  was:
Been getting some deadlocks recently and the only thing I can point to is monitoring a channel.  Seems to be a weekly occurrence but no feed back from the users what they were doing at the time.

=======================================================================
=== 1.8.29.0
=== Currently Held Locks
=======================================================================
===
=== <pending> <lock#> (<file>): <lock type> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: 0x40d9f940 (do_monitor           started at [26856] chan_sip.c restart_monitor())
=== ---> Lock #0 (chan_sip.c): MUTEX 26311 handle_request_do &netlock 0x2aaac51813a0 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
        /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f57e1d]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58f23]
        /usr/sbin/asterisk(ast_io_wait+0x83) [0x4cc0a3]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f3391b]
        /usr/sbin/asterisk [0x54ad52]
        /lib64/libpthread.so.0 [0x3dfb40673d]
        /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
=== ---> Waiting for Lock #1 (chan_sip.c): MUTEX 8507 sip_pvt_lock_full chan 0x2aaaac4801a0 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
        /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4ede411]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58184]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58f23]
        /usr/sbin/asterisk(ast_io_wait+0x83) [0x4cc0a3]
        /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f3391b]
        /usr/sbin/asterisk [0x54ad52]
        /lib64/libpthread.so.0 [0x3dfb40673d]
        /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
=== --- ---> Locked Here: channel.c line 3853 (__ast_read)
=== -------------------------------------------------------------------
===
=== Thread ID: 0x419f8940 (pbx_thread           started at [ 5851] pbx.c ast_pbx_start())
=== ---> Lock #0 (channel.c): MUTEX 3853 __ast_read chan 0x2aaaac4801a0 (1)
        /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
        /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
        /usr/sbin/asterisk [0x476e52]
        /usr/sbin/asterisk(ast_safe_sleep_conditional+0x211) [0x47cce1]
        /usr/sbin/asterisk [0x4f46ee]
        /usr/sbin/asterisk [0x50bb98]
        /usr/sbin/asterisk [0x50dceb]
        /usr/sbin/asterisk [0x54ad52]
        /lib64/libpthread.so.0 [0x3dfb40673d]
        /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
=== -------------------------------------------------------------------
===
=======================================================================


Thanks,

Kev


> Deadlock in chan_sip.c when monitoring
> --------------------------------------
>
>                 Key: ASTERISK-24359
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24359
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General
>    Affects Versions: 1.8.29.0
>         Environment: CentOS 5 x86_64 kernel 2.6.18-274.18.1
>            Reporter: Kevin Scott Adams
>
> Been getting some deadlocks recently and the only thing I can point to is monitoring a channel.  Seems to be a weekly occurrence but no feed back from the users what they were doing at the time.
> =======================================================================
> === 1.8.29.0
> === Currently Held Locks
> =======================================================================
> ===
> === <pending> <lock#> (<file>): <lock type> <line num> <function> <lock name> <lock addr> (times locked)
> ===
> === Thread ID: 0x40d9f940 (do_monitor           started at [26856] chan_sip.c restart_monitor())
> === ---> Lock #0 (chan_sip.c): MUTEX 26311 handle_request_do &netlock 0x2aaac51813a0 (1)
>         /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
>         /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f57e1d]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58f23]
>         /usr/sbin/asterisk(ast_io_wait+0x83) [0x4cc0a3]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f3391b]
>         /usr/sbin/asterisk [0x54ad52]
>         /lib64/libpthread.so.0 [0x3dfb40673d]
>         /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
> === ---> Waiting for Lock #1 (chan_sip.c): MUTEX 8507 sip_pvt_lock_full chan 0x2aaaac4801a0 (1)
>         /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
>         /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4ede411]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58184]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f58f23]
>         /usr/sbin/asterisk(ast_io_wait+0x83) [0x4cc0a3]
>         /usr/lib/asterisk/modules/chan_sip.so [0x2aaac4f3391b]
>         /usr/sbin/asterisk [0x54ad52]
>         /lib64/libpthread.so.0 [0x3dfb40673d]
>         /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
> === --- ---> Locked Here: channel.c line 3853 (__ast_read)
> === -------------------------------------------------------------------
> ===
> === Thread ID: 0x419f8940 (pbx_thread           started at [ 5851] pbx.c ast_pbx_start())
> === ---> Lock #0 (channel.c): MUTEX 3853 __ast_read chan 0x2aaaac4801a0 (1)
>         /usr/sbin/asterisk(ast_bt_get_addresses+0xe) [0x4d6d7e]
>         /usr/sbin/asterisk(__ast_pthread_mutex_lock+0x89) [0x4d12a9]
>         /usr/sbin/asterisk [0x476e52]
>         /usr/sbin/asterisk(ast_safe_sleep_conditional+0x211) [0x47cce1]
>         /usr/sbin/asterisk [0x4f46ee]
>         /usr/sbin/asterisk [0x50bb98]
>         /usr/sbin/asterisk [0x50dceb]
>         /usr/sbin/asterisk [0x54ad52]
>         /lib64/libpthread.so.0 [0x3dfb40673d]
>         /lib64/libc.so.6(clone+0x6d) [0x3dfacd44bd]
> === -------------------------------------------------------------------
> ===
> =======================================================================
> This locks the entire system asterisk system.
> Thanks,
> Kev



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list