[Asterisk-Dev] res_data Issue

Robert Jackson RobertJ at promedicalinc.com
Tue Aug 10 14:09:51 MST 2004


Asterisk Development Gurus,
	As a bit of background, I just finished writing a patch to
res_data to make the MWI work with chan_sip.  It seems to work pretty
well with chan_sip, and I am waiting to see if I should do the same for
chan_iax2.  Of course I immediately thought that my changes were causing
this issue, but after I rolled them back the problems were still
occurring.
	I am having a bit of problems using res_data with CVS as of
2004/08/09.  res_data is working perfectly in our production environment
with CVS 2004/07/14.  Basically, once a user has been authenticated by
app_voicemail no matter how they hangup * says "Killed" and completely
exits.  I did a bt on the dump file and here is the output:

(gdb) bt
#0  0x40023f92 in pthread_mutex_lock () from /lib/libpthread.so.0 
#1  0x40179e8d in free () from /lib/libc.so.6 
#2  0x44342514 in vm_execmain (chan=0x8173ed8, data=0x450286d4) at
app_voicemail.c:376 
#3  0x080733ef in pbx_exec (c=0x8173ed8, app=0x8133808, data=0x4502b844,
newstack=1) at pbx.c:469 
#4  0x0807b599 in pbx_extension_helper (c=0x8173ed8, context=0x8174030
"from-sip", exten=0x8173ed8 "SIP/2302-d80c", priority=1,
    callerid=0x1 <Address 0x1 out of bounds>, action=135087704) at
pbx.c:1383 
#5  0x08075428 in ast_pbx_run (c=0x8173ed8) at pbx.c:1878 
#6  0x0807bdf1 in pbx_thread (data=0x40023f80) at pbx.c:2097 
#7  0x40023041 in pthread_detach () from /lib/libpthread.so.0 
#8  0x401cbb7a in clone () from /lib/libc.so.6
(gdb)

Since I am only getting into asterisk programming I haven't been able to
figure out how to fix it.  If I remove optimization from the Makefile *
no longer crashes and I receive the following on the console:

free(): invalid pointer 0x4202f654!

After looking into app_voicemail.c it seems that the free_user method is
whats throwing this error.  My assumption is that the parameter (*vmu)
is NULL or something, but if it were null it wouldn't be executing the
free() method call.

I did try to run the latest CVS without res_data on our test box, and
the issue did not crop up which leads me to believe that it is an
res_data issue not an asterisk issue.

At this point I have tried my damndest to figure this out, but at this
point I am just running into a wall.  

Thank you very much for your help,

Robert Jackson



More information about the asterisk-dev mailing list