[asterisk-bugs] [JIRA] (ASTERISK-25640) pbx: Deadlock on features reload and state change hint.

Kevin Harwell (JIRA) noreply at issues.asterisk.org
Mon Jan 11 17:40:33 CST 2016


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

Kevin Harwell closed ASTERISK-25640.
------------------------------------

    Resolution: Fixed

> pbx: Deadlock on features reload and state change hint.
> -------------------------------------------------------
>
>                 Key: ASTERISK-25640
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25640
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Addons/General
>    Affects Versions: 11.20.0
>         Environment: Ubuntu 12.04 
>            Reporter: Krzysztof Trempala
>            Assignee: Kevin Harwell
>            Severity: Blocker
>
> Deadlock on features reload and state change hint. Lock on &context_merge_lock in function ast_change_hint() add in ASTERISK-25394
> Logs from core:
> {code}
> Thread 58 (Thread 0xb185fb40 (LWP 23499)):
> #0 0xffffe424 in ?? ()
> #1 0x00005bcb in ?? ()
> #2 0x00000002 in ?? ()
> #3 0x00000080 in ?? ()
> #4 0xb733c5a2 in __lll_lock_wait () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #5 0xb7337ebb in _L_lock_764 () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #6 0xb7337d75 in pthread_mutex_lock () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #7 0xb76cc6d4 in pthread_mutex_lock () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libc.so.6
> #8 0x0813c183 in __ast_pthread_mutex_lock (filename=0x8211434 "pbx.c", lineno=6026, func=0x8217a86 "ast_change_hint", mutex_name=0x82132cb "&context_merge_lock", t=0x825bb20) at lock.c:313
> ==> Wait for lock &context_merge_lock (Lock added in https://issues.asterisk.org/jira/browse/ASTERISK-25394 [^])
> #9 0x0816eafe in ast_change_hint (oe=0xb3649830, ne=0xb287ccc0) at pbx.c:6026
> #10 0x0817bf65 in add_priority (con=0xb32924c0, tmp=0xb287ccc0, el=0xb706e928, e=0xb3649830, replace=1) at pbx.c:10192
> #11 0x0817c86e in ast_add_extension2_lockopt (con=0xb32924c0, replace=1, extension=0xb185e2c2 "708", priority=-1, label=0x0, callerid=0x0, application=0xb185e272 "park:708 at parkedcalls_700", data=0x0, datad=0,
>     registrar=0x820048a "features", lock_context=1) at pbx.c:10390
> #12 0x0817c116 in ast_add_extension2 (con=0xb32924c0, replace=1, extension=0xb185e2c2 "708", priority=-1, label=0x0, callerid=0x0, application=0xb185e272 "park:708 at parkedcalls_700", data=0x0, datad=0, registrar=0x820048a "features") at pbx.c:10261
> ==> Lock &conlock in function find_context_locked() at pbx.c:9907
> #13 0x0817b076 in ast_add_extension (context=0x82e30fc "parkedcalls_700", replace=1, extension=0xb185e2c2 "708", priority=-1, label=0x0, callerid=0x0, application=0xb185e272 "park:708 at parkedcalls_700", data=0x0, datad=0,
>     registrar=0x820048a "features") at pbx.c:9909
> #14 0x08114db6 in park_add_hints (context=0x82e30fc "parkedcalls_700", start=701, stop=709) at features.c:5850
> #15 0x08115800 in parkinglot_activate (parkinglot=0x82e300c) at features.c:6042
> #16 0x08117dcb in parkinglot_activate_cb (obj=0x82e300c, arg=0x0, flags=2) at features.c:7064
> #17 0x0808e44b in internal_ao2_callback (c=0x82e279c, flags=OBJ_NODATA, cb_fn=0x8117d99, arg=0x0, data=0x0, type=DEFAULT, tag=0x0, file=0x0, line=0, func=0x0) at astobj2.c:1109
> #18 0x0808e844 in __ao2_callback (c=0x82e279c, flags=OBJ_NODATA, cb_fn=0x8117d99 <parkinglot_activate_cb>, arg=0x0) at astobj2.c:1214
> #19 0x08118195 in load_config (reload=1) at features.c:7147
> #20 0x0811886e in ast_features_reload () at features.c:7265
> #21 0x081188dc in handle_features_reload (e=0x8259088, cmd=-4, a=0xb185e674) at features.c:7283
> #22 0x080dd78a in ast_cli_command_full (uid=-1, gid=-1, fd=189, s=0xb2ab4a21 "features reload") at cli.c:2693
> #23 0x0814bcd4 in action_command (s=0xb185f130, m=0xb185ea20) at manager.c:4047
> #24 0x08151416 in process_message (s=0xb185f130, m=0xb185ea20) at manager.c:5283
> #25 0x08151e04 in do_message (s=0xb185f130) at manager.c:5496
> #26 0x08152398 in session_do (data=0xb26fc684) at manager.c:5617
> #27 0x081bf4a6 in handle_tcptls_connection (data=0xb26fc684) at tcptls.c:694
> #28 0x081cef50 in dummy_start (data=0xb36081c8) at utils.c:1320
> #29 0xb7335d4c in start_thread () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #30 0xb76bebae in clone () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libc.so.6
> {code}
> {code}
> Thread 11 (Thread 0xb6c97b40 (LWP 2864)):
> #0 0xffffe424 in ?? ()
> #1 0x00000b30 in ?? ()
> #2 0x00000002 in ?? ()
> #3 0x00000080 in ?? ()
> #4 0xb733c5a2 in __lll_lock_wait () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #5 0xb7337ebb in _L_lock_764 () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #6 0xb7337d75 in pthread_mutex_lock () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #7 0xb76cc6d4 in pthread_mutex_lock () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libc.so.6
> #8 0x0813c183 in __ast_pthread_mutex_lock (filename=0x8211434 "pbx.c", lineno=12343, func=0x82172de "ast_rdlock_contexts", mutex_name=0x821718b "&conlock", t=0x825bb00) at lock.c:313
> ==> Wait for lock &conlock at pbx.c:12343
> #9 0x08183393 in ast_rdlock_contexts () at pbx.c:12343
> #10 0x0816bf0a in ast_hint_extension (c=0x0, context=0xb6c9720c "vsx-hints", exten=0xb6c9725c "3007") at pbx.c:5033
> #11 0x0816f28c in ast_get_hint (hint=0xb6c96eac "@\360\064\266\334nÉśgpÉś\334nÉś", hintsize=512, name=0x0, namesize=0, c=0x0, context=0xb6c9720c "vsx-hints", exten=0xb6c9725c "3007") at pbx.c:6176
> #12 0x081530fa in manager_state_cb (context=0xb6c9720c "vsx-hints", exten=0xb6c9725c "3007", info=0xb6c970f4, data=0x0) at manager.c:5861
> #13 0x0816c9a0 in execute_state_callback (cb=0x815307e <manager_state_cb>, context=0xb6c9720c "vsx-hints", exten=0xb6c9725c "3007", data=0x0, reason=AST_HINT_UPDATE_DEVICE, hint=0xb247215c, device_state_info=0x0) at pbx.c:5308
> ===> Lock &context_merge_lock at pbx.c:5540
> #14 0x0816d98d in handle_statechange (datap=0xb6f0c598) at pbx.c:5608
> #15 0x081bd062 in tps_processing_function (data=0x82dc22c) at taskprocessor.c:330
> #16 0x081cef50 in dummy_start (data=0x82dc2c0) at utils.c:1320
> #17 0xb7335d4c in start_thread () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libpthread.so.0
> #18 0xb76bebae in clone () from /home/ncp/proj/ncpbx.1.03.1040.6f2ae8b/asterisk/main/../../man/e_pc/target/lib/libc.so.6
> {code}



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



More information about the asterisk-bugs mailing list