Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
J
jami-daemon
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 130
    • Issues 130
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Requirements
    • Requirements
    • List
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • savoirfairelinux
  • jami-daemon
  • Issues
  • #384

Closed
Open
Opened Jan 08, 2021 by Amirhossein Naghshzan@anaghshzanDeveloper

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
Assignee
Assign to
Iteration 26
Milestone
Iteration 26 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: savoirfairelinux/ring-daemon#384