[asterisk-bugs] [JIRA] (ASTERISK-25395) Crash when establishing subscription with pjsip
Joshua Colp (JIRA)
noreply at issues.asterisk.org
Fri Mar 3 06:29:10 CST 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-25395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joshua Colp closed ASTERISK-25395.
----------------------------------
Resolution: Fixed
> Crash when establishing subscription with pjsip
> -----------------------------------------------
>
> Key: ASTERISK-25395
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-25395
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_pjsip
> Affects Versions: 13.5.0
> Reporter: Mark Michelson
> Assignee: Mark Michelson
>
> Sometimes when establishing a subscription on a busy system, a crash can be seen to occur. This is due to a race condition that occurs when an initial NOTIFY and a state change NOTIFY compete over the same memory.
> A sample backtrace from when this occurs looks like:
> {noformat}
> #0 0x009de424 in __kernel_vsyscall ()
> No symbol table info available.
> #1 0x0064b871 in raise () from /lib/libc.so.6
> No symbol table info available.
> #2 0x0064d14a in abort () from /lib/libc.so.6
> No symbol table info available.
> #3 0x0068b735 in __libc_message () from /lib/libc.so.6
> No symbol table info available.
> #4 0x00691b91 in malloc_printerr () from /lib/libc.so.6
> No symbol table info available.
> #5 0x006942f8 in _int_free () from /lib/libc.so.6
> No symbol table info available.
> #6 0x00696da9 in _int_realloc () from /lib/libc.so.6
> No symbol table info available.
> #7 0x00696ffc in realloc () from /lib/libc.so.6
> No symbol table info available.
> #8 0x08206179 in _ast_realloc (p=0x1aec0218, len=268, file=0x82fce30 "/home/fourloop/6_0_prem/base/asterisk/asterisk/src/include/asterisk/strings.h", lineno=814, func=0x82fd4fb "ast_str_make_space") at /home/fourloop/6_0_prem/base/asterisk/asterisk/src/include/asterisk/utils.h:596
> newp = 0xef34c5
> __PRETTY_FUNCTION__ = "_ast_realloc"
> #9 0x08206708 in ast_str_make_space (buf=0x1b58b6b4, new_len=256) at /home/fourloop/6_0_prem/base/asterisk/asterisk/src/include/asterisk/strings.h:792
> old_buf = 0x1aec0218
> __PRETTY_FUNCTION__ = "ast_str_make_space"
> #10 0x074feea4 in pidf_to_string (body=0xbfdc7a4, str=0x1b58b6b4) at res_pjsip_pidf_body_generator.c:94
> pres = 0xbfdc7a4
> growths = 0
> size = 39
> __PRETTY_FUNCTION__ = "pidf_to_string"
> #11 0x04c1a2bb in ast_sip_pubsub_generate_body_content (type=0x74ff0d9 "application", subtype=0x74ff0e5 "pidf+xml", data=0xb6f3f0f4, str=0x1b58b6b4) at res_pjsip_pubsub.c:3142
> supplement = 0x0
> generator = 0x7500660
> res = 0
> body = 0xbfdc7a4
> __PRETTY_FUNCTION__ = "ast_sip_pubsub_generate_body_content"
> #12 0x04c16d4c in ast_sip_subscription_notify (sub=0x1b58b698, notify_data=0xb6f3f0f4, terminate=0) at res_pjsip_pubsub.c:2203
> res = 79785520
> #13 0x01027651 in notify_task (obj=0x1ad14d2c) at res_pjsip_exten_state.c:259
> task_data = 0x1ad14d2c
> data = {body_type = 0x102800e "ast_sip_exten_state_data", body_data = 0x1ad14d2c}
> #14 0x081f5574 in ast_taskprocessor_execute (tps=0x1a154644) at taskprocessor.c:769
> local = {local_data = 0x82f99eb, data = 0x2fc}
> t = 0x1680a028
> size = 137338661
> __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"
> #15 0x081fd5f5 in execute_tasks (data=0x1a154644) at threadpool.c:1157
> tps = 0x1a154644
> #16 0x081f5574 in ast_taskprocessor_execute (tps=0x889b79c) at taskprocessor.c:769
> local = {local_data = 0x889cc28, data = 0x889cc28}
> t = 0x174b38b0
> size = 0
> __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"
> #17 0x081fbee1 in threadpool_execute (pool=0x889cc5c) at threadpool.c:351
> __PRETTY_FUNCTION__ = "threadpool_execute"
> #18 0x081fd318 in worker_active (worker=0xb50fe0fc) at threadpool.c:1075
> alive = 0
> #19 0x081fd0d8 in worker_start (arg=0xb50fe0fc) at threadpool.c:995
> worker = 0xb50fe0fc
> __PRETTY_FUNCTION__ = "worker_start"
> #20 0x08207714 in dummy_start (data=0xb759fa88) at utils.c:1232
> __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {3649524, 0, 4001536, -1225526584, -1404079342, 189168239}, __mask_was_saved = 0}}, __pad = {0xb6f3f394, 0x0, 0xffffffff, 0x1adaf900}}
> __cancel_routine = 0x808c82d <ast_unregister_thread>
> __cancel_arg = 0xb6f3fb70
> not_first_call = 0
> ret = 0x76309e
> a = {start_routine = 0x81fd04e <worker_start>, data = 0xb50fe0fc, name = 0xb7539820 "worker_start started at [ 1049] threadpool.c worker_thread_start()"}
> #21 0x00369b39 in start_thread () from /lib/libpthread.so.0
> No symbol table info available.
> #22 0x00703c2e in clone () from /lib/libc.so.6
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list