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

Shlomi Agiv shlomi.agiv at cell-buddy.com
Tue Aug 5 17:25:19 MSD 2014


Grant,
Thanks, that makes a lot of sense.

Brian,
mod_com_g729 isn't loaded. should it?



On Tue, Aug 5, 2014 at 2:50 PM, Brian West <brian at freeswitch.org> wrote:

> 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
>
> _________________________________________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20140805/3b2e7b72/attachment.html 


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