[asterisk-bugs] [JIRA] (ASTERISK-25784) lock-order-inversion (potential deadlock) on dialplan reload

Joshua Colp (JIRA) noreply at issues.asterisk.org
Fri Feb 12 08:34:33 CST 2016


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

Joshua Colp closed ASTERISK-25784.
----------------------------------

    Resolution: Duplicate

> lock-order-inversion (potential deadlock) on dialplan reload
> ------------------------------------------------------------
>
>                 Key: ASTERISK-25784
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25784
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>    Affects Versions: 13.7.2
>            Reporter: Badalian Vyacheslav
>
> {code}
> ==================
> WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=22302)
>   Cycle in lock order graph: M22 (0x7d940000c800) => M2263 (0x7f781b45ce60) => M22
>   Mutex M2263 acquired here while holding mutex M22 in main thread:
>     #0 pthread_mutex_lock <null> (libtsan.so.0+0x000000037816)
>     #1 __ast_pthread_mutex_lock /root/asterisk/main/lock.c:313 (asterisk+0x000000503d01)
>     #2 ast_rdlock_contexts /root/asterisk/main/pbx.c:8183 (asterisk+0x0000005a1e52)
>     #3 ast_hint_extension /root/asterisk/main/pbx.c:2887 (asterisk+0x0000005817bf)
>     #4 ast_get_hint /root/asterisk/main/pbx.c:3959 (asterisk+0x000000587bbf)
>     #5 manager_state_cb /root/asterisk/main/manager.c:6765 (asterisk+0x000000536dcf)
>     #6 execute_state_callback /root/asterisk/main/pbx.c:3165 (asterisk+0x000000582ec5)
>     #7 ast_add_hint /root/asterisk/main/pbx.c:3872 (asterisk+0x000000587653)
>     #8 add_priority /root/asterisk/main/pbx.c:6968 (asterisk+0x00000059aeea)
>     #9 ast_add_extension2_lockopt /root/asterisk/main/pbx.c:7143 (asterisk+0x00000059bd1f)
>     #10 ast_add_extension2 /root/asterisk/main/pbx.c:7004 (asterisk+0x00000059af66)
>     #11 pbx_load_config /root/asterisk/pbx/pbx_config.c:1841 (pbx_config.so+0x000000013f6e)
>     #12 pbx_load_module /root/asterisk/pbx/pbx_config.c:2045 (pbx_config.so+0x000000015648)
>     #13 handle_cli_dialplan_reload /root/asterisk/pbx/pbx_config.c:1565 (pbx_config.so+0x000000012372)
>     #14 ast_cli_command_full /root/asterisk/main/cli.c:2717 (asterisk+0x0000004058fa)
>     #15 consolehandler /root/asterisk/main/asterisk.c:2230 (asterisk+0x0000002c8cca)
>     #16 asterisk_daemon /root/asterisk/main/asterisk.c:4743 (asterisk+0x0000002d7411)
>     #17 main /root/asterisk/main/asterisk.c:4230 (asterisk+0x0000002d5cfd)
>   Mutex M22 previously acquired by the same thread here:
>     #0 pthread_mutex_lock <null> (libtsan.so.0+0x000000037816)
>     #1 __ast_pthread_mutex_lock /root/asterisk/main/lock.c:313 (asterisk+0x000000503d01)
>     #2 __ao2_lock /root/asterisk/main/astobj2.c:200 (asterisk+0x0000002d78be)
>     #3 ast_add_hint /root/asterisk/main/pbx.c:3841 (asterisk+0x0000005870db)
>     #4 add_priority /root/asterisk/main/pbx.c:6968 (asterisk+0x00000059aeea)
>     #5 ast_add_extension2_lockopt /root/asterisk/main/pbx.c:7143 (asterisk+0x00000059bd1f)
>     #6 ast_add_extension2 /root/asterisk/main/pbx.c:7004 (asterisk+0x00000059af66)
>     #7 pbx_load_config /root/asterisk/pbx/pbx_config.c:1841 (pbx_config.so+0x000000013f6e)
>     #8 pbx_load_module /root/asterisk/pbx/pbx_config.c:2045 (pbx_config.so+0x000000015648)
>     #9 handle_cli_dialplan_reload /root/asterisk/pbx/pbx_config.c:1565 (pbx_config.so+0x000000012372)
>     #10 ast_cli_command_full /root/asterisk/main/cli.c:2717 (asterisk+0x0000004058fa)
>     #11 consolehandler /root/asterisk/main/asterisk.c:2230 (asterisk+0x0000002c8cca)
>     #12 asterisk_daemon /root/asterisk/main/asterisk.c:4743 (asterisk+0x0000002d7411)
>     #13 main /root/asterisk/main/asterisk.c:4230 (asterisk+0x0000002d5cfd)
>   Mutex M22 acquired here while holding mutex M2263 in main thread:
>     #0 pthread_mutex_lock <null> (libtsan.so.0+0x000000037816)
>     #1 __ast_pthread_mutex_lock /root/asterisk/main/lock.c:313 (asterisk+0x000000503d01)
>     #2 __ao2_lock /root/asterisk/main/astobj2.c:200 (asterisk+0x0000002d78be)
>     #3 ast_merge_contexts_and_delete /root/asterisk/main/pbx.c:6211 (asterisk+0x0000005952fa)
>     #4 pbx_load_module /root/asterisk/pbx/pbx_config.c:2052 (pbx_config.so+0x0000000156aa)
>     #5 handle_cli_dialplan_reload /root/asterisk/pbx/pbx_config.c:1565 (pbx_config.so+0x000000012372)
>     #6 ast_cli_command_full /root/asterisk/main/cli.c:2717 (asterisk+0x0000004058fa)
>     #7 consolehandler /root/asterisk/main/asterisk.c:2230 (asterisk+0x0000002c8cca)
>     #8 asterisk_daemon /root/asterisk/main/asterisk.c:4743 (asterisk+0x0000002d7411)
>     #9 main /root/asterisk/main/asterisk.c:4230 (asterisk+0x0000002d5cfd)
>   Mutex M2263 previously acquired by the same thread here:
>     #0 pthread_mutex_lock <null> (libtsan.so.0+0x000000037816)
>     #1 __ast_pthread_mutex_lock /root/asterisk/main/lock.c:313 (asterisk+0x000000503d01)
>     #2 ast_wrlock_contexts /root/asterisk/main/pbx.c:8178 (asterisk+0x0000005a1e07)
>     #3 ast_merge_contexts_and_delete /root/asterisk/main/pbx.c:6194 (asterisk+0x000000595198)
>     #4 pbx_load_module /root/asterisk/pbx/pbx_config.c:2052 (pbx_config.so+0x0000000156aa)
>     #5 handle_cli_dialplan_reload /root/asterisk/pbx/pbx_config.c:1565 (pbx_config.so+0x000000012372)
>     #6 ast_cli_command_full /root/asterisk/main/cli.c:2717 (asterisk+0x0000004058fa)
>     #7 consolehandler /root/asterisk/main/asterisk.c:2230 (asterisk+0x0000002c8cca)
>     #8 asterisk_daemon /root/asterisk/main/asterisk.c:4743 (asterisk+0x0000002d7411)
>     #9 main /root/asterisk/main/asterisk.c:4230 (asterisk+0x0000002d5cfd)
> SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 __interceptor_pthread_mutex_lock
> ==================
> {code}



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



More information about the asterisk-bugs mailing list