[Freeswitch-users] esl_recv_event() from two threads on the same handle

Brian West brian at freeswitch.org
Tue Aug 5 15:50:20 MSD 2014


Do you happen to have mod_com_g729 loaded?


On Tue, Aug 5, 2014 at 3:13 AM, Shlomi Agiv <shlomi.agiv at cell-buddy.com>
wrote:

> I'm using the C ESL events api.
> I have one threads that continuously checks for updates
> using esl_recv_event()
> I have another thread that sometimes needs to inject commands, that
> uses esl_send_recv() on the same handle.
> It looks like on occasion, both get stuck and stop receiving events.
>
> Is it possible for two threads to access the handle? maybe I should open
> two connections to freeswitch esl? or use esl_send_recv_timed()?
>
> stack trace:
> #0  0xb6f3f974 in __lll_lock_wait () from
> /lib/arm-linux-gnueabi/libpthread.so.0
> #1  0xb6f39858 in pthread_mutex_lock () from
> /lib/arm-linux-gnueabi/libpthread.so.0
> #2  0x000f2f2c in esl_mutex_lock (mutex=<optimized out>) at
> src/esl_threadmutex.c:200
> #3  0x000efb70 in esl_recv_event (handle=0x11b67c, check_q=0,
> save_event=0xb6c47da4) at src/esl.c:1262
> #4  0x0001ebbc in EslHandler::initThread (this=0x11b670) at
> eslHandler.cpp:95
> #5  0x0001ec88 in EslHandler::entryPoint (eslHandler=0x11b670) at
> eslHandler.cpp:110
> #6  0xb6f36b04 in start_thread () from
> /lib/arm-linux-gnueabi/libpthread.so.0
> #7  0xb6d25a2c in ?? () from /lib/arm-linux-gnueabi/libc.so.6
> #8  0xb6d25a2c in ?? () from /lib/arm-linux-gnueabi/libc.so.6
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb) thread 1
> [Switching to thread 1 (Thread 0xb6c4a000 (LWP 3020))]
> #0  0xb6d17c04 in poll () from /lib/arm-linux-gnueabi/libc.so.6
> (gdb) info stack
> #0  0xb6d17c04 in poll () from /lib/arm-linux-gnueabi/libc.so.6
> #1  0x000ef92c in esl_wait_sock (sock=<optimized out>, ms=<optimized out>,
> flags=<optimized out>) at src/esl.c:929
> #2  0x000ef988 in handle_recv (handle=0x11b67c, data=0x11b91c,
> datalen=65535) at src/esl.c:1230
> #3  0x000efc84 in esl_recv_event (handle=0x11b67c, check_q=<optimized
> out>, save_event=0x12c120) at src/esl.c:1323
> #4  0x000f0ba4 in esl_send_recv_timed (ms=0, cmd=<optimized out>,
> handle=0x11b67c) at src/esl.c:1554
> #5  esl_send_recv_timed (handle=0x11b67c, cmd=<optimized out>, ms=0) at
> src/esl.c:1521
> #6  0x0001f2e0 in EslHandler::sendAtCommand (this=0x11b670, atCmd=...) at
> eslHandler.cpp:204
> #7  0x0001f86c in EslHandler::getImsiFromSim (this=0x11b670) at
> eslHandler.cpp:262
> #8  0x0001450c in FsControl::checkMessages (this=0x11b2a0) at
> fsControl.cpp:435
> #9  0x000124cc in FsControl::handleEslCustomEvent (this=0x11b2a0,
> mapEventReceived=...) at fsControl.cpp:376
> #10 0x0000f334 in FsControl::handleEslEvent (this=0x11b2a0,
> mapEventReceived=...) at fsControl.cpp:226
> #11 0x0000e7a8 in FsControl::OnWaitHandle (this=0x11b2a0, whp=0x13aea8,
> data=...) at fsControl.cpp:140
> #12 0x000d230c in os::Schedualed::OnEvent (this=0x11b2a0, event=0x13aea8,
> data=...) at cpp/os.cpp:1578
> #13 0x000cd1d0 in os::Schedualer::mainloop (this=0x11b348,
> exitOnNoneManaged=false) at cpp/os.cpp:446
> #14 0x000161e0 in main (argc=3, argv=0xbea16904) at fsControl.cpp:603
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>


-- 

*Brian West*
brian at freeswitch.org


*Twitter: @FreeSWITCH , @briankwest*
http://www.freeswitchbook.com
http://www.freeswitchcookbook.com

*T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378)
*iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20140805/8153003f/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list