It looks to me like it should have worked.Maybe you do something wrong in the callback ?Refer to other code that uses media bug, like mod_avmd ._________________________________________________________________________On Fri, Sep 6, 2019 at 7:03 PM David Horton <daveh@drachtio.org> wrote:(Resending, as original email has not appeared in the mailing list)
I’m trying to understand the semantics of removing and re-adding a media bug to a channel.
My scenario is that I need to add a bug to a session, and after some period of processing audio then want to remove it.
Based on other factors, some time later in the call, I may want to re-add it again.
I am on Freeswitch v1.8.5
How I am doing this now is:
- switch_core_media_bug_add(session, “my-function”, NULL, callback, …)
some time later
- switch_core_media_bug_remove(session, &bug);
some time later
- switch_core_media_bug_add(session, “my-function”, NULL, callback, …)
That all works fine, but when the session ends I get a segfault. See the stack trace below.
(Note: I also tried using ‘switch_core_media_bug_close’ for the second step, and I don’t get a stack trace in that scenario, but neither does my callback get invoked after I re-add the bug in step #3).
So, two questions:
1) What is the recommended way to accomplish what I am doing?
2) Is this a bug in freeswitch that I should report via Confluence?
Thread 40 "freeswitch" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffee766700 (LWP 31704)]
__GI___pthread_rwlock_unlock (rwlock=0x7fffc801acf0) at pthread_rwlock_unlock.c:38
38 pthread_rwlock_unlock.c: No such file or directory.
(gdb) bt
#0 __GI___pthread_rwlock_unlock (rwlock=0x7fffc801acf0) at pthread_rwlock_unlock.c:38
#1 0x00007ffff7658b6e in apr_thread_rwlock_unlock () from /usr/local/freeswitch/lib/libfreeswitch.so.1
#2 0x00007ffff6fc2cf3 in switch_thread_rwlock_unlock (rwlock=0x7fffc801ace8) at src/switch_apr.c:279
#3 0x00007ffff6fe3272 in switch_core_media_bug_remove_all_function (session=0x7fffc801c158, function=0x0)
at src/switch_core_media_bug.c:1231
#4 0x00007ffff700a6f3 in switch_core_session_hangup_state (session=0x7fffc801c158, force=SWITCH_TRUE)
at src/switch_core_state_machine.c:838
#5 0x00007ffff7007178 in switch_core_session_run (session=0x7fffc801c158)
at src/switch_core_state_machine.c:615
#6 0x00007ffff700069e in switch_core_session_thread (thread=0x7fffc8041410, obj=0x7fffc801c158)
at src/switch_core_session.c:1698
#7 0x00007ffff7000a8d in switch_core_session_thread_pool_worker (thread=0x7fffc8041410, obj=0x7fffc80412a0)
at src/switch_core_session.c:1761
#8 0x00007ffff7660e1f in dummy_worker () from /usr/local/freeswitch/lib/libfreeswitch.so.1
#9 0x00007ffff63554a4 in start_thread (arg=0x7fffee766700) at pthread_create.c:456
#10 0x00007ffff5992d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services
sales@freeswitch.com
https://freeswitch.com
Official FreeSWITCH Sites
https://freeswitch.com/oss
https://freeswitch.org/confluence
https://cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
https://freeswitch.com
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services
sales@freeswitch.com
https://freeswitch.com
Official FreeSWITCH Sites
https://freeswitch.com/oss
https://freeswitch.org/confluence
https://cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
https://freeswitch.com