Summary:ASTERISK-03135: Crash in voicemail
Reporter:Steve Murphy (murf)Labels:
Date Opened:2004-12-29 17:30:27.000-0600Date Closed:2011-06-07 14:00:41
Versions:Frequency of
Description:Phone system died while I was away from home.
a core was present, so I ran gdb on it. Here is the stack trace:

#0 0x005a97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x005e9955 in raise () from /lib/tls/libc.so6
#2 0x005eb319 in abort () from /lib/tls/libc.so6
#3 0x0061cf9a in __libc_message () from /lib/tls/libc.so.6
#4 0x00623528 in _int_free () from /lib/tls/libc.so.6
ASTERISK-1 0x00623afa in free () from /lib/tls/libc.so.6
ASTERISK-2 0x00395814 in leave_voicemail (chan=0x98101f8, ext=0x6e9800 "\001", silent=0, busy=0, unavail=1) at app_voicemail.c:1806
ASTERISK-3 0x003975c6 in vm_exec (chan=0x0, data=0x37fcc30) at app_voicemail.c:4769
ASTERISK-4 0x0807d956 in pbx_extension_helper (c=0x98101f8, con=0x0, context=0x9810344 "homeline-kids", exten=0x9810438 "3", priority=5, label=0x0, callerid=0x98daf60 "3075276007", action=0) at pbx.c:475
ASTERISK-5 0x08085980 in ast_pbx_run (c=0x98101f8) at pbx.c:1819
ASTERISK-6 0x0025e271 in ss_thread (data=0x98101f8) at chan_zap.c:5615
ASTERISK-7 0x007e73ae in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-8 0x00688b6e in clone () from /lib/tls/libc.so.6

****** STEPS TO REPRODUCE ******

From the looks of it, someone was leaving voicemail.
Comments:By: Mark Spencer (markster) 2004-12-29 17:54:12.000-0600

Try to duplicate with "make clean ; make valgrind" so we can try to actually see where the real failure is.  This backtrace is not particularly helpful and clearly is not yesterday's CVS either since the line numbers in the backtrace don't line up with CVS.

By: Steve Murphy (murf) 2004-12-29 19:27:29.000-0600

Ok, I've rebuilt and reinstalled. I'll be testing with just one line attached until this gets nailed down. The family isn't so adventurous. They want a dependable line.

I've looked at the code, and 1806 of voicemail.c does resolve to a free call--

static void free_user(struct ast_vm_user *vmu)
       if (ast_test_flag(vmu, VM_ALLOCED))
               free(vmu);       <<<<<< this one!
Could it be that is in-line? There are a bunch of places where free_user is called in the leave_voicemail routine, tho.  Ugh.

Got another difficulty on FC3 with asterisk-- the FXO card seems to lock up
with a channel open, and I have to restart asterisk to get it going again. Doesn't do it very often. But it locks up the line, no-one can call out,
and everyone calling in gets ringing, no answer. I'll file another bug on it when I collect more evidence. It might take a while.

By: Mark Spencer (markster) 2004-12-29 21:12:29.000-0600

Take your other issue to digium tech support since it's hardware related.  The bug tracker is not for technical support issues.

By: Kevin P. Fleming (kpfleming) 2004-12-29 23:57:05.000-0600

This voicemail free problem has already been corrected in CVS. Somebody please close this bug as invalid.

By: twisted (twisted) 2004-12-30 23:41:08.000-0600

Closing since this does appear to be fixed in CVS. Feel free to re-open if this is not the case, or if you can reproduce with the appropriate backtrace.