[Asterisk-Dev] res_data Issue

matt.riddell at sineapps.com matt.riddell at sineapps.com
Wed Aug 11 00:00:37 MST 2004


On 10 Aug 2004 at 17:09, Robert Jackson wrote:

> 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.  
> 

Are you using Linux 2.6?

If so try changing the kernel stack block size from 4K to 16K, this 
has helped some people.

Matt Riddell



More information about the asterisk-dev mailing list