I have a reproducible situation which crashes Asterisk. Conference calls can be started, but as soon as anyone leaves the conference, the underlying soft hangup causes a segmentation fault.
It’s happening on both my test servers, running the following config:
Centos 5.2 (ISO’s from centos.org, then fully yum updated)
Asterisk 1.6.0.3
FreePBX 2.5.1
DAHDI 2.1.0.3 (installed from dahdi-linux-complete)
Everything is pretty much vanilla. A couple of extensions on each box, and an IAX2 trunk between the two. One VoIP line on one of the boxes as the main inbound/outbound route.
No telephony hardware, so it’s using dahdi_dummy for timing. I’ve confirmed with dahdi_test that this seems to be functioning correctly, and lsmod and modprobe both look good.
Gdb on the core dump shows the stack thusly:
(gdb) backtrace
#0 0x003ba3a0 in pthread_mutex_lock () from /lib/libpthread.so.0
#1 0x003456c6 in pthread_mutex_lock () from /lib/libc.so.6
#2 0x0808b039 in ast_softhangup (chan=0x0, cause=32)
at /usr/local/src/asterisk/asterisk-1.6.0.3/include/asterisk/lock.h:770
#3 0x00a6bb5d in conf_free (conf=0x881dbf8) at app_meetme.c:1375
#4 0x00a7bf55 in conf_exec (chan=0x881e400, data=0xb7899ef8)
at app_meetme.c:1499
#5 0x080e6d64 in pbx_exec (c=0x881e400, app=0x87f67f0, data=0xb7899ef8)
at pbx.c:944
#6 0x080f294d in pbx_extension_helper (c=0x881e400, con=0x0,
context=0x881e588 “from-internal”, exten=0x881e5d8 “STARTMEETME”,
priority=1, label=0x0, callerid=0x8812c18 “301”, action=E_SPAWN,
found=0xb789c338, combined_find_spawn=1) at pbx.c:3113
#7 0x080f4f46 in __ast_pbx_run (c=0x881e400) at pbx.c:3606
#8 0x080f679e in pbx_thread (data=0x881e400) at pbx.c:3956
#9 0x081308ab in dummy_start (data=0x8813198) at utils.c:917
#10 0x003b845b in start_thread () from /lib/libpthread.so.0
#11 0x00338e5e in clone () from /lib/libc.so.6
(gdb)
I’ve tried doing a soft hangup from the CLI on regular calls, but that works fine, no errors. It only seems to be conference calls which have this issue.
This happens with any type of call in the conference, i.e. local extension, coming in thru the IAX2 trunk, or inbound routes.
Obviously a bit of a show stopper.
Any suggestions gratefully received!
– hugh