[asterisk-users] segfault - asterisk crash and restart

Rilawich Ango maillisting at gmail.com
Wed Oct 31 01:16:15 CDT 2007


Hi all,

  Recently, I have upgraded the asterisk as following.
asterisk-1.4.13
asterisk-addon-1.4.4
libpri-1.4.1
zaptel-1.4.5.1
Usage of the server: inbound and outbound call, queue, mixmonitor, meetme, moh
  After upgrade, the server get segfault randomly and asterisk crash
and restart itself.  I got 2 core dumps of the segfault.  Based on the
core dump, we can't figure out the root cause to the problem as the
content of the core dump is not the same.  We have no idea what the
problem is.  Anyone can give me some advices.

--core dump 1--
(gdb) bt full
#0  0x00000037e806e1f3 in _int_free () from /lib64/libc.so.6
No symbol table info available.
#1  0x00000037e8071fac in free () from /lib64/libc.so.6
No symbol table info available.
#2  0x000000000046b7b7 in ast_frame_free (fr=0x1b9da4b0, cache=0)
    at frame.c:369
No locals.
#3  0x00002aaab1173573 in mixmonitor_thread (obj=0x1bb08220)
   from /usr/lib/asterisk/modules/app_mixmonitor.so
        next = (struct ast_frame *) 0x0
        write = 1
        mixmonitor = (struct mixmonitor *) 0x1bb08220
        f = (struct ast_frame *) 0x1b9da4b0
        fs = (struct ast_filestream *) 0x2aaac80f3b70
        oflags = 577
        ext = 0x1bb08466 "wav49"
        errflag = 0
        __PRETTY_FUNCTION__ = "mixmonitor_thread"
#4  0x00000000004d4b8f in dummy_start (data=0x1b949260) at utils.c:806
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0,
        1063351100855877176, 0, 1094138176, 1080131584, 1094136400,
        1063351100855877496, 1063351101953312135}, __mask_was_saved = 0}},
  __pad = {0x413731c0, 0x0, 0x1b8f6dd0, 0x1b8f6dd0}}
---Type <return> to continue, or q <return> to quit---
        __cancel_routine = (void (*)(void *)) 0x426a2b <ast_unregister_thread>
        __cancel_arg = (void *) 0x41373940
        not_first_call = 0
        ret = (void *) 0x37e8344898
        a = {start_routine = 0x2aaab117330d <mixmonitor_thread>,
  data = 0x1bb08220,
  name = 0x1b892880 "mixmonitor_thread    started at [  301]
app_mixmonitor.c launch_monitor_thread()"}
        lock_info = (struct thr_lock_info *) 0x1ba87c20
#5  0x00000037e8c061b5 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#6  0x00000037e80cd36d in clone () from /lib64/libc.so.6
No symbol table info available.
#7  0x0000000000000000 in ?? ()
No symbol table info available.
(gdb)

--core dump 2--

Core was generated by `/usr/sbin/asterisk -f -vvvg -c'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000044da80 in ast_var_name (var=0x10f1d58a0) at chanvars.c:69
69		if (name[0] == '_') {
(gdb) bt full
#0  0x000000000044da80 in ast_var_name (var=0x10f1d58a0) at chanvars.c:69
	name = 0x10f1d58b0 <Address 0x10f1d58b0 out of bounds>
#1  0x000000000049948f in pbx_builtin_setvar_helper (chan=0xf460320,
name=0x2aaabf53cbf7 "DIALSTATUS",
    value=0x417a0690 "BUSY") at pbx.c:5825
	newvariable = (struct ast_var_t *) 0x10f1d58a0
	headp = (struct varshead *) 0xf460880
	nametail = 0x2aaabf53cbf7 "DIALSTATUS"
	__PRETTY_FUNCTION__ = "pbx_builtin_setvar_helper"
#2  0x00002aaabf53938e in dial_exec_full (chan=0xf460320,
data=0x417a2e50, peerflags=0x417a0c50, continue_exec=0x0)
   from /usr/lib/asterisk/modules/app_dial.so
	res = 0
	u = (struct ast_module_user *) 0xf0e48d0
	rest = 0x0
	cur = 0x0
	outgoing = (struct dial_localuser *) 0xf13eba0
	peer = (struct ast_channel *) 0x0
	to = 0
	numbusy = 0
	numcongestion = 0
	numnochan = 0
	cause = 0
	numsubst = "4612 at 10.201.2.224\000­û\000\00061¸@
\017\000\000\000\000ÿÿÿÿ\000\000\000\000¸@ \017\000\000\000\000¸@
\017\000\000\000\000`t4è7", '\0' <repeats 11 times>,
"À\fzA\000\000\000\000\000\fzA\000\000\000\0006\000\000\000\000\000\000\000\000Àªªª*\000\0006",
'\0' <repeats 15 times>,
"Ó\206\006è7\000\000\000\000\000\000\000P\000\000\000`\2074è7\000\000\000@\rzA\000\000\000\000\020\nzA\000\000\000\000°-zA\000\000\000\000@¹zA\000\000\000\000\000\200a@\000\000\000\000³¸\004è7\000\000\0000\000\000\0000\000\000\000°\tzA\000\000"...
	cidname = '\0' <repeats 79 times>
	privdb_val = 0
	calldurationlimit = 0
	timelimit = 1800000
	play_warning = 120000
	warning_freq = 0
	warning_sound = 0x2aaabf53cd0a "timeleft"
	end_sound = 0x0
	start_sound = 0x0
	dtmfcalled = 0x0
	dtmfcalling = 0x0
	status = "BUSY\000WER\000GS", '\0' <repeats 244 times>
	play_to_caller = 1
	play_to_callee = 0
	sentringing = 0
	moh = 0
	outbound_group = 0x0
	result = 0
	start_time = 1193798657
	privintro = "\001\000\000\000\000\000\000\000@\tzA\000\000\000\000ÅLR\000\000\000\000\000ÆLR\000\000\000\000\000\f\000\000\000\000\000\000\000²4\004è7\000\000\000s\000\000\000\001\000\000\000\000\tzA\000\000\000\000tpR\000\000\000\000\000
\---Type <return> to continue, or q <return> to quit---
004zA\000\000\000\000À\vzA\000\000\000\000\230LR\000\000\000\000\000P\tzA",
'\0' <repeats 12 times>, " ", '\0' <repeats 23 times>,
"ÿÿÿÿÿÿÿÿ\000\000\000\000Á\000\000\000ªLR", '\0' <repeats 13 times>,
"\b\bzA\000\000\000\000\230ùR\000\006", '\0' <repeats 15 times>, "\n",
'\0' <repeats 43 times>, "
\vzA\000\000\000\000\203ùR\000\000\000\000\000"...
	privcid = "p\nzA\000\000\000\000`pRd\000\000\000\000\000\bzA", '\0'
<repeats 36 times>, "ÿÿÿÿÿÿÿÿ\003ñ\027´\"\000\000\000mpR", '\0'
<repeats 13 times>, "¸\006zA\000\000\000\000À\tzA\002", '\0' <repeats
15 times>, "\n\000\000\000\002", '\0' <repeats 11 times>,
"\001\000\000\000\000\000\000\000\002\000\000\000\227ùR", '\0'
<repeats 13 times>, " \000\000\000\000\000\000\000²4\004è7", '\0'
<repeats 11 times>,
"\200\bzd\000\000\000\00048\000\000ÿÿÿÿ\000\000\000\000\000\000\000\000ù\016Q\000\000\000\000\000`pR\000\000\000\000\000Ð\bzA",
'\0' <repeats 20 times>, "»"...
	parse = 0x4179fa90 "SIP"
	opermode = 0
	args = {argc = 3, argv = 0x417a0158, peers = 0x4179fa90 "SIP",
timeout = 0x4179faa6 "35",
  options = 0x4179faa9 "L(1800000", url = 0x0}
	opts = {flags = 1049088}
	opt_args = {0x20 <Address 0x20 out of bounds>, 0x417a0740 "", 0x0,
0x4179faab "1800000",
  0x1b417a08f0 <Address 0x1b417a08f0 out of bounds>, 0x52f983
"%c[%d;%sm%s%c[0;%d;%dm", 0x0, 0x417a0608 "\220Åu",
  0x600000002 <Address 0x600000002 out of bounds>}
	__PRETTY_FUNCTION__ = "dial_exec_full"
#3  0x00002aaabf539494 in dial_exec (chan=0xf460320, data=0x417a2e50)
from /usr/lib/asterisk/modules/app_dial.so
	peerflags = {flags = 0}
#4  0x000000000048a004 in pbx_exec (c=0xf460320, app=0x2aaaac00aeb0,
data=0x417a2e50) at pbx.c:532
	res = 0
	saved_c_appl = 0xf0c1518 "Macro"
	saved_c_data = 0x417a6330 "outbound"
#5  0x000000000048e095 in pbx_extension_helper (c=0xf460320, con=0x0,
context=0xf460698 "macro-outbound",
    exten=0xf4606e8 "s", priority=61, label=0x0, callerid=0xf198f10
"6465956167", action=E_SPAWN) at pbx.c:1833
	e = (struct ast_exten *) 0x2aaaac052cb0
	app = (struct ast_app *) 0x2aaaac00aeb0
	res = 1098536976
	q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status = 5,
swo = 0x0, data = 0x0,
  foundcontext = 0xf460698 "macro-outbound"}
	passdata = "SIP/4612 at 10.201.2.224|35|L(1800000:120000)T", '\0'
<repeats 8148 times>
	matching_action = 0
	__PRETTY_FUNCTION__ = "pbx_extension_helper"
#6  0x000000000048f472 in ast_spawn_extension (c=0xf460320,
context=0xf460698 "macro-outbound", exten=0xf4606e8 "s",
    priority=61, callerid=0xf198f10 "6465956167") at pbx.c:2288
No locals.
#7  0x00002aaac260a617 in _macro_exec (chan=0xf460320,
data=0x417a6330, exclusive=0)
   from /usr/lib/asterisk/modules/app_macro.so
	c = (struct ast_context *) 0x2aaaac050c70
	e = (struct ast_exten *) 0x2aaaac052cb0
	s = 0xf2bd15c "1"
	tmp = 0x417a5320 "outbound"
	cur = 0x0
	rest = 0x0
	macro = 0x417a5320 "outbound"
	fullmacro = "macro-outbound\000\000@¹zA\000\000\000\000\000\200a@\000\000\000\000pbzA\000\000\000\000\rÌG",
'\0' <repeats 21 times>, "æVH\000\000\000\000\000\vÉG\000\000\000\000"
---Type <return> to continue, or q <return> to quit---
	varname = "0gzA\000\000\000\000\000\000\000\000\n\026\000\000\033[1;30;4\t\000\000\000\000\000\000\000ãÎQ\000\000\000\000\000ãÎQ\000\000\000\000\000°Åu\000\000\000\000\000ÇéQ\000\000\000\000\000³éQ\000\000\000\000\000¸@
\017z\003\000"
	runningapp = "Dial\000f\000e\000\200a@\000\000\000\000P²zA\000\000\000\000¸@
\017\000\000\000\000`\2074è7\000\000\000°Åu\000\000\000\000\000PáD\017\000\000\000\000¸\234B\000\000\000\000\000À`zA\000\000\000\000ó­G\000\000\000\000"
	runningdata = "SIP/${fromsip_sippeers_hostid}${billsip_rt_routeprefix}${tosip}@${outbound_${billsip_rt_gw}}|${RINGTIMEOUT}|L(${availCallLimit}:120000)${DialOpt}\000zA\000\000\000\000\000\200a@\000\000\000\000P²zA\000\000\000\000üFM\000\000\000\000\000P²zA\000\000\000\000\020]zA",
'\0' <repeats 12 times>, "¯`"...
	oldargs = {0x0 <repeats 81 times>}
	argc = 1
	x = 1098539312
	res = 0
	oldexten = "4612", '\0' <repeats 251 times>
	oldpriority = 4
	gosub_level = 0
	pc = "4\000\000\000\001", '\0' <repeats 11 times>,
"°]zA\000\000\000\000»(R)\006è7\000\000\000\003\000\000\000\000\000\000\000\000_zA\000\000\000\000\025ÍB±ª*\000\000\030ÍB±ª*\000\000\034\000\000\000\000\000\000\000²4\004è7\000\000"
	depthc = "1\000&\017\000\000\000\000ì\\\025¸"
	oldcontext = "sipcom", '\0' <repeats 73 times>
	inhangupc = 0x0
	offset = 0
	depth = 0
	maxdepth = 7
	setmacrocontext = 1
	autoloopflag = 512
	dead = 0
	inhangup = 0
	save_macro_exten = 0x0
	save_macro_context = 0x0
	save_macro_priority = 0x0
	save_macro_offset = 0x0
	u = (struct ast_module_user *) 0xf1225c0
	__PRETTY_FUNCTION__ = "_macro_exec"
#8  0x00002aaac260b350 in macro_exec (chan=0xf460320, data=0x417a6330)
from /usr/lib/asterisk/modules/app_macro.so
No locals.
#9  0x000000000048a004 in pbx_exec (c=0xf460320, app=0xf0c14f0,
data=0x417a6330) at pbx.c:532
	res = 0
	saved_c_appl = 0x0
	saved_c_data = 0x0
#10 0x00002aaab142cabd in realtime_exec (chan=0xf460320,
context=0xf460698 "macro-outbound", exten=0xf4606e8 "s",
    priority=4, callerid=0xf198f10 "6465956167", data=0x2aaaac08eae9
"sipcom at extensions")
   from /usr/lib/asterisk/modules/pbx_realtime.so
	appdata = "outbound", '\0' <repeats 503 times>
	tmp1 = "\033[1;36;40mMacro\033[0;37;40m\000M\000\000\000\000\000P²zA\000\000\000\000Àøu\000\000\000\000\000PáD\017\000\000\000\000éê\b¬\000\000\000\000 at hzA\000\000\000\000y¦H\000\000\000\000"
	tmp2 = "\033[1;35;40mLocal/4612 at sipauth-88ac,2\033[0;37;40m\000\000\000\230\006F\017\000\000\000\000@¹zA\000\000\000\000ÀgzA",
'\0' <repeats 11 times>
	tmp3 = "\033[1;35;40moutbound\033[0;37;40m\000*\000\000\000fzA", '\0'
<repeats 12 times>, "\020fzA", '\0' <repeats 1---Type <return> to
continue, or q <return> to quit---
6 times>, "\004\000\000\000è\006F\017\000\000\000\000PfzA\000\000\000\000WfzA\000\000\000\0004612",
'\0' <repeats 108 times>,
"4\000\000\000\000\000\000\000¸\234B\000\000\000\000\0001\000zA\000\000\000\000\220\232\035\017\000\000\000\000`V\033\017\000\000\000\000SÌB±ª*\000"
	a = (struct ast_app *) 0xf0c14f0
	tmp = 0x417a62a0 "outbound"
	app = "Macro\000\000\000\020Ç\"\017\000\000\000\000
gzA\000\000\000\000~ÅB±ª*\000\000sipcom\000extensions\000zA\000\000\000\000è&M",
'\0' <repeats 13 times>,
"@¹zA\000\000\000\000éê\b¬ª*\000\000`\2314è7\000\000\000 gzA", '\0'
<repeats 12 times>,
"@¹zA\000\000\000\000\000\200a@\000\000\000\000P²zA\000\000\000\000¬\037\aè7\000\000\000è\006F\017\000\000\000\000\230\006F\017\000\000\000\000PfzA\000\000\000\000WfzA\000\000\000\000\220\232\035\017",
'\0' <repeats 12 times>, "
gzA\000\000\000\000\237RE\000\000\000\000"...
	v = (struct ast_variable *) 0x0
	res = -1
	var = (struct ast_variable *) 0xf16aa30
	__PRETTY_FUNCTION__ = "realtime_exec"
#11 0x000000000048e18e in pbx_extension_helper (c=0xf460320, con=0x0,
context=0xf460698 "macro-outbound",
    exten=0xf4606e8 "s", priority=4, label=0x0, callerid=0xf198f10
"6465956167", action=E_SPAWN) at pbx.c:1844
	e = (struct ast_exten *) 0x0
	app = (struct ast_app *) 0x0
	res = 1098561856
	q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status = 2,
swo = 0x2aaab162d5c0,
  data = 0x2aaaac08eae9 "sipcom at extensions", foundcontext = 0xf460698
"macro-outbound"}
	passdata = '\0' <repeats 784 times>,
"\016iÔ¿ª*\000\000:\215zA\000\000\000\000`\236zA\000\000\000\000'ÔH",
'\0' <repeats 37 times>, "CDR\000userfield", '\0' <repeats 524 times>,
"\226zA\000\000\000\000\032\027\031¾ª*\000\000\032\027\031¾ª*\000\000\000\000\000\000\000\000\000\000²4\004è7",
'\0' <repeats 11 times>, "À\225zA", '\0' <repeats 12 times>,
"à\220zA\000\000\000\000p\227zA\000\000\000\000\030\027\031¾ª*\000\000\020\226zA",
'\0' <repeats 36 times>,
"ÿÿÿÿÿÿÿÿ\000\000\000\000\001\000\000\000\030\027\031¾ª*\000\000\000\000\000\000\000\000\000\000"...
	matching_action = 0
	__PRETTY_FUNCTION__ = "pbx_extension_helper"
#12 0x000000000048f472 in ast_spawn_extension (c=0xf460320,
context=0xf460698 "macro-outbound", exten=0xf4606e8 "s",
    priority=4, callerid=0xf198f10 "6465956167") at pbx.c:2288
No locals.
#13 0x000000000048f9ca in __ast_pbx_run (c=0xf460320) at pbx.c:2388
	dst_exten = "\000\000\000\000\000\000\000 at P\fS\000\000\000\000\000
\b\aÌ\226\000\000\000h\fS\000\000\000\000\000È\003", '\0' <repeats 14
times>, "P¯zA", '\0' <repeats 12 times>, "@¹zA\000\000\000\0006'M",
'\0' <repeats 21 times>, "@¹zA\000\000\000\000è&M", '\0' <repeats 13
times>, "@¹zA\000\000\000\000 ¯zA", '\0' <repeats 12 times>,
"@¹zA\000\000\000\000\000\200a@\000\000\000\000P²zA\000\000\000\000>\000\000\000\000\000\000\000P²zA\000\000\000\000°'u\000\000\000\000\000PáD\017\000\000\000\000PáD\017\000\000\000\000
°zA\000\000\000\000\203gB", '\0' <repeats 13 times>...
	pos = 0
	digit = 0
	found = 1
	res = 0
	autoloopflag = 0
	error = 0
	__PRETTY_FUNCTION__ = "__ast_pbx_run"
#14 0x0000000000490881 in pbx_thread (data=0xf460320) at pbx.c:2603
	c = (struct ast_channel *) 0xf460320
#15 0x00000000004d4b8f in dummy_start (data=0xf0df2b0) at utils.c:806
---Type <return> to continue, or q <return> to quit---
	__cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0,
7386728462901403642, 0, 1098561856, 1080131584,
        1098560080, 7386728462901403322, 7386728463961859141},
__mask_was_saved = 0}}, __pad = {0x417ab1c0, 0x0,
    0xf36c870, 0xf36c870}}
	__cancel_routine = (void (*)(void *)) 0x426a2b <ast_unregister_thread>
	__cancel_arg = (void *) 0x417ab940
	not_first_call = 0
	ret = (void *) 0x37e8344898
	a = {start_routine = 0x490864 <pbx_thread>, data = 0xf460320,
  name = 0xf3204d0 "pbx_thread", ' ' <repeats 11 times>, "started at [
2627] pbx.c ast_pbx_start()"}
	lock_info = (struct thr_lock_info *) 0xf44e150
#16 0x00000037e8c061b5 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#17 0x00000037e80cd36d in clone () from /lib64/libc.so.6
No symbol table info available.
#18 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) exit



More information about the asterisk-users mailing list