Call: deadlock in SIPCall::SIPSessionReinvite()
Just after the peer accepted the call:
thread #14, name = 'DRing'
frame #0: 0x00007b569ab2e2a8 libc.so`syscall + 24
frame #1: 0x00007b569ab31f03 libc.so`__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 147
frame #2: 0x00007b569ab9cb4d libc.so`NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*) + 541
frame #3: 0x00007b53ade1d6c6 libc++_shared.so`std::__ndk1::recursive_mutex::lock() [inlined] std::__ndk1::__libcpp_recursive_mutex_lock(__m=<unavailable>) at __threading_support:244
frame #4: 0x00007b53ade1d6c1 libc++_shared.so`std::__ndk1::recursive_mutex::lock(this=<unavailable>) at mutex.cpp:71
frame #5: 0x00007b53ae257503 libring.so`std::__ndk1::lock_guard<std::__ndk1::recursive_mutex>::lock_guard(this=0x00007b53b03369b0, __m=0x00007b5518d611b0) at __mutex_base:99
frame #6: 0x00007b53ae626e9a libring.so`jami::SIPCall::~SIPCall(this=0x00007b5518d61100) at sipcall.cpp:112
frame #7: 0x00007b53ae3b6a28 libring.so`std::__ndk1::shared_ptr<jami::SIPCall> jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(this=0x00007b5518d61100)::ConcreteCall::~ConcreteCall() at call_factory.h:89
frame #8: 0x00007b53ae3b63d6 libring.so`std::__ndk1::__shared_ptr_emplace<std::__ndk1::shared_ptr<jami::SIPCall> jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(std::__ndk1::shared_ptr<jami::JamiAccount>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::Call::CallType, std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > const&)::ConcreteCall, std::__ndk1::allocator<std::__ndk1::shared_ptr<jami::SIPCall> jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(std::__ndk1::shared_ptr<jami::JamiAccount>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::Call::CallType, std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > const&)::ConcreteCall> >::__on_zero_shared(this=0x00007b5518d610e0) at memory:3581
frame #9: 0x00007b53ae246fdd libring.so`std::__ndk1::__shared_count::__release_shared(this=0x00007b5518d610e0) at memory:3415
frame #10: 0x00007b53ae246f7f libring.so`std::__ndk1::__shared_weak_count::__release_shared(this=0x00007b5518d610e0) at memory:3457
frame #11: 0x00007b53ae263f1c libring.so`std::__ndk1::shared_ptr<jami::SIPCall>::~shared_ptr(this=0x00007b5458d4b208) at memory:4393
frame #12: 0x00007b53ae2e5dc6 libring.so`jami::JamiAccount::onConnectedOutgoingCall(this=0x00007b5458d4b1d8)::$_9::~$_9() at jamiaccount.cpp:664
frame #13: 0x00007b53ae30a855 libring.so`std::__ndk1::__compressed_pair_elem<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, 0, false>::~__compressed_pair_elem(this=0x00007b5458d4b1d8) at memory:2133
frame #14: 0x00007b53ae30a938 libring.so`std::__ndk1::__compressed_pair<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, std::__ndk1::allocator<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9> >::~__compressed_pair(this=0x00007b5458d4b1d8) at memory:2210
frame #15: 0x00007b53ae30b255 libring.so`std::__ndk1::__function::__alloc_func<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, std::__ndk1::allocator<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9>, void (bool)>::destroy(this=0x00007b5458d4b1d8) at functional:1559
frame #16: 0x00007b53ae30a45b libring.so`std::__ndk1::__function::__func<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, std::__ndk1::allocator<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9>, void (bool)>::destroy_deallocate(this=0x00007b5458d4b1d0) at functional:1706
frame #17: 0x00007b53ae25630a libring.so`std::__ndk1::__function::__value_func<void (bool)>::~__value_func(this=0x00007b5458d4ce70) at functional:1828
frame #18: 0x00007b53ae253e25 libring.so`std::__ndk1::function<void (bool)>::~function(this=0x00007b5458d4ce70) at functional:2460
frame #19: 0x00007b53ae6305f6 libring.so`jami::SIPCall::initIceMediaTransport(this=0x00007b5458d4ce60)::$_20::~$_20() at sipcall.cpp:1644
frame #20: 0x00007b53ae652285 libring.so`std::__ndk1::__compressed_pair_elem<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, 0, false>::~__compressed_pair_elem(this=0x00007b5458d4ce60) at memory:2133
frame #21: 0x00007b53ae652368 libring.so`std::__ndk1::__compressed_pair<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, std::__ndk1::allocator<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20> >::~__compressed_pair(this=0x00007b5458d4ce60) at memory:2210
frame #22: 0x00007b53ae652c85 libring.so`std::__ndk1::__function::__alloc_func<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, std::__ndk1::allocator<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20>, void (bool)>::destroy(this=0x00007b5458d4ce60) at functional:1559
frame #23: 0x00007b53ae651e8b libring.so`std::__ndk1::__function::__func<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, std::__ndk1::allocator<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20>, void (bool)>::destroy_deallocate(this=0x00007b5458d4ce50) at functional:1706
frame #24: 0x00007b53ae25630a libring.so`std::__ndk1::__function::__value_func<void (bool)>::~__value_func(this=0x00007b5598d491b0) at functional:1828
frame #25: 0x00007b53ae253e25 libring.so`std::__ndk1::function<void (bool)>::~function(this=0x00007b5598d491b0) at functional:2460
frame #26: 0x00007b53ae58b7fd libring.so`jami::IceTransport::Impl::~Impl(this=0x00007b5598d49170) at ice_transport.cpp:465
frame #27: 0x00007b53ae5a443b libring.so`std::__ndk1::default_delete<jami::IceTransport::Impl>::operator(this=0x00007b5418d5b8b0, __ptr=0x00007b5598d49170)(jami::IceTransport::Impl*) const at memory:2338
frame #28: 0x00007b53ae5a43bf libring.so`std::__ndk1::unique_ptr<jami::IceTransport::Impl, std::__ndk1::default_delete<jami::IceTransport::Impl> >::reset(this=0x00007b5418d5b8b0, __p=0x0000000000000000) at memory:2593
frame #29: 0x00007b53ae597ed9 libring.so`std::__ndk1::unique_ptr<jami::IceTransport::Impl, std::__ndk1::default_delete<jami::IceTransport::Impl> >::~unique_ptr(this=0x00007b5418d5b8b0) at memory:2547
frame #30: 0x00007b53ae58de75 libring.so`jami::IceTransport::~IceTransport(this=0x00007b5418d5b8b0) at ice_transport.cpp:981
frame #31: 0x00007b53ae66164b libring.so`std::__ndk1::default_delete<jami::IceTransport>::operator(this=0x00007b5518d7b0e0, __ptr=0x00007b5418d5b8b0)(jami::IceTransport*) const at memory:2338
frame #32: 0x00007b53ae658dcf libring.so`std::__ndk1::unique_ptr<jami::IceTransport, std::__ndk1::default_delete<jami::IceTransport> >::reset(this=0x00007b5518d7b0e0, __p=0x00007b5418d61350) at memory:2593
frame #33: 0x00007b53ae65974d libring.so`std::__ndk1::unique_ptr<jami::IceTransport, std::__ndk1::default_delete<jami::IceTransport> >::operator=(this=0x00007b5518d7b0e0, __u=0x00007b53b0336ea0) at memory:2512
frame #34: 0x00007b53ae628d2f libring.so`jami::SIPCall::initIceMediaTransport(this=0x00007b5518d7ad00, master=true, options=optional<jami::IceTransportOptions> @ 0x00007b53b03371b0, channel_num=4) at sipcall.cpp:1680
frame #35: 0x00007b53ae62865e libring.so`jami::SIPCall::SIPSessionReinvite(this=0x00007b5518d7ad00) at sipcall.cpp:315
frame #36: 0x00007b53ae62c40b libring.so`jami::SIPCall::switchInput(this=0x00007b5518d7ad00, resource="camera://1") at sipcall.cpp:869
frame #37: 0x00007b53ae51d9f0 libring.so`jami::Manager::switchInput(this=0x00007b53afe24678, call_id="7987882540241637", res="camera://1") at manager.cpp:2369
frame #38: 0x00007b53ae244e75 libring.so`DRing::switchInput(callID="7987882540241637", resource="camera://1") at callmanager.cpp:332
frame #39: 0x00007b53ae20b814 libring.so`::Java_cx_ring_daemon_RingserviceJNI_switchInput_1_1SWIG_10(jenv=0x00007b54c8d40530, jcls=<unavailable>, jarg1=<unavailable>, jarg2=0x00007b53b0337444) at ring_wrapper.cpp:8173
frame #40: 0x00007b5408689ec8 libart.so`art_quick_generic_jni_trampoline + 216
frame #41: 0x00007b540868a350 libart.so