[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