doUnregister deadlock
Thread 1 (Thread 0x7ffff61b8380 (LWP 1140918) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cadbb9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2 0x00007ffff6edc180 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib64/libstdc++.so.6
#3 0x00000000006cba93 in std::condition_variable::wait<jami::JamiAccount::doUnregister(std::function<void(bool)>)::<lambda()> >(std::unique_lock<std::mutex> &, struct {...}) (this=0x7fffffffcea0, __lock=..., __p=...) at /usr/include/c++/13/condition_variable:105
#4 0x00000000006b3158 in jami::JamiAccount::doUnregister(std::function<void (bool)>) (this=0x3220a70, released_cb=...) at jamidht/jamiaccount.cpp:2340
and
Thread 99 (Thread 0x7fff7b7fe6c0 (LWP 1141832) "ut_conversation"):
#0 0x00007ffff6cab470 in __lll_lock_wait () from /lib64/libc.so.6
#1 0x00007ffff6cb1eb7 in pthread_mutex_lock@@GLIBC_2.2.5 () from /lib64/libc.so.6
#2 0x0000000000496617 in __gthread_mutex_lock (__mutex=0x3221500) at /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h:749
#3 0x00000000004cf95c in __gthread_recursive_mutex_lock (__mutex=0x3221500) at /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h:811
#4 0x00000000004d0464 in std::recursive_mutex::lock (this=0x3221500) at /usr/include/c++/13/mutex:120
#5 0x000000000054a69f in std::unique_lock<std::recursive_mutex>::lock (this=0x7fff7b7fb750) at /usr/include/c++/13/bits/unique_lock.h:141
#6 0x0000000000548a8b in std::unique_lock<std::recursive_mutex>::unique_lock (this=0x7fff7b7fb750, __m=...) at /usr/include/c++/13/bits/unique_lock.h:71
#7 0x00000000006b2962 in jami::JamiAccount::convModule (this=0x3220a70) at jamidht/jamiaccount.cpp:2138
#8 0x00000000006bd6f0 in jami::JamiAccount::handleMessage (this=0x3220a70, from="c92d0a0317f73bae29a777ee33c85ce5c7fa5ca7", m={...}) at jamidht/jamiaccount.cpp:3508
#9 0x0000000000867bfa in jami::SIPAccountBase::onTextMessage (this=0x3220a70, id="00157a9ed1990460", from="c92d0a0317f73bae29a777ee33c85ce5c7fa5ca7", payloads=std::map with 1 element = {...}) at ./sip/sipaccountbase.cpp:291
#10 0x00000000006b2d71 in jami::JamiAccount::onTextMessage (this=0x3220a70, id="00157a9ed1990460", from="c92d0a0317f73bae29a777ee33c85ce5c7fa5ca7", deviceId="ad18f4f42e3bc7bf6873044fe02f751c90198e86d1dd9781c78b936a3f805376", payloads=std::map with 1 element = {...}) at jamidht/jamiaccount.cpp:2287
#11 0x00000000006b0f5f in operator() (__closure=0x7fff74235f10, cert=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}, peer_account=...) at jamidht/jamiaccount.cpp:2098
#12 0x00000000006e4c15 in std::__invoke_impl<void, jami::JamiAccount::doRegister_()::<lambda(dht::ImMessage&&)>::<lamb--Type <RET> for more, q to quit, c to continue without paging--
da(const std::shared_ptr<dht::crypto::Certificate>&, const dht::InfoHash&)>&, const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#13 0x00000000006dbd67 in std::__invoke_r<void, jami::JamiAccount::doRegister_()::<lambda(dht::ImMessage&&)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&, const dht::InfoHash&)>&, const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#14 0x00000000006d3093 in std::_Function_handler<void(const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&), jami::JamiAccount::doRegister_()::<lambda(dht::ImMessage&&)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&, const dht::InfoHash&)> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<dht::crypto::Certificate> &, const dht::Hash<20> &) (__functor=..., __args#0=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}, __args#1=...) at /usr/include/c++/13/bits/std_function.h:290
#15 0x000000000093663d in std::function<void (std::shared_ptr<dht::crypto::Certificate> const&, dht::Hash<20ul> const&)>::operator()(std::shared_ptr<dht::crypto::Certificate> const&, dht::Hash<20ul> const&) const (this=0x7fff740e8c18, __args#0=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}, __args#1=...) at /usr/include/c++/13/bits/std_function.h:591
#16 0x000000000092984f in operator() (__closure=0x7fff740e8c10, cert=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}) at jamidht/account_manager.cpp:456
#17 0x0000000000931c43 in std::__invoke_impl<void, jami::AccountManager::onPeerMessage(const dht::crypto::PublicKey&, bool, std::function<void(const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&)>&&)::<lambda(const std::shared_ptr<dht::crypto::Certificate>&)>&, const std::shared_ptr<dht::crypto::Certificate>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#18 0x00000000009305c6 in std::__invoke_r<void, jami::AccountManager::onPeerMessage(const dht::crypto::PublicKey&, bool, std::function<void(const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&)>&&)::<lambda(const std::shared_ptr<dht::crypto::Certificate>&)>&, const std::shared_ptr<dht::crypto::Certificate>&>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#19 0x000000000092ed35 in std::_Function_handler<void(const std::shared_ptr<dht::crypto::Certificate>&), jami::AccountManager::onPeerMessage(const dht::crypto::PublicKey&, bool, std::function<void(const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&)>&&)::<lambda(const std::shared_ptr<dht::crypto::Certificate>&)> >::_M_invoke(const std::_Any_data &, const std::shared_ptr<dht::crypto::Certificate> &) (__functor=..., __args#0=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}) at /usr/include/c++/13/bits/std_function.h:290
#20 0x0000000000935be5 in std::function<void (std::shared_ptr<dht::crypto::Certificate> const&)>::operator()(std::shared_ptr<dht::crypto::Certificate> const&) const (this=0x7fff7b7fc710, __args#0=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}) at /usr/include/c++/13/bits/std_function.h:591
#21 0x000000000092a824 in jami::AccountManager::findCertificate(dht::Hash<20ul> const&, std::function<void (std::shared_ptr<dht::crypto::Certificate> const&)>&&) (this=0x3217e70, h=..., cb=...) at jamidht/account_manager.cpp:602
#22 0x00000000009299d3 in jami::AccountManager::onPeerMessage(dht::crypto::PublicKey const&, bool, std::function<void (std::shared_ptr<dht::crypto::Certificate> const&, dht::Hash<20ul> const&)>&&) (this=0x3217e70, peer_device=..., allowPublic=true, cb=...) at jamidht/account_manager.cpp:451
#23 0x00000000006b140b in operator() (__closure=0x7fff740043e0, v=...) at jamidht/jamiaccount.cpp:2084
#24 0x00000000006e4ced in std::__invoke_impl<bool, jami::JamiAccount::doRegister_()::<lambda(dht::ImMessage&&)>&, dht::ImMessage>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#25 0x00000000006dbee4 in std::__invoke_r<bool, jami::JamiAccount::doRegister_()::<lambda(dht::ImMessage&&)>&, dht::ImMessage>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:114
#26 0x00000000006d319a in std::_Function_handler<bool(dht::ImMessage&&), jami::JamiAccount::doRegister_()::<lambda(dht::ImMessage&&)> >::_M_invoke(const std::_Any_data &, dht::ImMessage &&) (__functor=..., __args#0=...) at /usr/include/c++/13/bits/std_function.h:290
#27 0x0000000000708c25 in std::function<bool (dht::ImMessage&&)>::operator()(dht::ImMessage&&) const (this=0x7fffd4097ec0, __args#0=...) at /usr/include/c++/13/bits/std_function.h:591
#28 0x00000000006fdcc2 in dht::DhtRunner::listen<dht::ImMessage>(dht::Hash<20ul>, std::function<bool (dht::ImMessage&&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)#1}::operator()(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) const (__closure=0x7fffd4097ec0, vals=std::vector of length 1, capacity 1 = {...}) at /home/amarok/Pro--Type <RET> for more, q to quit, c to continue without paging--
jects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/opendht/dhtrunner.h:199
#29 0x00000000007252b7 in std::__invoke_impl<bool, dht::DhtRunner::listen<dht::ImMessage>(dht::Hash<20ul>, std::function<bool (dht::ImMessage&&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&>(std::__invoke_other, dht::DhtRunner::listen<dht::ImMessage>(dht::Hash<20ul>, std::function<bool (dht::ImMessage&&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#30 0x000000000071da85 in std::__invoke_r<bool, dht::DhtRunner::listen<dht::ImMessage>(dht::Hash<20ul>, std::function<bool (dht::ImMessage&&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&>(dht::DhtRunner::listen<dht::ImMessage>(dht::Hash<20ul>, std::function<bool (dht::ImMessage&&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:114
#31 0x0000000000713969 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&), dht::DhtRunner::listen<dht::ImMessage>(dht::Hash<20ul>, std::function<bool (dht::ImMessage&&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)#1}>::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) (__functor=..., __args#0=std::vector of length 1, capacity 1 = {...}) at /usr/include/c++/13/bits/std_function.h:290
#32 0x00000000006f73d3 in std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>::operator()(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) const (this=0x7fffd4098450, __args#0=std::vector of length 1, capacity 1 = {...}) at /usr/include/c++/13/bits/std_function.h:591
#33 0x00000000006f2729 in dht::DhtRunner::listen(dht::Hash<20ul>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}::operator()(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool) const (__closure=0x7fffd4098450, vals=std::vector of length 1, capacity 1 = {...}, expired=false) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/opendht/dhtrunner.h:167
#34 0x0000000000718ae9 in std::__invoke_impl<bool, dht::DhtRunner::listen(dht::Hash<20ul>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool>(std::__invoke_other, dht::DhtRunner::listen(dht::Hash<20ul>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#35 0x000000000070d771 in std::__invoke_r<bool, dht::DhtRunner::listen(dht::Hash<20ul>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool>(dht::DhtRunner::listen(dht::Hash<20ul>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:114
#36 0x0000000000702856 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool), dht::DhtRunner::listen(dht::Hash<20ul>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&)>, dht::Value::Filter, dht::Where)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}>::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const--Type <RET> for more, q to quit, c to continue without paging--
&, bool&&) (__functor=..., __args#0=std::vector of length 1, capacity 1 = {...}, __args#1=@0x7fff7b7fccc0: false) at /usr/include/c++/13/bits/std_function.h:290
#37 0x0000000000c883e1 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool), dht::SecureDht::getCallbackFilter(std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)> const&, dht::Value::Filter&&)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}>::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) ()
#38 0x0000000000c5cad8 in dht::OpValueCache::onValuesAdded(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
#39 0x0000000000c44b25 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool), dht::OpValueCache::cacheCallback(std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)>&&, std::function<void ()>&&)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}>::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) ()
#40 0x0000000000c5bc94 in dht::OpCache::onValuesAdded(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) ()
#41 0x0000000000c60965 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool), dht::OpCache::OpCache()::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}>::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) ()
#42 0x0000000000c5cad8 in dht::OpValueCache::onValuesAdded(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
#43 0x0000000000c5cf15 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool), dht::SearchCache::listen(std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)> const&, std::shared_ptr<dht::Query> const&, dht::Value::Filter&&, std::function<unsigned long (std::shared_ptr<dht::Query>, std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)>, std::function<void (dht::ListenSyncStatus)>)> const&)::{lambda(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)#1}>::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) ()
#44 0x0000000000c44d60 in std::_Function_handler<void (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool), std::function<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool)> >::_M_invoke(std::_Any_data const&, std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, bool&&) ()
#45 0x0000000000c44a72 in std::_Function_handler<void (), dht::ValueCache::addValues[abi:cxx11](std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, dht::TypeStore const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) ()
#46 0x0000000000c50bd2 in dht::ValueCache::onValues(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, dht::TypeStore const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
#47 0x0000000000c2aef4 in std::_Function_handler<void (std::shared_ptr<dht::Node> const&, dht::net::RequestAnswer&&), dht::Dht::searchSynchedNodeListen(std::shared_ptr<dht::Dht::Search> const&, dht::Dht::SearchNode&)::{lambda(std::shared_ptr<dht::Node> const&, dht::net::RequestAnswer&&)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<dht::Node> const&, dht::net::RequestAnswer&&) ()
#48 0x0000000000c7ac17 in dht::net::NetworkEngine::process(std::unique_ptr<dht::net::ParsedMessage, std::default_delete<dht::net::ParsedMessage> >&&, dht::SockAddr const&) ()
--Type <RET> for more, q to quit, c to continue without paging--
#49 0x0000000000c7c064 in dht::net::NetworkEngine::processMessage(unsigned char const*, unsigned long, dht::SockAddr) ()
#50 0x0000000000c2d8a1 in dht::Dht::periodic(unsigned char const*, unsigned long, dht::SockAddr, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
#51 0x0000000000b97cf1 in dht::DhtRunner::loop_() ()
#52 0x0000000000b97e26 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::DhtRunner::run(dht::DhtRunner::Config const&, dht::DhtRunner::Context&&)::{lambda()#1}> > >::_M_run() ()
#53 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#54 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#55 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Both locking configurationMutex