Summary: | ASTERISK-14105: Segfault on Transfer | ||
Reporter: | Barry Flanagan (barryf) | Labels: | |
Date Opened: | 2009-05-11 07:40:19 | Date Closed: | 2009-05-20 12:35:12 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Core/PBX |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | The following is the backtrace. Occurred whith a chan_unistim device using the ATXFR on the phone, rather than the asterisk feature code. #0 0x080c205d in ast_bridge_call (chan=0xaff2eb40, peer=0x88ece88, config=0xae96420c) at features.c:2292 2292 chan_cdr->answer = peer_cdr->answer; (gdb) bt full #0 0x080c205d in ast_bridge_call (chan=0xaff2eb40, peer=0x88ece88, config=0xae96420c) at features.c:2292 f = (struct ast_frame *) 0x0 who = (struct ast_channel *) 0x0 chan_featurecode = '\0' <repeats 11 times> peer_featurecode = '\0' <repeats 11 times> orig_channame = "Local/3509@from-internal-fb56;2\000\001\000\000\000H@\226??\235??\000\000\000\000?Oq?X@\226?\017?\b\b?????Oq?\210@\226??}\t\b\210?\216\b" orig_peername = "SIP/Imagine4-0890e850\000\226?????\000\000\000\200??????\226??\235???I??Oq?\b@\226?\0370\017\b????\000?\002?\000\000\000\000?D\020\b,`?" res = 0 diff = 0 hasfeatures = 0 hadfeatures = 0 autoloopflag = 0 aoh = (struct ast_option_header *) 0xb7dab951 backup_config = {features_caller = {flags = 0}, features_callee = {flags = 0}, start_time = {tv_sec = 0, tv_usec = 0}, nexteventts = {tv_sec = 0, tv_usec = 0}, feature_timer = 0, timelimit = 0, play_warning = 0, warning_freq = 0, warning_sound = 0x0, end_sound = 0x0, start_sound = 0x0, firstpass = 0, flags = 0, end_bridge_callback = 0, end_bridge_callback_data = 0x0, end_bridge_callback_data_fixup = 0} bridge_cdr = (struct ast_cdr *) 0x8985a38 orig_peer_cdr = (struct ast_cdr *) 0x894be00 chan_cdr = (struct ast_cdr *) 0x0 peer_cdr = (struct ast_cdr *) 0x894be00 new_chan_cdr = (struct ast_cdr *) 0x0 new_peer_cdr = (struct ast_cdr *) 0x0 __PRETTY_FUNCTION__ = "ast_bridge_call" #1 0xb670e622 in dial_exec_full (chan=0xaff2eb40, data=0xae966f08, peerflags=0xae964bec, continue_exec=0x0) at app_dial.c:1937 number = 0x85f82a1 "Imagine4/1800938888" res = 0 rest = 0x0 cur = 0x0 outgoing = (struct chanlist *) 0x0 peer = (struct ast_channel *) 0x88ece88 to = 296163 num = {chan = 0xaff2eb40, busy = 0, congestion = 0, nochan = 0} cause = 0 numsubst = "Imagine4/1800938888", '\0' <repeats 45 times>, "Q??", '\0' <repeats 20 times>, "FM\000\b\020K\226\005\000\000\000\000\001", '\0' <repeats 19 times>, "\020?\016?X@\017?0?\016?\020\000\000\000\000\000\000\000\022\000\000\000\024K\226??\206j\b\200K\226?\000\000\000\000\n\000\000\000\000\000\000\000\200C??\220~??(K\226??N\226??E\017\b\2006\017?$\000\000\000XK\226?FM\020\b\200K\226?)\000\000\000\000\000\000\000?K\226??I?\000\000\000\000:\000\000\000????@Q??\023\000\000\000\000\000\000\000???,`"... cidname = '\0' <repeats 79 times> config = {features_caller = {flags = 0}, features_callee = {flags = 0}, start_time = {tv_sec = 1242039676, tv_usec = 359937}, nexteventts = { tv_sec = 0, tv_usec = 0}, feature_timer = 0, timelimit = 0, play_warning = 0, warning_freq = 0, warning_sound = 0x0, end_sound = 0x0, start_sound = 0x0, firstpass = 1, flags = 0, end_bridge_callback = 0xb6709f05 <end_bridge_callback>, end_bridge_callback_data = 0xaff2eb40, end_bridge_callback_data_fixup = 0xb670a093 <end_bridge_callback_data_fixup>} calldurationlimit = 0 dtmfcalled = 0x0 dtmfcalling = 0x0 pa = {sentringing = 1, privdb_val = 0, privcid = '\0' <repeats 255 times>, privintro = '\0' <repeats 1023 times>, status = "ANSWER\000R\000GS", '\0' <repeats 244 times>} sentringing = 0 moh = 0 outbound_group = 0x886c61f "OUT_6" ---Type <return> to continue, or q <return> to quit--- result = 0 parse = 0xae9640f0 "SIP" opermode = 0 args = {argc = 3, argv = 0xae964280, peers = 0xae9640f0 "SIP", timeout = 0xae964108 "300", options = 0xae96410c "", url = 0x0} opts = {flags = 0} opt_args = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} datastore = (struct ast_datastore *) 0x8824b78 fulldial = 0 num_dialed = 1 __PRETTY_FUNCTION__ = "dial_exec_full" #2 0xb670eca8 in dial_exec (chan=0xaff2eb40, data=0xae966f08) at app_dial.c:1993 peerflags = {flags = 4294967296} #3 0x080ee5ae in pbx_exec (c=0xaff2eb40, app=0xb6e0c9a0, data=0xae966f08) at pbx.c:948 res = -1258098688 u = (struct ast_module_user *) 0x86a86e8 saved_c_appl = 0xb70c278c "Macro" saved_c_data = 0xae96c068 "dialout-trunk,6,1800938888,," __PRETTY_FUNCTION__ = "pbx_exec" #4 0x080f54f6 in pbx_extension_helper (c=0xaff2eb40, con=0x0, context=0xaff2ecc8 "macro-dialout-trunk", exten=0xaff2ed18 "s", priority=19, label=0x0, callerid=0x85da5e8 "@(\203\b`q\205\b\020", action=E_SPAWN, found=0xae969218, combined_find_spawn=1) at pbx.c:3117 e = (struct ast_exten *) 0xb70f4058 app = (struct ast_app *) 0xb6e0c9a0 res = 0 q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status = 5, swo = 0x0, data = 0x0, foundcontext = 0xaff2ecc8 "macro-dialout-trunk"} passdata = "SIP/Imagine4/1800938888,300,\000tmusic^))\000??y?-~\226??jj?%\000\000\000R~\226?\006\000\000\000GT-Outbound,1242039640.2890,Agent/6042,COMPLETEAGENT,21|11|\000????\224v\226?\024v\226??u\226?????5\003\000\000Cbi????????\000\000\000\000mbi??u\226????\000v\226?mbi?\024u\226?\000\000\000\000\000\000\000\000Tv\226?"... matching_action = 0 __PRETTY_FUNCTION__ = "pbx_extension_helper" ASTERISK-1 0x080f697a in ast_spawn_extension (c=0xaff2eb40, context=0xaff2ecc8 "macro-dialout-trunk", exten=0xaff2ed18 "s", priority=19, callerid=0x85da5e8 "@(\203\b`q\205\b\020", found=0xae969218, combined_find_spawn=1) at pbx.c:3620 No locals. ASTERISK-2 0xb71a370e in _macro_exec (chan=0xaff2eb40, data=0xae96c068, exclusive=0) at app_macro.c:329 c = (struct ast_context *) 0xb70edf30 e = (struct ast_exten *) 0xb70f4058 foundx = 1 s = 0x8432744 "0" tmp = 0xae969020 "dialout-trunk" cur = 0x0 rest = 0x0 macro = 0xae969020 "dialout-trunk" fullmacro = "macro-dialout-trunk\000\200~??\004\000\000\000?\234\226??\235??(k\032\b\220~??\b\235\226?\231?\r\b(k\032\b\004\000\000\000(\235\226???\r\b(k\032\b\220~??(\235\226?" varname = "ARG4\000?\226??;N\b\020", '\0' <repeats 23 times>, "?I?\000\000\000\000t??????@Q??\004\000\000\000\000\000\000\000???,`?\b\000\000\000KL\000" runningapp = "Dial\000f\000\000\000\000\000\000??T\b\000\000\000\000\030<N\b??T\b\020\000\000\000\000\000\000\000@???\000\000\000\000H\236V\b \234\226?", '\0' <repeats 24 times>, "P?\226?" runningdata = "${OUT_${DIAL_TRUNK}}/${OUTNUM},300,${DIAL_TRUNK_OPTIONS}\000?Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS})\000\000\000\000\000\000\004", '\0' <repeats 103 times>, "????\000\000\000\000\030<N\b`???\000\000\000\000\002", '\0' <repeats 99 times>, "from-internal-xfer", '\0' <repeats 239 times>... oldargs = {0x0 <repeats 81 times>} argc = 5 ---Type <return> to continue, or q <return> to quit--- x = 0 res = 0 oldexten = "1800938888", '\0' <repeats 245 times> oldpriority = 4 gosub_level = 0 pc = "4", '\0' <repeats 39 times>, "Q??", '\0' <repeats 24 times>, "_NODEST\000\000\000\000" depthc = "1\000\r\b?\\\f?\000\000\000" oldcontext = "from-internal-callcentre-imbiz", '\0' <repeats 49 times> inhangupc = 0x0 offset = 0 depth = 0 maxdepth = 7 setmacrocontext = 1 autoloopflag = 512 inhangup = 0 save_macro_exten = 0x0 save_macro_context = 0x0 save_macro_priority = 0x0 save_macro_offset = 0x0 macro_store = (struct ast_datastore *) 0x8792f48 __PRETTY_FUNCTION__ = "_macro_exec" ASTERISK-3 0xb71a4956 in macro_exec (chan=0xaff2eb40, data=0xae96c068) at app_macro.c:492 No locals. ASTERISK-4 0x080ee5ae in pbx_exec (c=0xaff2eb40, app=0xb70c2778, data=0xae96c068) at pbx.c:948 res = -1258098688 u = (struct ast_module_user *) 0x8569e48 saved_c_appl = 0x0 saved_c_data = 0x0 __PRETTY_FUNCTION__ = "pbx_exec" ASTERISK-5 0x080f54f6 in pbx_extension_helper (c=0xaff2eb40, con=0x0, context=0xaff2ecc8 "macro-dialout-trunk", exten=0xaff2ed18 "s", priority=4, label=0x0, callerid=0x85da5e8 "@(\203\b`q\205\b\020", action=E_SPAWN, found=0xae96e1b8, combined_find_spawn=1) at pbx.c:3117 e = (struct ast_exten *) 0x84e3c18 app = (struct ast_app *) 0xb70c2778 res = 0 q = {incstack = {0x854bc00 "from-internal-callcentre-imbiz", 0xb6e4fa20 "from-internal", 0xb6e4ccc0 "from-internal-xfer", 0x854ef70 "from-internal-custom", 0xb70cf640 "queuemetrics", 0xb709d6b8 "nortel_phones", 0xb6e66c08 "parkedcalls", 0xb6e5f518 "ext-fax", 0xb6e54828 "ext-local-confirm", 0xb6e56258 "findmefollow-ringallv2", 0x851a9c8 "from-internal-additional", 0xb7a18ab0 "ext-queues", 0xb7ab99f8 "app-recordings", 0xb7aefc20 "app-dnd-off", 0xb7af5630 "app-dnd-on", 0xb7afaff0 "app-dnd-toggle", 0xb70026e0 "ext-dnd-hints", 0x8405f48 "app-echo-test", 0x84085d0 "app-speakextennum", 0x840bf90 "app-speakingclock", 0x84122d8 "app-dialvm", 0x841b4b8 "app-vmmain", 0x84202a0 "app-fmf-toggle", 0x8427eb0 "ext-findmefollow", 0xb7ab7008 "fmgrps", 0xb70009f0 "app-miscapps-2", 0xb7001cd0 "app-miscapps-1", 0x83fbea8 "app-userlogonoff", 0x83f8b28 "ext-local", 0x84c1070 "outbound-allroutes", 0x85628f8 "outbound-allroutes-custom", 0x0 <repeats 97 times>}, stacklen = 31, status = 5, swo = 0x0, data = 0x0, foundcontext = 0xb70d658f "outrt-001-Outbound"} passdata = "dialout-trunk,6,1800938888,,", '\0' <repeats 85 times>, "ueuelog,1242039672,1242039640.2890,GT-Outbound,Agent/6042,COMPLETEAGENT,21,11\000^GT-Outbound^Agent/6042^1242039640)", '\0' <repeats 1586 times>, "??\016\b`?\226?\bl??", '\0' <repeats 12 times>, "????\000\000\000\000\000\000\000\000?k??\000"... matching_action = 0 __PRETTY_FUNCTION__ = "pbx_extension_helper" ASTERISK-6 0x080f697a in ast_spawn_extension (c=0xaff2eb40, context=0xaff2ecc8 "macro-dialout-trunk", exten=0xaff2ed18 "s", priority=4, callerid=0x85da5e8 "@(\203\b`q\205\b\020", found=0xae96e1b8, combined_find_spawn=1) at pbx.c:3620 No locals. ASTERISK-7 0x080f70b1 in __ast_pbx_run (c=0xaff2eb40, args=0x0) at pbx.c:3707 dst_exten = "\000\000\000\000?I?\026\000\000\000\000\000\000\000????", '\0' <repeats 12 times>, "?\235??,`??\037??KL\000\000\000\000\000\000\001\00---Type <return> to continue, or q <return> to quit--- 0\000\000\000\000\000\000,?\027\b????\000\000\000\000\000\000\000\000\030?\226??\235??<\230\032\b?\037??(?\226?\0370\017\b<\230\032\b\200?\226???\226?\231\203\017\b<\230\032\b\000?\002?\b?\226?\021?\t\b\002\000\000\000\223?\027\b\024\211\027\b(\021\000\000\035?\027\b,?\027\b\220~??\004\000\000\000l\227\027\b@???p\f??\200~???\232?\000\000\000@\000\000\000\000\200~??\000\000\000\0000\033"... pos = 0 digit = 0 found = 1 res = 0 autoloopflag = 0 error = 0 __PRETTY_FUNCTION__ = "__ast_pbx_run" ASTERISK-8 0x080f85c3 in ast_pbx_run_args (c=0xaff2eb40, args=0x0) at pbx.c:4018 res = AST_PBX_SUCCESS ASTERISK-9 0x080f85ef in ast_pbx_run (c=0xaff2eb40) at pbx.c:4027 No locals. ASTERISK-10 0xb6bfdf82 in unistim_ss (data=0xaff2eb40) at chan_unistim.c:2013 chan = (struct ast_channel *) 0xaff2eb40 sub = (struct unistim_subchannel *) 0xb5324808 l = (struct unistim_line *) 0xb70d8b00 s = (struct unistimsession *) 0x8287238 res = 351 __PRETTY_FUNCTION__ = "unistim_ss" ASTERISK-11 0x08148f05 in dummy_start (data=0xb534c940) at utils.c:861 __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {-1210896396, 0, 0, -1365843000, 673628215, 754822010}, __mask_was_saved = 0}}, __pad = { 0xae96e490, 0x0, 0xb8053260, 0xb7dab42e}} __cancel_routine = (void (*)(void *)) 0x80754be <ast_unregister_thread> __cancel_arg = (void *) 0xae96eb90 not_first_call = 0 ret = (void *) 0xb7d232f0 a = {start_routine = 0xb6bfde4e <unistim_ss>, data = 0xaff2eb40, name = 0xb5323678 "unistim_ss", ' ' <repeats 11 times>, "started at [ 2417] chan_unistim.c HandleCallOutgoing()"} ASTERISK-12 0xb7d2350f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 No symbol table info available. ASTERISK-13 0xb7e1ba0e in clone () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. (gdb) | ||
Comments: | By: Leif Madsen (lmadsen) 2009-05-19 13:41:02 IRC log when I asked if the backtrace was useful: [14:31] <Corydon76-dig> leifmadsen: It's in bridge_call, so I haven't the first clue [14:32] <Corydon76-dig> The bridge is between chan_local and chan_sip, anyway [14:32] <Corydon76-dig> unistim is not involved, despite the bug title I will update the topic, and thus issue will be reviewed as soon as a developer is available to look at it. Thanks! By: Leif Madsen (lmadsen) 2009-05-19 13:42:56 Updated category. By: Digium Subversion (svnbot) 2009-05-20 12:30:26 Repository: asterisk Revision: 195688 U branches/1.4/res/res_features.c ------------------------------------------------------------------------ r195688 | file | 2009-05-20 12:30:25 -0500 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue ASTERISK-14105) Reported by: barryf ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=195688 By: Digium Subversion (svnbot) 2009-05-20 12:33:03 Repository: asterisk Revision: 195698 _U trunk/ U trunk/main/features.c ------------------------------------------------------------------------ r195698 | file | 2009-05-20 12:33:02 -0500 (Wed, 20 May 2009) | 12 lines Merged revisions 195688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue ASTERISK-14105) Reported by: barryf ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=195698 By: Digium Subversion (svnbot) 2009-05-20 12:33:49 Repository: asterisk Revision: 195702 _U branches/1.6.0/ U branches/1.6.0/main/features.c ------------------------------------------------------------------------ r195702 | file | 2009-05-20 12:33:49 -0500 (Wed, 20 May 2009) | 19 lines Merged revisions 195698 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r195698 | file | 2009-05-20 14:33:02 -0300 (Wed, 20 May 2009) | 12 lines Merged revisions 195688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue ASTERISK-14105) Reported by: barryf ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=195702 By: Digium Subversion (svnbot) 2009-05-20 12:34:27 Repository: asterisk Revision: 195705 _U branches/1.6.1/ U branches/1.6.1/main/features.c ------------------------------------------------------------------------ r195705 | file | 2009-05-20 12:34:27 -0500 (Wed, 20 May 2009) | 19 lines Merged revisions 195698 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r195698 | file | 2009-05-20 14:33:02 -0300 (Wed, 20 May 2009) | 12 lines Merged revisions 195688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue ASTERISK-14105) Reported by: barryf ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=195705 By: Digium Subversion (svnbot) 2009-05-20 12:35:11 Repository: asterisk Revision: 195707 _U branches/1.6.2/ U branches/1.6.2/main/features.c ------------------------------------------------------------------------ r195707 | file | 2009-05-20 12:35:11 -0500 (Wed, 20 May 2009) | 19 lines Merged revisions 195698 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r195698 | file | 2009-05-20 14:33:02 -0300 (Wed, 20 May 2009) | 12 lines Merged revisions 195688 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge. (closes issue ASTERISK-14105) Reported by: barryf ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=195707 |