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 0x0037e806e1f3 in _int_free () from /lib64/libc.so.6
No symbol table info available.
#1 0x0037e8071fac in free () from /lib64/libc.so.6
No symbol table info available.
#2 0x0046b7b7 in ast_frame_free (fr=0x1b9da4b0, cache=0)
at frame.c:369
No locals.
#3 0x2aaab1173573 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 0x004d4b8f 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_threadstarted at [ 301]
app_mixmonitor.c launch_monitor_thread()}
lock_info = (struct thr_lock_info *) 0x1ba87c20
#5 0x0037e8c061b5 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#6 0x0037e80cd36d in clone () from /lib64/libc.so.6
No symbol table info available.
#7 0x 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 0x0044da80 in ast_var_name (var=0x10f1d58a0) at chanvars.c:69
69 if (name[0] == '_') {
(gdb) bt full
#0 0x0044da80 in ast_var_name (var=0x10f1d58a0) at chanvars.c:69
name = 0x10f1d58b0 Address 0x10f1d58b0 out of bounds
#1 0x0049948f 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 0x2aaabf53938e 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 = [EMAIL PROTECTED]@
\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,
[EMAIL PROTECTED]@[EMAIL PROTECTED]...
cidname = '\0' repeats 79 times
privdb_val = 0
calldurationlimit = 0
timelimit = 180
play_warning = 12
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 = [EMAIL PROTECTED]
\---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,