Summary: | ASTERISK-13783: Using | symbol instead of ','s in call file causes segfault when using RetryDial | ||
Reporter: | Alexander Fisher (ajfisher) | Labels: | |
Date Opened: | 2009-03-19 09:25:17 | Date Closed: | 2011-06-07 14:00:25 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_dial |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 20090322__bug14704.diff.txt | |
Description: | The following call file causes asterisk 1.6.0.6 to segfault. NB. $NUMBER isn't really a variable. I've just sanitized. Platform is 32bit Centos 5.2, but I think that's irrelevant. Channel: SIP/provider/$NUMBER RetryTime: 5 MaxRetries: 5 Context: default Application: RetryDial Data: please-wait|5|5|SIP/provider/$NUMBER|60 Account: testAccount Using commas works as expected, but a segfault is an over reaction! :) ****** ADDITIONAL INFORMATION ****** Program terminated with signal 11, Segmentation fault. #0 0x00b3912b in ____strtol_l_internal () from /lib/libc.so.6 (gdb) bt #0 0x00b3912b in ____strtol_l_internal () from /lib/libc.so.6 #1 0x00b38e8f in __strtol_internal () from /lib/libc.so.6 #2 0x00a5edd7 in retrydial_exec (chan=0x8acb2a0, data=0x8ad0af0) at /usr/include/stdlib.h:336 #3 0x080e6ea4 in pbx_exec (c=0x8acb2a0, app=0xb7c17fb8, data=0x8ad0af0) at pbx.c:942 #4 0x080ed41c in ast_pbx_run_app (data=0x8ad09f0) at pbx.c:7218 ASTERISK-1 0x080ed879 in ast_pbx_outgoing_app (type=0x8accc50 "SIP", format=64, data=0x8accd50, timeout=45000, app=0x8acce50 "RetryDial", appdata=0x8accf50 "please-wait|5|5|SIP/provider/$NUMBER|60", reason=0xb782b348, sync=2, cid_num=0x8acd0f4 "", cid_name=0x8acd1f4 "", vars=0x0, account=0x8acd2f4 "testAccount", locked_channel=0x0) at pbx.c:7263 ASTERISK-2 0x0074f458 in attempt_thread (data=0x8accb38) at pbx_spool.c:341 ASTERISK-3 0x081319cb in dummy_start (data=0x8acdfa0) at utils.c:861 ASTERISK-4 0x00c5645b in start_thread () from /lib/libpthread.so.0 ASTERISK-5 0x00bdce5e in clone () from /lib/libc.so.6 (gdb) (gdb) bt full #0 0x00b3912b in ____strtol_l_internal () from /lib/libc.so.6 No symbol table info available. #1 0x00b38e8f in __strtol_internal () from /lib/libc.so.6 No symbol table info available. #2 0x00a5edd7 in retrydial_exec (chan=0x8acb2a0, data=0x8ad0af0) at /usr/include/stdlib.h:336 context = <value optimized out> sleep = <value optimized out> loops = <value optimized out> res = <value optimized out> peerflags = {flags = 0} args = {argc = 1, argv = 0xb782b1fc, announce = 0xb782b190 "please-wait|5|5|SIP/provider/$NUMBER|60", sleep = 0x0, retries = 0x0, dialdata = 0x0} __PRETTY_FUNCTION__ = "retrydial_exec" #3 0x080e6ea4 in pbx_exec (c=0x8acb2a0, app=0xb7c17fb8, data=0x8ad0af0) at pbx.c:942 res = <value optimized out> u = (struct ast_module_user *) 0x8acbd98 saved_c_appl = 0x0 saved_c_data = 0x0 #4 0x080ed41c in ast_pbx_run_app (data=0x8ad09f0) at pbx.c:7218 app = (struct ast_app *) 0xb7c17fb8 __PRETTY_FUNCTION__ = "ast_pbx_run_app" ASTERISK-1 0x080ed879 in ast_pbx_outgoing_app (type=0x8accc50 "SIP", format=64, data=0x8accd50, timeout=45000, app=0x8acce50 "RetryDial", appdata=0x8accf50 "please-wait|5|5|SIP/provider/$NUMBER|60", reason=0xb782b348, sync=2, cid_num=0x8acd0f4 "", cid_name=0x8acd1f4 "", vars=0x0, account=0x8acd2f4 "testAccount", locked_channel=0x0) at pbx.c:7263 ---Type <return> to continue, or q <return> to quit--- chan = (struct ast_channel *) 0x8acb2a0 res = <value optimized out> cdr_res = <value optimized out> oh = {context = 0x0, exten = 0x0, priority = 0, cid_num = 0x0, cid_name = 0x0, account = 0x8acd2f4 "testAccount", vars = 0x0, parent_channel = 0x0} __PRETTY_FUNCTION__ = "ast_pbx_outgoing_app" __func__ = "ast_pbx_outgoing_app" ASTERISK-2 0x0074f458 in attempt_thread (data=0x8accb38) at pbx_spool.c:341 o = <value optimized out> res = <value optimized out> reason = <value optimized out> __PRETTY_FUNCTION__ = "attempt_thread" ASTERISK-3 0x081319cb in dummy_start (data=0x8acdfa0) at utils.c:861 __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {145467984, 0, -1216169072, -1216171080, -1910425315, 833655753}, __mask_was_saved = 0}}, __pad = {0xb782b470, 0x0, 0xc64ff4, 0xc4aff4}} __cancel_arg = (void *) 0xb782bb90 not_first_call = <value optimized out> ret = <value optimized out> ASTERISK-4 0x00c5645b in start_thread () from /lib/libpthread.so.0 No symbol table info available. ASTERISK-5 0x00bdce5e in clone () from /lib/libc.so.6 No symbol table info available. | ||
Comments: | By: Tilghman Lesher (tilghman) 2009-03-22 02:52:15 Patch uploaded and ready for testing. In the future, please enable DONT_OPTIMIZE when reporting with a backtrace, as it makes figuring out where the problem actually lies much easier. By: Tilghman Lesher (tilghman) 2009-03-26 17:41:29 Hello? Testing? Bueller? By: Tilghman Lesher (tilghman) 2009-04-03 13:33:42 No response from reporter. |