Scenario
- Alice call Bob
- Alice adds Carla to the conference
- Bob stop
- Crash
0x00007fffedfe7364 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator std::basic_string_view<char, std::char_traits<char> >() const () from /lib64/libstdc++.so.6
(gdb) bt
#0 0x00007fffedfe7364 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator std::basic_string_view<char, std::char_traits<char> >() const () at /lib64/libstdc++.so.6
#1 0x00007fffec0f563c in std::less<void>::_S_cmp<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&, std::integral_constant<bool, false>) (__t=<error reading variable: Cannot access memory at address 0x40>, __u="") at /usr/include/c++/10/bits/stl_function.h:601
#2 0x00007fffec0f569f in std::less<void>::operator()<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __t=<error reading variable: Cannot access memory at address 0x40>, __u="") at /usr/include/c++/10/bits/stl_function.h:586
#3 0x00007fffec0f0eeb in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<void>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_lower_bound_tr<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __k="") at /usr/include/c++/10/bits/stl_tree.h:1346
#4 0x00007fffec0eb35e in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Identity<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<void>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_find_tr<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __k="") at /usr/include/c++/10/bits/stl_tree.h:1314
#5 0x00007fffec0e63b3 in std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<void>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::find<std::basic_string_view<char, std::char_traits<char> > >(std::basic_string_view<char, std::char_traits<char> > const&) const (this=0xc3c6c8, __x="") at /usr/include/c++/10/bits/stl_set.h:812
#6 0x00007fffec0d9002 in jami::Conference::isModerator(std::basic_string_view<char, std::char_traits<char> >) const (this=0xc3c4a0, uri="") at conference.cpp:946
#7 0x00007fffec0d327a in operator()() const (__closure=0x7ffe9e2422c0) at conference.cpp:100
#8 0x00007fffec0dc11a in operator()() (this=0x7ffe9e2422c0) at manager.h:1057
#9 0x00007fffec0de730 in std::__invoke_impl<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/10/bits/invoke.h:60
#10 0x00007fffec0ddef4 in std::__invoke_r<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#11 0x00007fffec0dd337 in std::_Function_handler<void(), jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/10/bits/std_function.h:291
#12 0x00007fffec1328d8 in std::function<void ()>::operator()() const (this=0x7ffe9e5d5e40) at /usr/include/c++/10/bits/std_function.h:622
#13 0x00007fffec205ce3 in jami::ScheduledExecutor::loop() (this=0xdc94a0) at scheduled_executor.cpp:137
#14 0x00007fffec2052a1 in operator()() const (__closure=0xe2e828) at scheduled_executor.cpp:32
#15 0x00007fffec207212 in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#16 0x00007fffec2071c7 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#17 0x00007fffec207174 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xe2e828) at /usr/include/c++/10/thread:264
#18 0x00007fffec207148 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0xe2e828) at /usr/include/c++/10/thread:271
#19 0x00007fffec20712c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0xe2e820) at /usr/include/c++/10/thread:215
#20 0x00007fffedf38444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#21 0x00007fffed9513f9 in start_thread () at /lib64/libpthread.so.0
#22 0x00007fffedc354c3 in clone () at /lib64/libc.so.6
Thread 72 "jami-qt" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffebaffd640 (LWP 3232921)]
std::_Rb_tree<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound (this=0x817f990, __x=0xc, __y=0x817f998, __k=@0x7ffebaff92f0: 0xd117170) at /usr/include/c++/10/bits/stl_tree.h:1937
1937 if (!_M_impl._M_key_compare(_S_key(__x), __k))
(gdb) bt
#0 std::_Rb_tree<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, std::_Rb_tree_node_base*, jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const&) (this=0x817f990, __x=0xc, __y=0x817f998, __k=@0x7ffebaff92f0: 0xd117170) at /usr/include/c++/10/bits/stl_tree.h:1937
#1 0x00007fffec0ea361 in std::_Rb_tree<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find(jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const&) (this=0x817f990, __k=@0x7ffebaff92f0: 0xd117170)
at /usr/include/c++/10/bits/stl_tree.h:2555
#2 0x00007fffec0e6513 in std::map<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<jami::Observable<std::shared_ptr<DRing::MediaFrame> >*>, std::allocator<std::pair<jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find(jami::Observable<std::shared_ptr<DRing::MediaFrame> >* const&) (this=0x817f990, __x=@0x7ffebaff92f0: 0xd117170)
at /usr/include/c++/10/bits/stl_map.h:1170
#3 0x00007fffec0d9af9 in jami::Conference::detachVideo(jami::Observable<std::shared_ptr<DRing::MediaFrame> >*) (this=0x817f860, frame=0xd117170) at conference.cpp:610
#4 0x00007fffec324a1a in jami::video::VideoRtpSession::setupConferenceVideoPipeline(jami::Conference&) (this=0xd120760, conference=...) at ./media/video/video_rtp_session.cpp:352
#5 0x00007fffec324795 in jami::video::VideoRtpSession::setupVideoPipeline() (this=0xd120760) at ./media/video/video_rtp_session.cpp:324
#6 0x00007fffec3242dc in jami::video::VideoRtpSession::start(std::unique_ptr<jami::IceSocket, std::default_delete<jami::IceSocket> >, std::unique_ptr<jami::IceSocket, std::default_delete<jami::IceSocket> >)
(this=0xd120760, rtp_sock=std::unique_ptr<jami::IceSocket> = {...}, rtcp_sock=std::unique_ptr<jami::IceSocket> = {...}) at ./media/video/video_rtp_session.cpp:271
#7 0x00007fffec37350e in jami::SIPCall::startAllMedia() (this=0xd117280) at ./sip/sipcall.cpp:2037
#8 0x00007fffec3756b4 in jami::SIPCall::onIceNegoSucceed() (this=0xd117280) at ./sip/sipcall.cpp:2472
#9 0x00007fffec378a1e in operator()() const (__closure=0x7ffb880099c0) at ./sip/sipcall.cpp:3129
#10 0x00007fffec37c878 in operator()() (this=0x7ffb880099c0) at ./manager.h:1057
#11 0x00007fffec3825e2 in std::__invoke_impl<void, jami::runOnMainThread<jami::SIPCall::initIceMediaTransport(bool, std::optional<jami::IceTransportOptions>)::<lambda(bool)>::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/10/bits/invoke.h:60
#12 0x00007fffec3813d2 in std::__invoke_r<void, jami::runOnMainThread<jami::SIPCall::initIceMediaTransport(bool, std::optional<jami::IceTransportOptions>)::<lambda(bool)>::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#13 0x00007fffec37f7c3 in std::_Function_handler<void(), jami::runOnMainThread<jami::SIPCall::initIceMediaTransport(bool, std::optional<jami::IceTransportOptions>)::<lambda(bool)>::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/10/bits/std_function.h:291
#14 0x00007fffec134480 in std::function<void ()>::operator()() const (this=0x7ffb880098f0) at /usr/include/c++/10/bits/std_function.h:622
#15 0x00007fffec20789d in jami::ScheduledExecutor::loop() (this=0xdcc320) at scheduled_executor.cpp:137
#16 0x00007fffec206e5b in operator()() const (__closure=0xdfcab8) at scheduled_executor.cpp:32
#17 0x00007fffec208dcc in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#18 0x00007fffec208d81 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#19 0x00007fffec208d2e in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xdfcab8) at /usr/include/c++/10/thread:264
#20 0x00007fffec208d02 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0xdfcab8) at /usr/include/c++/10/thread:271
#21 0x00007fffec208ce6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0xdfcab0) at /usr/include/c++/10/thread:215
#22 0x00007fffedf38444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#23 0x00007fffed9513f9 in start_thread () at /lib64/libpthread.so.0
#24 0x00007fffedc354c3 in clone () at /lib64/libc.so.6
0x00007fffedf23e53 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () from /lib64/libstdc++.so.6
(gdb) bt
#0 0x00007fffedf23e53 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () at /lib64/libstdc++.so.6
#1 0x00007fffec0e6993 in std::_Rb_tree_const_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator++() (this=0x7ffecaff92d8) at /usr/include/c++/10/bits/stl_tree.h:368
#2 0x00007fffec0dd8e7 in jami::Conference::isHost(std::basic_string_view<char, std::char_traits<char> >) const (this=0x9448cf0, uri="host") at conference.cpp:1158
#3 0x00007fffec0dc040 in jami::Conference::isHandRaised(std::basic_string_view<char, std::char_traits<char> >) const (this=0x9448cf0, uri="host") at conference.cpp:948
#4 0x00007fffec0d634d in operator()() const (__closure=0x7ffafc4be450) at conference.cpp:108
#5 0x00007fffec0dee4c in operator()() (this=0x7ffafc4be450) at manager.h:1057
#6 0x00007fffec0e045e in std::__invoke_impl<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/10/bits/invoke.h:60
#7 0x00007fffec0e005c in std::__invoke_r<void, jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#8 0x00007fffec0dfa21 in std::_Function_handler<void(), jami::runOnMainThread<jami::Conference::Conference(bool)::<lambda(std::vector<jami::video::SourceInfo>&&)>::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
at /usr/include/c++/10/bits/std_function.h:291
#9 0x00007fffec134480 in std::function<void ()>::operator()() const (this=0x7ffb241e8d40) at /usr/include/c++/10/bits/std_function.h:622
#10 0x00007fffec20789d in jami::ScheduledExecutor::loop() (this=0xdcb3a0) at scheduled_executor.cpp:137
#11 0x00007fffec206e5b in operator()() const (__closure=0xde11c8) at scheduled_executor.cpp:32
#12 0x00007fffec208dcc in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#13 0x00007fffec208d81 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#14 0x00007fffec208d2e in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0xde11c8) at /usr/include/c++/10/thread:264
#15 0x00007fffec208d02 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0xde11c8) at /usr/include/c++/10/thread:271
#16 0x00007fffec208ce6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0xde11c0) at /usr/include/c++/10/thread:215
#17 0x00007fffedf38444 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#18 0x00007fffed9513f9 in start_thread () at /lib64/libpthread.so.0
#19 0x00007fffedc354c3 in clone () at /lib64/libc.so.6
(gdb)