[asterisk-dev] segmentation fault

Russell Bryant russell at digium.com
Tue Oct 28 23:31:20 CDT 2008


----- "BJ Weschke" <bweschke at gmail.com> wrote:

> jonathan augenstine wrote:
> > (gdb) bt
> > #0  0xb7f0a540 in pthread_mutex_lock () from 
> > /lib/tls/i686/cmov/libpthread.so.0
> > #1  0x080f5b22 in ast_sched_runq (con=0x0)
> >     at
> /home/jonathan/asterisk/asterisk-1.4.22/include/asterisk/lock.h:755
> > #2  0x080a1488 in waitstream_core (c=0x81f8e50, breakon=0x81261d1 
> > "0123456789#*ABCD",
> >     forward=0x81281b0 "", rewind=0x81281b0 "", skip_ms=0,
> audiofd=-1, 
> > cmdfd=-1,
> >     context=0x0) at file.c:1217
> > #3  0x080a18e8 in ast_waitstream_full (c=0x81f8e50,
> >     breakon=0x81261d1 "0123456789#*ABCD", audiofd=-1, cmdfd=-1) at 
> > file.c:1238
> > #4  0x0808a9c3 in ast_readstring_full (c=0x81f8e50, s=0xb6a12068 "",
> 
> > len=1,
> >     timeout=5000, ftimeout=10000, enders=0x8138971 "#", audiofd=-1,
> 
> > ctrlfd=-1)
> >     at channel.c:3120
> > #5  0x0808ab14 in ast_readstring (c=0x81f8e50, s=0xb6a12068 "",
> len=1, 
> > timeout=5000,
> >     ftimeout=10000, enders=0x8138971 "#") at channel.c:3104
> > #6  0x08060a9d in ast_app_getdata (c=0x81f8e50,
> >     prompt=0xb6a125c0 
> > "/var/lib/asterisk/sounds/en/shared_audio/ad_spots/pcm8/Spot72691",
> 
> > s=0xb6a12068 "", maxlen=1, timeout=0) at app.c:125
> > #7  0xb7c45870 in play_voodoo_ad (chan=0x81f8e50, audio=0xb6a121a0)
> at 
> > res_voodoo.c:462
> > #8  0xb7c464e8 in play_voodoo_local (parm=0x81f8e50) at
> res_voodoo.c:659
> > #9  0x0810256b in dummy_start (data=0x81f9328) at utils.c:912
> > #10 0xb7f084fb in start_thread () from
> /lib/tls/i686/cmov/libpthread.so.0
> > #11 0xb7e21e5e in clone () from /lib/tls/i686/cmov/libc.so.6
> > (
> 
> 
>  Looks like you're trying to lock a channel lock on a channel that's
> not there any more ?

Indeed, it's possible.

By looking at the backtrace, I can see that you created a thread in your module, and this thread is attempting to play a file on a channel.  In Asterisk, doing media handling like this outside of the normal channel threads is not recommended, to say the least.  :)

Perhaps you can share more information on what you're trying to accomplish and we can provide some guidance on the right approach.


-- 
Russell Bryant
Senior Software Engineer
Open Source Team Lead
Digium, Inc.



More information about the asterisk-dev mailing list