Asterisk core dump in format_mp3.c

I’m running asterisk 1.2.19 with asterisk-addons 1.2.7 on a CentOS4.

Today it died by sigsegv. The core dump indicates that the error was in mp3_read() in format_mp3.c .

I’m wondering how to further investigate this crash. Any hints are welcome, as are requests for further details.
gdb says:


#0 0x00bb6cae in mp3_read (s=0x87e69b8, whennext=0x87e6a6c)
at format_mp3.c:242
242 s->buf[s->buflen] = s->dbuf[(s->buflen-save)+s->dbufoffset];

(gdb) bt
#0 0x00bb6cae in mp3_read (s=0x87e69b8, whennext=0x87e6a6c) at format_mp3.c:242
#1 0x08068bd4 in ast_readframe ()
#2 0x087e69b8 in ?? ()
#3 0x01d764d8 in ?? ()
#4 0x00000000 in ?? ()

(gdb) bt full
#0 0x00bb6cae in mp3_read (s=0x87e69b8, whennext=0x87e6a6c) at format_mp3.c:242
delay = 0
save = 0
#1 0x08068bd4 in ast_readframe ()
No symbol table info available.
#2 0x087e69b8 in ?? ()
No symbol table info available.
#3 0x01d764d8 in ?? ()
No symbol table info available.
#4 0x00000000 in ?? ()
No symbol table info available.

(gdb) thread apply all bt

Thread 17 (process 17041):
#0 0x0025d7a2 in ?? ()
#1 0x003ef49b in __read_nocancel () from /lib/tls/libpthread.so.0
#2 0x080a60e7 in monitor_sig_flags ()
#3 0x00000004 in ?? ()
#4 0x0808a3df in ast_cli_register_multiple ()
#5 0x00000010 in ?? ()
#6 0x00000001 in ?? ()
#7 0x00004291 in ?? ()
#8 0x00004291 in ?? ()
#9 0xbfe8f550 in ?? ()
#10 0x080a7cb4 in main ()

Thread 16 (process 17046):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x080a37ba in listener ()
#3 0x00000000 in ?? ()

Thread 15 (process 17047):
#0 0x0025d7a2 in ?? ()
#1 0x003ef6a8 in accept () from /lib/tls/libpthread.so.0
#2 0x080a1d59 in accept_thread ()
#3 0x00000000 in ?? ()

Thread 14 (process 17048):
#0 0x0025d7a2 in ?? ()
#1 0x003ecb26 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2 0x080b563a in do_devstate_changes ()
#3 0x081021c8 in state_changes ()
#4 0x003f3ff4 in ?? () from /lib/tls/libpthread.so.0
#5 0x003ea371 in start_thread () from /lib/tls/libpthread.so.0
#6 0x00342ffe in clone () from /lib/tls/libc.so.6

Thread 13 (process 17049):
#0 0x0025d7a2 in ?? ()
#1 0x0033ba41 in ___newselect_nocancel () from /lib/tls/libc.so.6
#2 0x007e92d4 in do_parking_thread (ignore=0x0) at …/include/asterisk/channel.h:1150
#3 0x003ea371 in start_thread () from /lib/tls/libpthread.so.0
#4 0x00342ffe in clone () from /lib/tls/libc.so.6

Thread 12 (process 17050):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x08055c0c in ast_io_wait ()
#3 0x081959c0 in ?? ()
#4 0x00000000 in ?? ()

Thread 11 (process 17051):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x00725c32 in do_monitor (data=0x0) at chan_zap.c:6675
#3 0x003ea371 in start_thread () from /lib/tls/libpthread.so.0
#4 0x00342ffe in clone () from /lib/tls/libc.so.6

Thread 10 (process 17059):
#0 0x0025d7a2 in ?? ()
#1 0x003eea1f in sem_wait@GLIBC_2.0 () from /lib/tls/libpthread.so.0
#2 0x00858dc4 in manager_event_handler (arg=0x8276758) at isdn_lib.c:3718
#3 0x003ea371 in start_thread () from /lib/tls/libpthread.so.0
#4 0x00342ffe in clone () from /lib/tls/libc.so.6

Thread 9 (process 17060):
#0 0x0025d7a2 in ?? ()
#1 0x0033ba41 in ___newselect_nocancel () from /lib/tls/libc.so.6
#2 0x00426730 in mISDN_read (fid=10, buf=0xfffffdfe, count=2080, utimeout=10000000) at device.c:256
#3 0x00857136 in fetch_msg (midev=10) at isdn_lib.c:2900
#4 0x0085722e in misdn_lib_isdn_event_catcher (arg=0x8276758) at isdn_lib.c:2936
#5 0x003ea371 in start_thread () from /lib/tls/libpthread.so.0
#6 0x00342ffe in clone () from /lib/tls/libc.so.6

—Type to continue, or q to quit—
Thread 8 (process 17062):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x08055c0c in ast_io_wait ()

Thread 7 (process 17063):
#0 0x0025d7a2 in ?? ()
#1 0x0033ba41 in ___newselect_nocancel () from /lib/tls/libc.so.6
#2 0x00680e1d in sound_thread (arg=0xb7d03370) at …/include/asterisk/channel.h:1150
#3 0x003ea371 in start_thread () from /lib/tls/libpthread.so.0
#4 0x00342ffe in clone () from /lib/tls/libc.so.6

Thread 6 (process 18107):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x08063c3f in ast_waitfor_nandfds ()
#3 0x0806430f in ast_waitfor_n ()
#4 0x009f0030 in ?? ()
#5 0x00000000 in ?? ()

Thread 5 (process 10140):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x080a0eb3 in session_do ()
#3 0x080e76c0 in PRETTY_FUNCTION.0 ()
#4 0x008f13b0 in ?? ()
#5 0x008f12a0 in ?? ()
#6 0x00000000 in ?? ()

Thread 4 (process 4458):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x08063c3f in ast_waitfor_nandfds ()
#3 0x0806430f in ast_waitfor_n ()
#4 0x00a240e0 in ?? ()
#5 0x00000002 in ?? ()
#6 0x00000000 in ?? ()

Thread 3 (process 4499):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x08063c3f in ast_waitfor_nandfds ()
#3 0x0806430f in ast_waitfor_n ()
#4 0x01db7630 in ?? ()
#5 0x00000002 in ?? ()
#6 0x00000000 in ?? ()

Thread 2 (process 4528):
#0 0x0025d7a2 in ?? ()
#1 0x003391d4 in poll () from /lib/tls/libc.so.6
#2 0x08063c3f in ast_waitfor_nandfds ()
#3 0x0806430f in ast_waitfor_n ()
#4 0x01b6e660 in ?? ()
#5 0x00000002 in ?? ()
#6 0x00000000 in ?? ()

Thread 1 (process 4467):
#0 0x00bb6cae in mp3_read (s=0x87e69b8, whennext=0x87e6a6c) at format_mp3.c:242
#1 0x08068bd4 in ast_readframe ()
#2 0x087e69b8 in ?? ()
#3 0x01d764d8 in ?? ()
#4 0x00000000 in ?? ()

[quote][/quote]