[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