deadlock PUPNP
Thread 2 (Thread 0x7ffff61b26c0 (LWP 2479504) "ut_conversation"):
#0 0x00007ffff6cab470 in __lll_lock_wait () from /lib64/libc.so.6
#1 0x00007ffff6cb1e61 in pthread_mutex_lock@@GLIBC_2.2.5 () from /lib64/libc.so.6
#2 0x0000000000aad982 in dhtnet::upnp::UPnPContext::getMappingWithKey(unsigned long) ()
#3 0x0000000000aadba2 in dhtnet::upnp::UPnPContext::onMappingRenewed(std::shared_ptr<dhtnet::upnp::IGD> const&, dhtnet::upnp::Mapping const&) ()
#4 0x0000000000acf1cc in asio::detail::completion_handler<dhtnet::upnp::NatPmp::processMappingRenewed(dhtnet::upnp::Mapping const&)::{lambda()#1}, asio::io_context::basic_executor_type<std::allocator<void>, 0ul> >::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) ()
#5 0x0000000000ab023e in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#6 0x0000000000ab052e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::upnp::UPnPContext::createIoContext(std::shared_ptr<asio::io_context> const&, std::shared_ptr<dht::log::Logger> const&)::{lambda()#1}> > >::_M_run() ()
#7 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#8 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#9 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 1 (Thread 0x7ffff61b8380 (LWP 2479496) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cb0623 in __pthread_clockjoin_ex () from /lib64/libc.so.6
#2 0x00007ffff6ee3227 in std::thread::join() () from /lib64/libstdc++.so.6
#3 0x0000000000aad5bf in dhtnet::upnp::UPnPContext::shutdown() ()
#4 0x00000000004dbd68 in jami::Manager::finish (this=0x1e0ef40 <jami::Manager::instance()::instance>) at manager.cpp:885
#5 0x000000000055b2a0 in libjami::fini () at ring_api.cpp:105
#6 0x00000000004bb43d in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x314cff0, __in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#7 0x00000000004bb514 in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x314cff0, __in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#8 0x00000000004cd09d in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (this=0x314b2e0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:170
--Type <RET> for more, q to quit, c to continue without paging--
#9 0x00000000004cd0da in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (this=0x314b2e0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:171
#10 0x00007ffff7f875bd in CppUnit::TestSuite::deleteContents() () from /lib64/libcppunit-1.15.so.1
#11 0x00007ffff7f8de23 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#12 0x00007ffff7f8de65 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#13 0x00007ffff7f875bd in CppUnit::TestSuite::deleteContents() () from /lib64/libcppunit-1.15.so.1
#14 0x00007ffff7f8de23 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#15 0x00007ffff7f8de65 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#16 0x00007ffff7f875bd in CppUnit::TestSuite::deleteContents() () from /lib64/libcppunit-1.15.so.1
#17 0x00007ffff7f8de23 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#18 0x00007ffff7f8dec3 in CppUnit::TestRunner::WrappingSuite::~WrappingSuite() () from /lib64/libcppunit-1.15.so.1
#19 0x00000000004b0287 in main () at conversation/conversationRequest.cpp:1089
[1704313912.243|54664] Shutdown completed
[Thread 0x7fff9f7fe6c0 (LWP 2480018) exited]
[1704313912.244|54664] UPnPContext: stopping io_context thread
[Thread 0x7fffd27fc6c0 (LWP 2479958) exited]
[Thread 0x7fffca7fc6c0 (LWP 2479526) exited]
[Thread 0x7fffcbfff6c0 (LWP 2479523) exited]
[Thread 0x7fffd17fa6c0 (LWP 2479521) exited]
[Thread 0x7fffede2a6c0 (LWP 2479513) exited]
[1704313914.770|54677|siptransport.cpp :210 ] pjsip transport@0x7fff78013f30 TLS to 192.168.0.128 -> DESTROY
[1704313914.770|54677|siptransport.cpp :225 ] unmap pjsip transport@0x7fff78013f30 {SipTransport@(nil)}
[1704313914.770|54677|channeled_transport.cpp :128 ] ChanneledSIPTransport@0x7fff78013ec0: destroying
[1704313914.770|54677|channeled_transport.cpp :198 ] ~ChanneledSIPTransport@0x7fff78013ec0 {tr=0x7fff78013f30}
[1704313914.770|54677|channeled_transport.cpp :215 ] ~ChanneledSIPTransport@0x7fff78013ec0 {tr=0x7fff78013f30} bye
[1704313915.469|54677|siptransport.cpp :210 ] pjsip transport@0x7fff10003240 TLS to 192.168.0.128 -> DESTROY
[1704313915.469|54677|siptransport.cpp :225 ] unmap pjsip transport@0x7fff10003240 {SipTransport@(nil)}
[1704313915.469|54677|channeled_transport.cpp :128 ] ChanneledSIPTransport@0x7fff100031d0: destroying
[1704313915.469|54677|channeled_transport.cpp :198 ] ~ChanneledSIPTransport@0x7fff100031d0 {tr=0x7fff10003240}
[1704313915.469|54677|channeled_transport.cpp :215 ] ~ChanneledSIPTransport@0x7fff100031d0 {tr=0x7fff10003240} bye
.
Second one
Thread 2 (Thread 0x7ffff61b26c0 (LWP 2498758) "ut_conversation"):
#0 0x00007ffff6cab470 in __lll_lock_wait () from /lib64/libc.so.6
#1 0x00007ffff6cb1e61 in pthread_mutex_lock@@GLIBC_2.2.5 () from /lib64/libc.so.6
#2 0x0000000000ab2d68 in dhtnet::upnp::UPnPContext::stopUpnp(bool) ()
#3 0x0000000000ab33c3 in dhtnet::upnp::UPnPContext::unregisterController(void*) ()
#4 0x0000000000abaeae in asio::detail::completion_handler<dhtnet::upnp::Controller::~Controller()::{lambda()#1}, asio::io_context::basic_executor_type<std::allocator<void>, 0ul> >::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) ()
#5 0x0000000000ab015e in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#6 0x0000000000ab044e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::upnp::UPnPContext::createIoContext(std::shared_ptr<asio::io_context> const&, std::shared_ptr<dht::log::Logger> const&)::{lambda()#1}> > >::_M_run() ()
#7 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#8 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#9 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 1 (Thread 0x7ffff61b8380 (LWP 2498298) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cb0623 in __pthread_clockjoin_ex () from /lib64/libc.so.6
#2 0x00007ffff6ee3227 in std::thread::join() () from /lib64/libstdc++.so.6
#3 0x0000000000aad4df in dhtnet::upnp::UPnPContext::shutdown() ()
#4 0x00000000004dbcb8 in jami::Manager::finish (this=0x1e0ef00 <jami::Manager::instance()::instance>) at manager.cpp:885
#5 0x000000000055b1f0 in libjami::fini () at ring_api.cpp:105
#6 0x00000000004bb38d in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x314cff0, __in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#7 0x00000000004bb464 in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x314cff0, __in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#8 0x00000000004ccfed in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (this=0x314b2e0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:170
#9 0x00000000004cd02a in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (this=0x314b2e0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:171
#10 0x00007ffff7f875bd in CppUnit::TestSuite::deleteContents() () from /lib64/libcppunit-1.15.so.1
#11 0x00007ffff7f8de23 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#12 0x00007ffff7f8de65 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#13 0x00007ffff7f875bd in CppUnit::TestSuite::deleteContents() () from /lib64/libcppunit-1.15.so.1
#14 0x00007ffff7f8de23 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#15 0x00007ffff7f8de65 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#16 0x00007ffff7f875bd in CppUnit::TestSuite::deleteContents() () from /lib64/libcppunit-1.15.so.1
#17 0x00007ffff7f8de23 in CppUnit::TestSuite::~TestSuite() () from /lib64/libcppunit-1.15.so.1
#18 0x00007ffff7f8dec3 in CppUnit::TestRunner::WrappingSuite::~WrappingSuite() () from /lib64/libcppunit-1.15.so.1
--Type <RET> for more, q to quit, c to continue without paging--
#19 0x00000000004b01d7 in main () at conversation/conversationRequest.cpp:1089
Edited by Sébastien Blin