[asterisk-bugs] [Asterisk 0015079]: Segfault on Transfer

Asterisk Bug Tracker noreply at bugs.digium.com
Wed May 20 12:34:28 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15079 
====================================================================== 
Reported By:                barryf
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   15079
Category:                   Core/PBX
Reproducibility:            random
Severity:                   crash
Priority:                   normal
Status:                     closed
Asterisk Version:           1.6.0.9 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.0 
SVN Revision (number only!): 193540 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-05-11 07:40 CDT
Last Modified:              2009-05-20 12:34 CDT
====================================================================== 
Summary:                    Segfault on Transfer
Description: 
The following is the backtrace. Occurred whith a chan_unistim device using
the ATXFR on the phone, rather  than the asterisk feature code.

https://issues.asterisk.org/view.php?id=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
https://issues.asterisk.org/view.php?id=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 at 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"
https://issues.asterisk.org/view.php?id=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"
https://issues.asterisk.org/view.php?id=2  0xb670eca8 in dial_exec
(chan=0xaff2eb40, data=0xae966f08) at
app_dial.c:1993
	peerflags = {flags = 4294967296}
https://issues.asterisk.org/view.php?id=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"
https://issues.asterisk.org/view.php?id=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"
https://issues.asterisk.org/view.php?id=5  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.
https://issues.asterisk.org/view.php?id=6  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"
https://issues.asterisk.org/view.php?id=7  0xb71a4956 in macro_exec
(chan=0xaff2eb40, data=0xae96c068) at
app_macro.c:492
No locals.
https://issues.asterisk.org/view.php?id=8  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"
https://issues.asterisk.org/view.php?id=9  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"
https://issues.asterisk.org/view.php?id=10 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.
https://issues.asterisk.org/view.php?id=11 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"
https://issues.asterisk.org/view.php?id=12 0x080f85c3 in ast_pbx_run_args
(c=0xaff2eb40, args=0x0) at pbx.c:4018
	res = AST_PBX_SUCCESS
https://issues.asterisk.org/view.php?id=13 0x080f85ef in ast_pbx_run
(c=0xaff2eb40) at pbx.c:4027
No locals.
https://issues.asterisk.org/view.php?id=14 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"
https://issues.asterisk.org/view.php?id=15 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()"}
https://issues.asterisk.org/view.php?id=16 0xb7d2350f in start_thread () from
/lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
https://issues.asterisk.org/view.php?id=17 0xb7e1ba0e in clone () from
/lib/tls/i686/cmov/libc.so.6
No symbol table info available.
(gdb) 

====================================================================== 

---------------------------------------------------------------------- 
 (0105128) svnbot (reporter) - 2009-05-20 12:34
 https://issues.asterisk.org/view.php?id=15079#c105128 
---------------------------------------------------------------------- 
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 https://issues.asterisk.org/view.php?id=15079)
    Reported by: barryf
  ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=195705 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-20 12:34 svnbot         Checkin                                      
2009-05-20 12:34 svnbot         Note Added: 0105128                          
======================================================================




More information about the asterisk-bugs mailing list