jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2024-01-24T13:12:27Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/946Profile update cause invalid messages to be generated2024-01-24T13:12:27ZSébastien BlinProfile update cause invalid messages to be generated# Scenario
Alice got 2 devices:
Windows BEta 20221221
Android 20231228-01
+ Windows creates a swarm
+ Android updates the profile, then send a text message
# Expected result
Windows should get new profile
# Current result
Windows g...# Scenario
Alice got 2 devices:
Windows BEta 20221221
Android 20231228-01
+ Windows creates a swarm
+ Android updates the profile, then send a text message
# Expected result
Windows should get new profile
# Current result
Windows get an invalid commit detectedSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/945Emojis not delete when deleted message2024-02-12T20:58:46ZXavier Jouslin de NorayEmojis not delete when deleted message## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue i...## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue instead of creating new one.
## Bug report form
## Describe your environment
Please specify the following:
- Jami version: Eleutheria - 20231228-01
- Device model: phone
- Android version: 9
- What build you are using: Play Store
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. create a message
2. add emojis
3. delete the message
- Actual result: the emojis still here
- Expected result: should delete the emojis with the deletion of message
## Additional informationhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/944deadlock for convModule()/doUnregister2024-01-19T13:22:35ZSébastien Blindeadlock for convModule()/doUnregister```
62968) exited]
[1705436516.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436516.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending,...```
62968) exited]
[1705436516.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436516.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436546.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436546.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436576.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436576.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436606.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436606.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436636.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436636.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436666.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436666.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436696.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436696.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436726.120|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436726.120|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436756.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436756.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436786.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436786.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436816.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436816.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436846.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436846.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436876.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436876.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[New Thread 0x7ffef2ffd6c0 (LWP 263476)]
[New Thread 0x7ffef27fc6c0 (LWP 263477)]
[Thread 0x7ffef27fc6c0 (LWP 263477) exited]
[Thread 0x7fffcbfff6c0 (LWP 261710) exited]
[1705436906.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436906.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436936.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436936.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436966.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436966.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
[1705436996.121|9735] Mapping status [TCP] - overall 8: 8 open (4 ready + 4 in use), 0 pending, 0 in-progress, 0 failed
[1705436996.121|9735] Mapping status [UDP] - overall 85: 85 open (8 ready + 77 in use), 0 pending, 0 in-progress, 0 failed
^C
Thread 1 "ut_conversation" received signal SIGINT, Interrupt.
0x00007ffff6cab470 in __lll_lock_wait () from /lib64/libc.so.6
(gdb) bt
#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 0x0000000000ba0488 in dht::DhtRunner::join() ()
#3 0x00000000006b66b8 in jami::JamiAccount::doUnregister(std::function<void (bool)>) (this=0x3253b30, released_cb=...) at jamidht/jamiaccount.cpp:2353
#4 0x00000000005043c2 in jami::Manager::removeAccount (this=0x1dd80a0 <jami::Manager::instance()::instance>, accountID="f40918a8475c268b", flush=true) at manager.cpp:2841
#5 0x00000000004eabf1 in wait_for_removal_of (accounts=std::vector of length 4, capacity 4 = {...}, timeout=std::chrono::duration = { 30s }) at common.cpp:132
#6 0x0000000000497247 in jami::test::ConversationMembersEventTest::tearDown (this=0x311d760) at conversation/conversationMembersEvent.cpp:201
#7 0x00000000004e4b2b in CppUnit::TestCaller<jami::test::ConversationMembersEventTest>::tearDown (this=0x311d6f0) at /usr/include/cppunit/TestCaller.h:185
#8 0x00007ffff7f85036 in CppUnit::TestCaseMethodFunctor::operator()() const () from /lib64/libcppunit-1.15.so.1
#9 0x00007ffff7f84f04 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () from /lib64/libcppunit-1.15.so.1
#10 0x00007ffff7f7b8b5 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () from /lib64/libcppunit-1.15.so.1
#11 0x00007ffff7f86b53 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib64/libcppunit-1.15.so.1
#12 0x00007ffff7f8debf in CppUnit::TestCase::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#13 0x00007ffff7f8539f in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#14 0x00007ffff7f851ac in CppUnit::TestComposite::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#15 0x00007ffff7f8539f in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#16 0x00007ffff7f851ac in CppUnit::TestComposite::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#17 0x00007ffff7f85d97 in CppUnit::TestResult::runTest(CppUnit::Test*) () from /lib64/libcppunit-1.15.so.1
#18 0x00007ffff7f8b4a8 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib64/libcppunit-1.15.so.1
#19 0x00007ffff7f8dae9 in CppUnit::TextTestRunner::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, bool, bool) () from /lib64/libcppunit-1.15.so.1
#20 0x00000000004c2478 in main () at conversation/conversationMembersEvent.cpp:1704
(gdb) t a a bt
Thread 1035 (Thread 0x7ffef2ffd6c0 (LWP 263476) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cadf22 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2 0x0000000000d0350e in WorkerThread ()
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 1030 (Thread 0x7fff0b7fe6c0 (LWP 262678) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cadf22 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2 0x0000000000d0350e in WorkerThread ()
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 1000 (Thread 0x7fff0bfff6c0 (LWP 222725) "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 0x0000000000a7c100 in dhtnet::IceTransport::recvfrom(unsigned int, char*, unsigned long, std::error_code&) ()
#4 0x0000000000a8bf32 in dhtnet::IceSocketEndpoint::read(unsigned char*, unsigned long, std::error_code&) ()
#5 0x0000000000a97916 in dhtnet::tls::TlsSession::TlsSessionImpl::recvRaw(void*, unsigned long) ()
#6 0x00007ffff7a48685 in _gnutls_io_read_buffered () from /lib64/libgnutls.so.30
#7 0x00007ffff7a3d567 in _gnutls_recv_in_buffers () from /lib64/libgnutls.so.30
#8 0x00007ffff7a4004a in _gnutls_recv_int () from /lib64/libgnutls.so.30
#9 0x0000000000aa081a in dhtnet::tls::TlsSession::read(unsigned char*, unsigned long, std::error_code&) ()
#10 0x0000000000a88a48 in dhtnet::MultiplexedSocket::Impl::eventLoop() ()
#11 0x0000000000a8b786 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::unique_ptr<dhtnet::TlsSocketEndpoint, std::default_delete<dhtnet::TlsSocketEndpoint> >, std::shared_ptr<dht::log::Logger>)::{lambda()#1}> > >::_M_run() ()
#12 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#14 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 999 (Thread 0x7fff40ff96c0 (LWP 222724) "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 0x0000000000a7c100 in dhtnet::IceTransport::recvfrom(unsigned int, char*, unsigned long, std::error_code&) ()
#4 0x0000000000a8bf32 in dhtnet::IceSocketEndpoint::read(unsigned char*, unsigned long, std::error_code&) ()
#5 0x0000000000a97916 in dhtnet::tls::TlsSession::TlsSessionImpl::recvRaw(void*, unsigned long) ()
#6 0x00007ffff7a48685 in _gnutls_io_read_buffered () from /lib64/libgnutls.so.30
#7 0x00007ffff7a3d567 in _gnutls_recv_in_buffers () from /lib64/libgnutls.so.30
#8 0x00007ffff7a4004a in _gnutls_recv_int () from /lib64/libgnutls.so.30
#9 0x0000000000aa081a in dhtnet::tls::TlsSession::read(unsigned char*, unsigned long, std::error_code&) ()
#10 0x0000000000a88a48 in dhtnet::MultiplexedSocket::Impl::eventLoop() ()
#11 0x0000000000a8b786 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::unique_ptr<dhtnet::TlsSocketEndpoint, std::default_delete<dhtnet::TlsSocketEndpoint> >, std::shared_ptr<dht::log::Logger>)::{lambda()#1}> > >::_M_run() ()
#12 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#14 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 998 (Thread 0x7fff417fa6c0 (LWP 222723) "ut_conversation"):
--Type <RET> for more, q to quit, c to continue without paging--
#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 0x0000000000a7c100 in dhtnet::IceTransport::recvfrom(unsigned int, char*, unsigned long, std::error_code&) ()
#4 0x0000000000a8bf32 in dhtnet::IceSocketEndpoint::read(unsigned char*, unsigned long, std::error_code&) ()
#5 0x0000000000a97916 in dhtnet::tls::TlsSession::TlsSessionImpl::recvRaw(void*, unsigned long) ()
#6 0x00007ffff7a48685 in _gnutls_io_read_buffered () from /lib64/libgnutls.so.30
#7 0x00007ffff7a3d567 in _gnutls_recv_in_buffers () from /lib64/libgnutls.so.30
#8 0x00007ffff7a4004a in _gnutls_recv_int () from /lib64/libgnutls.so.30
#9 0x0000000000aa081a in dhtnet::tls::TlsSession::read(unsigned char*, unsigned long, std::error_code&) ()
#10 0x0000000000a88a48 in dhtnet::MultiplexedSocket::Impl::eventLoop() ()
#11 0x0000000000a8b786 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::unique_ptr<dhtnet::TlsSocketEndpoint, std::default_delete<dhtnet::TlsSocketEndpoint> >, std::shared_ptr<dht::log::Logger>)::{lambda()#1}> > >::_M_run() ()
#12 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#14 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 997 (Thread 0x7fff41ffb6c0 (LWP 222722) "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 0x0000000000a7c100 in dhtnet::IceTransport::recvfrom(unsigned int, char*, unsigned long, std::error_code&) ()
#4 0x0000000000a8bf32 in dhtnet::IceSocketEndpoint::read(unsigned char*, unsigned long, std::error_code&) ()
#5 0x0000000000a97916 in dhtnet::tls::TlsSession::TlsSessionImpl::recvRaw(void*, unsigned long) ()
#6 0x00007ffff7a48685 in _gnutls_io_read_buffered () from /lib64/libgnutls.so.30
#7 0x00007ffff7a3d567 in _gnutls_recv_in_buffers () from /lib64/libgnutls.so.30
#8 0x00007ffff7a4004a in _gnutls_recv_int () from /lib64/libgnutls.so.30
#9 0x0000000000aa081a in dhtnet::tls::TlsSession::read(unsigned char*, unsigned long, std::error_code&) ()
#10 0x0000000000a88a48 in dhtnet::MultiplexedSocket::Impl::eventLoop() ()
#11 0x0000000000a8b786 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::unique_ptr<dhtnet::TlsSocketEndpoint, std::default_delete<dhtnet::TlsSocketEndpoint> >, std::shared_ptr<dht::log::Logger>)::{lambda()#1}> > >::_M_run() ()
#12 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#14 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 996 (Thread 0x7fff42ffd6c0 (LWP 222720) "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 0x0000000000a9fab5 in dhtnet::tls::TlsSession::TlsSessionImpl::handleStateEstablished(dhtnet::tls::TlsSessionState) ()
#4 0x0000000000a9891f in dhtnet::tls::TlsSession::TlsSessionImpl::process() ()
#5 0x0000000000abfe4d in dhtnet::ThreadLoop::mainloop(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>) ()
#6 0x0000000000abffe6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (dhtnet::ThreadLoop::*)(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>), dhtnet::ThreadLoop*, std::reference_wrapper<std::thread::id>, std::function<bool ()>, std::function<void ()>, std::function<void ()> > > >::_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 995 (Thread 0x7fff427fc6c0 (LWP 222721) "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
--Type <RET> for more, q to quit, c to continue without paging--
#3 0x0000000000a9fab5 in dhtnet::tls::TlsSession::TlsSessionImpl::handleStateEstablished(dhtnet::tls::TlsSessionState) ()
#4 0x0000000000a9891f in dhtnet::tls::TlsSession::TlsSessionImpl::process() ()
#5 0x0000000000abfe4d in dhtnet::ThreadLoop::mainloop(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>) ()
#6 0x0000000000abffe6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (dhtnet::ThreadLoop::*)(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>), dhtnet::ThreadLoop*, std::reference_wrapper<std::thread::id>, std::function<bool ()>, std::function<void ()>, std::function<void ()> > > >::_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 994 (Thread 0x7fff8b7fe6c0 (LWP 222719) "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 0x0000000000a9fab5 in dhtnet::tls::TlsSession::TlsSessionImpl::handleStateEstablished(dhtnet::tls::TlsSessionState) ()
#4 0x0000000000a9891f in dhtnet::tls::TlsSession::TlsSessionImpl::process() ()
#5 0x0000000000abfe4d in dhtnet::ThreadLoop::mainloop(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>) ()
#6 0x0000000000abffe6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (dhtnet::ThreadLoop::*)(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>), dhtnet::ThreadLoop*, std::reference_wrapper<std::thread::id>, std::function<bool ()>, std::function<void ()>, std::function<void ()> > > >::_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 993 (Thread 0x7fff8bfff6c0 (LWP 222718) "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 0x0000000000a9fab5 in dhtnet::tls::TlsSession::TlsSessionImpl::handleStateEstablished(dhtnet::tls::TlsSessionState) ()
#4 0x0000000000a9891f in dhtnet::tls::TlsSession::TlsSessionImpl::process() ()
#5 0x0000000000abfe4d in dhtnet::ThreadLoop::mainloop(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>) ()
#6 0x0000000000abffe6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (dhtnet::ThreadLoop::*)(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>), dhtnet::ThreadLoop*, std::reference_wrapper<std::thread::id>, std::function<bool ()>, std::function<void ()>, std::function<void ()> > > >::_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 992 (Thread 0x7fffa4ff96c0 (LWP 222708) "ut_conversation"):
#0 0x00007ffff6d34c62 in epoll_wait () from /lib64/libc.so.6
#1 0x0000000000b5eab0 in pj_ioqueue_poll ()
#2 0x0000000000a71da0 in dhtnet::IceTransport::Impl::handleEvents(unsigned int) ()
#3 0x0000000000a71f2e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 991 (Thread 0x7fffb27fc6c0 (LWP 222695) "ut_conversation"):
#0 0x00007ffff6cf8413 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
#1 0x00007ffff6cfceb7 in nanosleep () from /lib64/libc.so.6
#2 0x00007ffff6d2a47c in usleep () from /lib64/libc.so.6
#3 0x0000000000b5f295 in pj_thread_sleep ()
#4 0x0000000000b5ef03 in pj_ioqueue_poll ()
#5 0x0000000000a71da0 in dhtnet::IceTransport::Impl::handleEvents(unsigned int) ()
#6 0x0000000000a71f2e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::{lambda()#1}> > >::_M_run() ()
--Type <RET> for more, q to quit, c to continue without paging--
#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 990 (Thread 0x7fffece286c0 (LWP 222694) "ut_conversation"):
#0 0x00007ffff6d34c62 in epoll_wait () from /lib64/libc.so.6
#1 0x0000000000b5eab0 in pj_ioqueue_poll ()
#2 0x0000000000a71da0 in dhtnet::IceTransport::Impl::handleEvents(unsigned int) ()
#3 0x0000000000a71f2e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 989 (Thread 0x7fffd17fa6c0 (LWP 222650) "ut_conversation"):
#0 0x00007ffff6d34c62 in epoll_wait () from /lib64/libc.so.6
#1 0x0000000000b5eab0 in pj_ioqueue_poll ()
#2 0x0000000000a71da0 in dhtnet::IceTransport::Impl::handleEvents(unsigned int) ()
#3 0x0000000000a71f2e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 986 (Thread 0x7ffecffff6c0 (LWP 222480) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cae242 in pthread_cond_clockwait@GLIBC_2.30 () from /lib64/libc.so.6
#2 0x0000000000b9f733 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::DhtRunner::run(dht::DhtRunner::Config const&, dht::DhtRunner::Context&&)::{lambda()#1}> > >::_M_run() ()
#3 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#4 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#5 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 985 (Thread 0x7fffa7fff6c0 (LWP 222479) "ut_conversation"):
#0 0x00007ffff6d29b67 in select () from /lib64/libc.so.6
#1 0x0000000000baa10b in dht::net::UdpSocket::openSockets(dht::SockAddr const&, dht::SockAddr const&)::{lambda()#1}::operator()() ()
#2 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 980 (Thread 0x7fff8a7fc6c0 (LWP 222472) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cae242 in pthread_cond_clockwait@GLIBC_2.30 () from /lib64/libc.so.6
#2 0x0000000000b9f733 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::DhtRunner::run(dht::DhtRunner::Config const&, dht::DhtRunner::Context&&)::{lambda()#1}> > >::_M_run() ()
#3 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#4 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#5 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 979 (Thread 0x7fffa5ffb6c0 (LWP 222471) "ut_conversation"):
#0 0x00007ffff6d29b67 in select () from /lib64/libc.so.6
#1 0x0000000000baa10b in dht::net::UdpSocket::openSockets(dht::SockAddr const&, dht::SockAddr const&)::{lambda()#1}::operator()() ()
#2 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
Thread 976 (Thread 0x7fffa57fa6c0 (LWP 222468) "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 0x0000000000496597 in __gthread_mutex_lock (__mutex=0x32545c0) at /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h:749
#3 0x00000000004ced4e in __gthread_recursive_mutex_lock (__mutex=0x32545c0) at /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h:811
#4 0x00000000004cf856 in std::recursive_mutex::lock (this=0x32545c0) at /usr/include/c++/13/mutex:120
#5 0x000000000054c0a5 in std::unique_lock<std::recursive_mutex>::lock (this=0x7fffa57f8140) at /usr/include/c++/13/bits/unique_lock.h:141
#6 0x000000000054a491 in std::unique_lock<std::recursive_mutex>::unique_lock (this=0x7fffa57f8140, __m=...) at /usr/include/c++/13/bits/unique_lock.h:71
#7 0x00000000006b5e96 in jami::JamiAccount::convModule (this=0x3253b30, noCreation=false) at jamidht/jamiaccount.cpp:2149
#8 0x00000000006acc70 in operator() (__closure=0x7fffa0035f70, conversationId="b86cb18a4c95761fb2079daad95d348342bc188f", deviceId="744871211aaadf9c87192003b22396d6eada047287ac1173166f2ec0a196523a") at jamidht/jamiaccount.cpp:1182
#9 0x00000000006e62bb in std::__invoke_impl<void, jami::JamiAccount::loadAccount(const std::string&, const std::string&, const std::string&, const std::string&)::<lambda(const std::string&, const std::string&)>&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#10 0x00000000006dc0e4 in std::__invoke_r<void, jami::JamiAccount::loadAccount(const std::string&, const std::string&, const std::string&, const std::string&)::<lambda(const std::string&, const std::string&)>&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#11 0x00000000006d44a7 in std::_Function_handler<void(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&), jami::JamiAccount::loadAccount(const std::string&, const std::string&, const std::string&, const std::string&)::<lambda(const std::string&, const std::string&)> >::_M_invoke(const std::_Any_data &, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &) (__functor=..., __args#0="b86cb18a4c95761fb2079daad95d348342bc188f", __args#1="744871211aaadf9c87192003b22396d6eada047287ac1173166f2ec0a196523a") at /usr/include/c++/13/bits/std_function.h:290
#12 0x00000000005205b7 in std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (this=0x7fffa0035f70, __args#0="b86cb18a4c95761fb2079daad95d348342bc188f", __args#1="744871211aaadf9c87192003b22396d6eada047287ac1173166f2ec0a196523a") at /usr/include/c++/13/bits/std_function.h:591
#13 0x0000000000963fb6 in jami::ContactList::acceptConversation (this=0x7fffa0035db0, convId="b86cb18a4c95761fb2079daad95d348342bc188f", deviceId="744871211aaadf9c87192003b22396d6eada047287ac1173166f2ec0a196523a") at jamidht/contact_list.cpp:409
#14 0x000000000092c8b6 in operator() (__closure=0x7ffe745108e0, peer_account=...) at jamidht/account_manager.cpp:354
#15 0x0000000000935d57 in std::__invoke_impl<void, jami::AccountManager::startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb&, bool)::<lambda(dht::TrustRequest&&)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&, 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
#16 0x0000000000934559 in std::__invoke_r<void, jami::AccountManager::startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb&, bool)::<lambda(dht::TrustRequest&&)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&, dht::InfoHash)>&, const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#17 0x0000000000932ddb in std::_Function_handler<void(const std::shared_ptr<dht::crypto::Certificate>&, const dht::Hash<20>&), jami::AccountManager::startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb&, bool)::<lambda(dht::TrustRequest&&)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&, 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
#18 0x000000000093a8f5 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=0x7ffe74176f98, __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
#19 0x000000000092daff in operator() (__closure=0x7ffe74176f90, cert=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}) at jamidht/account_manager.cpp:454
#20 0x0000000000935ef3 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
#21 0x0000000000934876 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
#22 0x0000000000932fe5 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
#23 0x0000000000939e9d in std::function<void (std::shared_ptr<dht::crypto::Certificate> const&)>::operator()(std::shared_ptr<dht::crypto::Certificate> const&) const (this=0x7fffa57f87c0, __args#0=std::shared_ptr<dht::crypto::Certificate> (use count 4, weak count 0) = {...}) at /usr/include/c++/13/bits/std_function.h:591
#24 0x000000000092ead4 in jami::AccountManager::findCertificate(dht::Hash<20ul> const&, std::function<void (std::shared_ptr<dht::crypto::Certificate> const&)>&&) (this=0x31daff0, h=..., cb=...) at jamidht/account_manager.cpp:600
#25 0x000000000092dc83 in jami::AccountManager::onPeerMessage(dht::crypto::PublicKey const&, bool, std::function<void (std::shared_ptr<dht::crypto::Certificate> const&, dht::Hash<20ul> const&)>&&) (this=0x31daff0, peer_device=..., allowPublic=true, cb=...) at jamidht/account_manager.cpp:449
#26 0x000000000092caf6 in operator() (__closure=0x7ffe740f8f70, v=...) at jamidht/account_manager.cpp:327
#27 0x0000000000935e41 in std::__invoke_impl<bool, jami::AccountManager::startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb&, bool)::<lambda(dht::TrustRequest&&)>&, dht::TrustRequest>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#28 0x00000000009346c8 in std::__invoke_r<bool, jami::AccountManager::startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb&, bool)::<lambda(dht::TrustRequest&&)>&, dht::TrustRequest>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:114
--Type <RET> for more, q to quit, c to continue without paging--
#29 0x0000000000932ee2 in std::_Function_handler<bool(dht::TrustRequest&&), jami::AccountManager::startSync(const OnNewDeviceCb&, const OnDeviceAnnouncedCb&, bool)::<lambda(dht::TrustRequest&&)> >::_M_invoke(const std::_Any_data &, dht::TrustRequest &&) (__functor=..., __args#0=...) at /usr/include/c++/13/bits/std_function.h:290
#30 0x000000000093c179 in std::function<bool (dht::TrustRequest&&)>::operator()(dht::TrustRequest&&) const (this=0x7ffe740f8f70, __args#0=...) at /usr/include/c++/13/bits/std_function.h:591
#31 0x000000000093a5b6 in dht::DhtRunner::listen<dht::TrustRequest>(dht::Hash<20ul>, std::function<bool (dht::TrustRequest&&)>, 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=0x7ffe740f8f70, vals=std::vector of length 1, capacity 1 = {...}) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/opendht/dhtrunner.h:199
#32 0x0000000000940403 in std::__invoke_impl<bool, dht::DhtRunner::listen<dht::TrustRequest>(dht::Hash<20ul>, std::function<bool (dht::TrustRequest&&)>, 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::TrustRequest>(dht::Hash<20ul>, std::function<bool (dht::TrustRequest&&)>, 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
#33 0x000000000093eb61 in std::__invoke_r<bool, dht::DhtRunner::listen<dht::TrustRequest>(dht::Hash<20ul>, std::function<bool (dht::TrustRequest&&)>, 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::TrustRequest>(dht::Hash<20ul>, std::function<bool (dht::TrustRequest&&)>, 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
#34 0x000000000093d614 in std::_Function_handler<bool (std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&), dht::DhtRunner::listen<dht::TrustRequest>(dht::Hash<20ul>, std::function<bool (dht::TrustRequest&&)>, 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
#35 0x00000000006faf6d 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=0x7ffe74441ec0, __args#0=std::vector of length 1, capacity 1 = {...}) at /usr/include/c++/13/bits/std_function.h:591
#36 0x00000000006f62c3 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=0x7ffe74441ec0, 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
#37 0x000000000071c69b 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
#38 0x0000000000711323 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
#39 0x0000000000706404 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&, bool&&) (__functor=..., __args#0=std::vector of length 1, capacity 1 = {...}, __args#1=@0x7fffa57f8cc0: false) at /usr/include/c++/13/bits/std_function.h:290
#40 0x0000000000c8fba1 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&&) ()
#41 0x0000000000c64298 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&) ()
#42 0x0000000000c4c2e5 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&&) ()
#43 0x0000000000c63454 in dht::OpCache::onValuesAdded(std::vector<std::shared_ptr<dht::Value>, std::allocator<std::shared_ptr<dht::Value> > > const&) ()
#44 0x0000000000c68125 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&&) ()
#45 0x0000000000c64298 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&) ()
#46 0x0000000000c646d5 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&&) ()
#47 0x0000000000c4c520 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:--Type <RET> for more, q to quit, c to continue without paging--
: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&&) ()
#48 0x0000000000c4c232 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&) ()
#49 0x0000000000c58392 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&) ()
#50 0x0000000000c326b4 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&&) ()
#51 0x0000000000c823d7 in dht::net::NetworkEngine::process(std::unique_ptr<dht::net::ParsedMessage, std::default_delete<dht::net::ParsedMessage> >&&, dht::SockAddr const&) ()
#52 0x0000000000c83824 in dht::net::NetworkEngine::processMessage(unsigned char const*, unsigned long, dht::SockAddr) ()
#53 0x0000000000c35061 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&) ()
#54 0x0000000000b9f4b1 in dht::DhtRunner::loop_() ()
#55 0x0000000000b9f5e6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::DhtRunner::run(dht::DhtRunner::Config const&, dht::DhtRunner::Context&&)::{lambda()#1}> > >::_M_run() ()
#56 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#57 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#58 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 975 (Thread 0x7fffd2ffd6c0 (LWP 222467) "ut_conversation"):
#0 0x00007ffff6d29b67 in select () from /lib64/libc.so.6
#1 0x0000000000baa10b in dht::net::UdpSocket::openSockets(dht::SockAddr const&, dht::SockAddr const&)::{lambda()#1}::operator()() ()
#2 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 479 (Thread 0x7ffef1ffb6c0 (LWP 208998) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 478 (Thread 0x7fff09ffb6c0 (LWP 208997) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 477 (Thread 0x7fff8affd6c0 (LWP 208996) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 476 (Thread 0x7ffece7fc6c0 (LWP 208995) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 475 (Thread 0x7ffecf7fe6c0 (LWP 208994) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 357 (Thread 0x7fffb1ffb6c0 (LWP 208038) "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 0x0000000000496597 in __gthread_mutex_lock (__mutex=0x32545c0) at /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h:749
#3 0x00000000004ced4e in __gthread_recursive_mutex_lock (__mutex=0x32545c0) at /usr/include/c++/13/x86_64-redhat-linux/bits/gthr-default.h:811
#4 0x00000000004cf856 in std::recursive_mutex::lock (this=0x32545c0) at /usr/include/c++/13/mutex:120
#5 0x000000000054c0a5 in std::unique_lock<std::recursive_mutex>::lock (this=0x7fffb1ffa620) at /usr/include/c++/13/bits/unique_lock.h:141
#6 0x000000000054a491 in std::unique_lock<std::recursive_mutex>::unique_lock (this=0x7fffb1ffa620, __m=...) at /usr/include/c++/13/bits/unique_lock.h:71
#7 0x00000000006b5e96 in jami::JamiAccount::convModule (this=0x3253b30, noCreation=false) at jamidht/jamiaccount.cpp:2149
#8 0x00000000006ac5bc in operator() (__closure=0x7ffe74236720) at jamidht/jamiaccount.cpp:1159
#9 0x00000000006e5c0e in std::__invoke_impl<void, jami::JamiAccount::loadAccount(const std::string&, const std::string&, const std::string&, const std::string&)::<lambda(const std::string&, const std::string&, const std::vector<unsigned char>&, time_t)>::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#10 0x00000000006db641 in std::__invoke_r<void, jami::JamiAccount::loadAccount(const std::string&, const std::string&, const std::string&, const std::string&)::<lambda(const std::string&, const std::string&, const std::vector<unsigned char>&, time_t)>::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#11 0x00000000006d3d60 in std::_Function_handler<void(), jami::JamiAccount::loadAccount(const std::string&, const std::string&, const std::string&, const std::string&)::<lambda(const std::string&, const std::string&, const std::vector<unsigned char>&, time_t)>::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/13/bits/std_function.h:290
#12 0x0000000000bacbe8 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#13 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#14 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#15 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 356 (Thread 0x7ffef37fe6c0 (LWP 208037) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 314 (Thread 0x7ffef3fff6c0 (LWP 207935) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 313 (Thread 0x7fff08ff96c0 (LWP 207934) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 252 (Thread 0x7fffb0ff96c0 (LWP 207496) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 224 (Thread 0x7fff89ffb6c0 (LWP 207398) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 113 (Thread 0x7fffb17fa6c0 (LWP 206935) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 84 (Thread 0x7fff437fe6c0 (LWP 206810) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 83 (Thread 0x7fff43fff6c0 (LWP 206809) "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
--Type <RET> for more, q to quit, c to continue without paging--
#3 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 82 (Thread 0x7fff88ff96c0 (LWP 206808) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 81 (Thread 0x7fff897fa6c0 (LWP 206807) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 69 (Thread 0x7fffa67fc6c0 (LWP 206790) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 36 (Thread 0x7fffa77fe6c0 (LWP 206377) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 29 (Thread 0x7fffb2ffd6c0 (LWP 206370) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 28 (Thread 0x7fffb37fe6c0 (LWP 206369) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 27 (Thread 0x7fffb3fff6c0 (LWP 206368) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 26 (Thread 0x7fffc8ff96c0 (LWP 206367) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 25 (Thread 0x7fffc97fa6c0 (LWP 206366) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 24 (Thread 0x7fffc9ffb6c0 (LWP 206365) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 23 (Thread 0x7fffca7fc6c0 (LWP 206364) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
Thread 22 (Thread 0x7fffcaffd6c0 (LWP 206363) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cadf22 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2 0x0000000000d0350e in WorkerThread ()
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 21 (Thread 0x7fffcb7fe6c0 (LWP 206362) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 20 (Thread 0x7fffd0ff96c0 (LWP 206361) "ut_conversation"):
#0 0x00007ffff6cab219 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1 0x00007ffff6cadf22 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2 0x0000000000d0350e in WorkerThread ()
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 18 (Thread 0x7fffd1ffb6c0 (LWP 206359) "ut_conversation"):
#0 0x00007ffff6d29b67 in select () from /lib64/libc.so.6
#1 0x0000000000d072ee in RunMiniServer ()
#2 0x0000000000d037c6 in WorkerThread ()
#3 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#4 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 17 (Thread 0x7fffd27fc6c0 (LWP 206358) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 14 (Thread 0x7fffd37fe6c0 (LWP 206355) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 12 (Thread 0x7fffd3fff6c0 (LWP 206354) "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
--Type <RET> for more, q to quit, c to continue without paging--
#3 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 11 (Thread 0x7fffed6296c0 (LWP 206352) "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 0x0000000000d0450d in TimerThreadWorker ()
#3 0x0000000000d037c6 in WorkerThread ()
#4 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#5 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 10 (Thread 0x7fffede2a6c0 (LWP 206351) "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 0x0000000000bacc8a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 9 (Thread 0x7fffee6556c0 (LWP 206350) "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 0x0000000000be296c in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#3 0x0000000000c00cc5 in asio::detail::posix_thread::func<asio::detail::resolver_service_base::work_scheduler_runner>::run() ()
#4 0x0000000000511b57 in asio::detail::asio_detail_posix_thread_function (arg=0x31c97b0) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/asio/detail/impl/posix_thread.ipp:73
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 7 (Thread 0x7fffef7fe6c0 (LWP 206348) "threaded-ml"):
#0 0x00007ffff6d2734d in poll () from /lib64/libc.so.6
#1 0x00007ffff7dfc526 in poll_func () from /lib64/libpulse.so.0
#2 0x00007ffff7de5694 in pa_mainloop_poll () from /lib64/libpulse.so.0
#3 0x00007ffff7df0153 in pa_mainloop_iterate () from /lib64/libpulse.so.0
#4 0x00007ffff7df0218 in pa_mainloop_run () from /lib64/libpulse.so.0
#5 0x00007ffff7e00751 in thread () from /lib64/libpulse.so.0
#6 0x00007ffff70d6d7b in internal_thread_func () from /usr/lib64/pulseaudio/libpulsecommon-16.1.so
#7 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#8 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 6 (Thread 0x7fffeffff6c0 (LWP 206347) "ut_conversation"):
#0 0x00007ffff6d34c62 in epoll_wait () from /lib64/libc.so.6
#1 0x0000000000b5eab0 in pj_ioqueue_poll ()
#2 0x0000000000b10d00 in pjsip_endpt_handle_events2 ()
#3 0x00000000008bf31f in jami::SIPVoIPLink::handleEvents (this=0x31423e0) at ./sip/sipvoiplink.cpp:813
#4 0x00000000008bdb91 in operator() (__closure=0x30fcb88) at ./sip/sipvoiplink.cpp:739
#5 0x00000000008c57a2 in std::__invoke_impl<void, jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#6 0x00000000008c5765 in std::__invoke<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
#7 0x00000000008c5712 in std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x30fcb88) at /usr/include/c++/13/bits/std_thread.h:292
#8 0x00000000008c56e6 in std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > >::operator()(void) (this=0x30fcb88) at /usr/include/c++/13/bits/std_thread.h:299
--Type <RET> for more, q to quit, c to continue without paging--
#9 0x00000000008c56ca in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > > >::_M_run(void) (this=0x30fcb80) at /usr/include/c++/13/bits/std_thread.h:244
#10 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#11 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#12 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 5 (Thread 0x7ffff49ac6c0 (LWP 206346) "ut_conversation"):
#0 0x00007ffff6d34c62 in epoll_wait () from /lib64/libc.so.6
#1 0x00000000005128d9 in asio::detail::epoll_reactor::run (this=0x31c8e80, usec=-1, ops=...) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/asio/detail/impl/epoll_reactor.ipp:509
#2 0x00000000005139f2 in asio::detail::scheduler::do_run_one (this=0x311a220, lock=..., this_thread=..., ec=std::error_code = {std::_V2::error_category: 0}) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/asio/detail/impl/scheduler.ipp:476
#3 0x00000000005136fc in asio::detail::scheduler::run (this=0x311a220, ec=std::error_code = {std::_V2::error_category: 0}) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/asio/detail/impl/scheduler.ipp:209
#4 0x0000000000513e2f in asio::io_context::run (this=0x3120cf0) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/asio/impl/io_context.ipp:63
#5 0x00000000004f57a8 in operator() (__closure=0x30fbf58) at manager.cpp:463
#6 0x000000000050cf34 in std::__invoke_impl<void, jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#7 0x000000000050cef7 in std::__invoke<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
#8 0x000000000050cea4 in std::thread::_Invoker<std::tuple<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x30fbf58) at /usr/include/c++/13/bits/std_thread.h:292
#9 0x000000000050ce78 in std::thread::_Invoker<std::tuple<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > >::operator()(void) (this=0x30fbf58) at /usr/include/c++/13/bits/std_thread.h:299
#10 0x000000000050ce5c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > > >::_M_run(void) (this=0x30fbf50) at /usr/include/c++/13/bits/std_thread.h:244
#11 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#12 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#13 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 4 (Thread 0x7ffff51ad6c0 (LWP 206345) "ut_conversation"):
#0 0x00007ffff6d29b67 in select () from /lib64/libc.so.6
#1 0x00000000008061e9 in jami::video::VideoDeviceMonitorImpl::run (this=0x3125620) at media/video/v4l2/video_device_monitor_impl.cpp:221
#2 0x00000000008087d0 in std::__invoke_impl<void, void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> (__f=@0x311f980: (void (jami::video::VideoDeviceMonitorImpl::*)(jami::video::VideoDeviceMonitorImpl * const)) 0x8060de <jami::video::VideoDeviceMonitorImpl::run()>, __t=@0x311f978: 0x3125620) at /usr/include/c++/13/bits/invoke.h:74
#3 0x000000000080872f in std::__invoke<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> (__fn=@0x311f980: (void (jami::video::VideoDeviceMonitorImpl::*)(jami::video::VideoDeviceMonitorImpl * const)) 0x8060de <jami::video::VideoDeviceMonitorImpl::run()>) at /usr/include/c++/13/bits/invoke.h:96
#4 0x000000000080869f in std::thread::_Invoker<std::tuple<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> >::_M_invoke<0ul, 1ul> (this=0x311f978) at /usr/include/c++/13/bits/std_thread.h:292
#5 0x0000000000808658 in std::thread::_Invoker<std::tuple<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> >::operator() (this=0x311f978) at /usr/include/c++/13/bits/std_thread.h:299
#6 0x000000000080863c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> > >::_M_run (this=0x311f970) at /usr/include/c++/13/bits/std_thread.h:244
#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 3 (Thread 0x7ffff59ae6c0 (LWP 206344) "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 0x00000000005794fa in jami::ScheduledExecutor::loop (this=0x3123d80) at scheduled_executor.cpp:132
#4 0x0000000000578b21 in operator() (__closure=0x3121738) at scheduled_executor.cpp:35
#5 0x000000000057afa4 in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor(const std::string&)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#6 0x000000000057af67 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor(const std::string&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
#7 0x000000000057af14 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor(const std::string&)::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x3121738) at /usr/include/c++/13/bits/std_thread.h:292
#8 0x000000000057aee8 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor(const std::string&)::<lambda()> > >::operator()(void) (this=0x3121738) at /usr/include/c++/13/bits/std_thread.h:299
#9 0x000000000057aecc in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor(const std::string&)::<lambda()> > > >::_M_run(void) (this=0x3121730) at /usr/include/c++/13/bits/std_thread.h:244
#10 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#11 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#12 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 2 (Thread 0x7ffff61af6c0 (LWP 206343) "ut_conversation"):
#0 0x00007ffff6d34c62 in epoll_wait () from /lib64/libc.so.6
#1 0x00000000005128d9 in asio::detail::epoll_reactor::run (this=0x3124a40, usec=-1, ops=...) at /home/amarok/Projects/jami/client-qt/daemon/contrib/x86_64-redhat-linux/include/asio/detail/impl/epoll_reactor.ipp:509
#2 0x0000000000acc3a1 in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#3 0x0000000000acc9ae 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() ()
#4 0x00007ffff6ee31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#5 0x00007ffff6cae947 in start_thread () from /lib64/libc.so.6
#6 0x00007ffff6d34860 in clone3 () from /lib64/libc.so.6
Thread 1 (Thread 0x7ffff61b5380 (LWP 206342) "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 0x0000000000ba0488 in dht::DhtRunner::join() ()
#3 0x00000000006b66b8 in jami::JamiAccount::doUnregister(std::function<void (bool)>) (this=0x3253b30, released_cb=...) at jamidht/jamiaccount.cpp:2353
#4 0x00000000005043c2 in jami::Manager::removeAccount (this=0x1dd80a0 <jami::Manager::instance()::instance>, accountID="f40918a8475c268b", flush=true) at manager.cpp:2841
#5 0x00000000004eabf1 in wait_for_removal_of (accounts=std::vector of length 4, capacity 4 = {...}, timeout=std::chrono::duration = { 30s }) at common.cpp:132
#6 0x0000000000497247 in jami::test::ConversationMembersEventTest::tearDown (this=0x311d760) at conversation/conversationMembersEvent.cpp:201
#7 0x00000000004e4b2b in CppUnit::TestCaller<jami::test::ConversationMembersEventTest>::tearDown (this=0x311d6f0) at /usr/include/cppunit/TestCaller.h:185
#8 0x00007ffff7f85036 in CppUnit::TestCaseMethodFunctor::operator()() const () from /lib64/libcppunit-1.15.so.1
#9 0x00007ffff7f84f04 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () from /lib64/libcppunit-1.15.so.1
#10 0x00007ffff7f7b8b5 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) () from /lib64/libcppunit-1.15.so.1
#11 0x00007ffff7f86b53 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib64/libcppunit-1.15.so.1
#12 0x00007ffff7f8debf in CppUnit::TestCase::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#13 0x00007ffff7f8539f in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#14 0x00007ffff7f851ac in CppUnit::TestComposite::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#15 0x00007ffff7f8539f in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#16 0x00007ffff7f851ac in CppUnit::TestComposite::run(CppUnit::TestResult*) () from /lib64/libcppunit-1.15.so.1
#17 0x00007ffff7f85d97 in CppUnit::TestResult::runTest(CppUnit::Test*) () from /lib64/libcppunit-1.15.so.1
#18 0x00007ffff7f8b4a8 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib64/libcppunit-1.15.so.1
#19 0x00007ffff7f8dae9 in CppUnit::TextTestRunner::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, bool, bool) () from /lib64/libcppunit-1.15.so.1
#20 0x00000000004c2478 in main () at conversation/conversationMembersEvent.cpp:1704
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/943IncomingFile double-free on shutdown2024-01-19T13:22:56ZSébastien BlinIncomingFile double-free on shutdown## Logs
```
25c5309ea333b024a28dc4b9176e7b2499ea] Peer already connected. Add a new channel
�[0m�[22;36m[1704896457.619|24662|jamiaccount.cpp :1971] �[0m�[01;33m[Account 85ffd3d67680977a] New channel asked with name swarm://86c5...## Logs
```
25c5309ea333b024a28dc4b9176e7b2499ea] Peer already connected. Add a new channel
�[0m�[22;36m[1704896457.619|24662|jamiaccount.cpp :1971] �[0m�[01;33m[Account 85ffd3d67680977a] New channel asked with name swarm://86c50d2895d1e06ba8cf60997a47a296f10936e8
�[0m�[22;36m[1704896457.620|25587|gitserver.cpp :158 ] �[0mUpload pack command detected.
�[0m�[22;36m[1704896457.620|24653] �[0m[device ec9f99b67e74947eb571e943a059a5dc13b6a1e87378d8b4003483d02d8dd0d5] Peer already connected. Add a new channel
�[0m=================================================================
==24629==ERROR: AddressSanitizer: attempting double-free on 0x625003886100 in thread T673:
�[22;36m[1704896457.621|24761|jamiaccount.cpp :1971] �[0m�[01;33m[Account f0c871f7cf55dc4b] New channel asked with name git://ec9f99b67e74947eb571e943a059a5dc13b6a1e87378d8b4003483d02d8dd0d5/86c50d2895d1e06ba8cf60997a47a296f10936e8
�[0m�[22;36m[1704896457.621|24662|swarm_manager.cpp :104 ] �[0m[SwarmManager 0x61e000366c90] Bootstrap: Connected!
�[0m�[22;36m[1704896457.621|25588|swarm_manager.cpp :104 ] �[0m[SwarmManager 0x61e0001da090] Bootstrap: Connected!
�[0m�[22;36m[1704896457.621|24662|conversation_module.cpp :1160] �[0m[Conversation 86c50d2895d1e06ba8cf60997a47a296f10936e8] Resend last message notification
�[0m�[22;36m[1704896457.621|24763|conversation_module.cpp :1160] �[0m[Conversation 86c50d2895d1e06ba8cf60997a47a296f10936e8] Resend last message notification
�[0m�[22;36m[1704896457.621|25588|jamiaccount.cpp :3638] �[0m[Account f0c871f7cf55dc4b] Request SIP connection to peer 3a0f32d3b0b54f240d88f8854a30c2b758382b9c on device f2f4a14da976506e78848dc530c225c5309ea333b024a28dc4b9176e7b2499ea
�[0m�[22;36m[1704896457.621|25588|jamiaccount.cpp :3648] �[0m[Account f0c871f7cf55dc4b] A SIP connection with f2f4a14da976506e78848dc530c225c5309ea333b024a28dc4b9176e7b2499ea already exists
�[0m�[22;36m[1704896457.622|24631|message_engine.cpp :119 ] �[0m[message 7357177293797901] Retry sending
�[0m�[22;36m[1704896457.622|24650|message_engine.cpp :345 ] �[0m[Account f0c871f7cf55dc4b] saved 1 messages to /foo/.cache/jami/f0c871f7cf55dc4b/messages
�[0m�[22;36m[1704896457.622|24631|message_engine.cpp :119 ] �[0m[message 2480620596664349] Retry sending
�[0m�[22;36m[1704896457.622|24647|message_engine.cpp :345 ] �[0m[Account f0c871f7cf55dc4b] saved 1 messages to /foo/.cache/jami/f0c871f7cf55dc4b/messages
�[0m�[22;36m[1704896457.622|24631|sip_utils.cpp :221 ] �[0mAdd header to SIP message: "User-Agent: Jami Daemon 15.0.0-444c491af6-dirty (linux)"
�[0m�[22;36m[1704896457.622|24631|message_engine.cpp :119 ] �[0m[message 1373864737208572] Retry sending
�[0m�[22;36m[1704896457.622|24651|message_engine.cpp :345 ] �[0m[Account 85ffd3d67680977a] saved 1 messages to /foo/.cache/jami/85ffd3d67680977a/messages
�[0m�[22;36m[1704896457.623|25587|conversation.cpp :1762] �[0mSync 86c50d2895d1e06ba8cf60997a47a296f10936e8 with ec9f99b67e74947eb571e943a059a5dc13b6a1e87378d8b4003483d02d8dd0d5
�[0m�[22;36m[1704896457.623|24631|message_engine.cpp :119 ] �[0m[message 4915131715928936] Retry sending
�[0m�[22;36m[1704896457.623|24761|jamiaccount.cpp :2030] �[0m�[01;33m[Account f0c871f7cf55dc4b] Git server requested for conversation 86c50d2895d1e06ba8cf60997a47a296f10936e8, device f2f4a14da976506e78848dc530c225c5309ea333b024a28dc4b9176e7b2499ea, channel 1
�[0m�[22;36m[1704896457.623|24651|message_engine.cpp :345 ] �[0m[Account 85ffd3d67680977a] saved 1 messages to /foo/.cache/jami/85ffd3d67680977a/messages
�[0m�[22;36m[1704896457.623|24631|sip_utils.cpp :221 ] �[0mAdd header to SIP message: "User-Agent: Jami Daemon 15.0.0-444c491af6-dirty (linux)"
�[0m�[22;36m[1704896457.623|25576|account_manager.cpp :799 ] �[0mFound 1 devices
�[22;36m[1704896457.623|25587|sipaccountbase.cpp :283 ] �[0mText message received from 809b8fc51ca2c165efd2a3ca91c8db88d7c22728, 1 part(s)
�[0m�[0m�[22;36m[1704896457.623|25576|message_engine.cpp :173 ] �[0m�[22;36m[1704896457.623|24631|message_engine.cpp :173 ] �[0m[message 2480620596664349] Message sent: success
�[0m[message 7357177293797901] Message sent: success
�[0m�[22;36m[1704896457.623|24760|conversation_module.cpp :539 ] �[0m[Account 85ffd3d67680977a] fetch commits from 809b8fc51ca2c165efd2a3ca91c8db88d7c22728, for 86c50d2895d1e06ba8cf60997a47a296f10936e8, commit ae4aadcea6b0f6a93a8d1d56276820c490b3a8c9
�[0m�[22;36m[1704896457.623|24631|message_engine.cpp :190 ] �[0m[message 2480620596664349] Status changed to SENT
�[0m�[22;36m[1704896457.623|25588|sipaccountbase.cpp :283 ] �[0mText message received from 3a0f32d3b0b54f240d88f8854a30c2b758382b9c, 1 part(s)
�[0m�[22;36m[1704896457.623|24631|message_engine.cpp :173 ] �[0m[message 4915131715928936] Message sent: success
�[0m�[22;36m[1704896457.623|25303|conversation_module.cpp :539 ] �[0m[Account f0c871f7cf55dc4b] fetch commits from 3a0f32d3b0b54f240d88f8854a30c2b758382b9c, for 86c50d2895d1e06ba8cf60997a47a296f10936e8, commit 86c50d2895d1e06ba8cf60997a47a296f10936e8
�[0m�[22;36m[1704896457.623|24631|message_engine.cpp :190 ] �[0m[message 4915131715928936] Status changed to SENT
�[0m�[22;36m[1704896457.624|24644|message_engine.cpp :345 ] �[0m[Account f0c871f7cf55dc4b] saved 1 messages to /foo/.cache/jami/f0c871f7cf55dc4b/messages
�[0m�[22;36m[1704896457.624|25580|account_manager.cpp :799 ] �[0mFound 1 devices
�[0m�[22;36m[1704896457.624|25576|message_engine.cpp :190 ] �[0m[message 7357177293797901] Status changed to SENT
�[0m�[22;36m[1704896457.624|24641|message_engine.cpp :345 ] �[0m[Account 85ffd3d67680977a] saved 1 messages to /foo/.cache/jami/85ffd3d67680977a/messages
�[0m�[22;36m[1704896457.624|24760|conversationrepository.cpp:2063] �[0mCouldn't init revwalker for conversation 86c50d2895d1e06ba8cf60997a47a296f10936e8
�[0m�[22;36m[1704896457.624|25580|message_engine.cpp :173 ] �[0m[message 1373864737208572] Message sent: success
�[0m�[22;36m[1704896457.624|25580|message_engine.cpp :190 ] �[0m[message 1373864737208572] Status changed to SENT
�[0m�[22;36m[1704896457.624|24645|message_engine.cpp :345 ] �[0m[Account f0c871f7cf55dc4b] saved 0 messages to /foo/.cache/jami/f0c871f7cf55dc4b/messages
�[0m�[22;36m[1704896457.624|24659|message_engine.cpp :345 ] �[0m[Account 85ffd3d67680977a] saved 0 messages to /foo/.cache/jami/85ffd3d67680977a/messages
�[0m�[22;36m[1704896457.625|24760|conversation_module.cpp :583 ] �[0m�[01;33m[Account 85ffd3d67680977a] Already fetching 86c50d2895d1e06ba8cf60997a47a296f10936e8
�[0m�[22;36m[1704896457.625|25588|gitserver.cpp :158 ] �[0mUpload pack command detected.
�[0m�[22;36m[1704896457.627|25588|gitserver.cpp :181 ] �[0mPeer want ref: ae4aadcea6b0f6a93a8d1d56276820c490b3a8c9
�[0m�[22;36m[1704896457.627|25588|gitserver.cpp :132 ] �[0mPeer negotiation is done. Answering to want order
�[0m�[22;36m[1704896457.645|24906|conversationrepository.cpp:2783] �[0mValidate commit ae4aadcea6b0f6a93a8d1d56276820c490b3a8c9
�[0m�[22;36m[1704896457.646|24906|conversationrepository.cpp:3119] �[0mMerge analysis result: Fast-forward
�[0m�[22;36m[1704896457.648|24906|conversation.cpp :1641] �[0mSuccessfully merge history with ec9f99b67e74947eb571e943a059a5dc13b6a1e87378d8b4003483d02d8dd0d5
�[0m�[22;36m[1704896457.650|24629|contact_list.cpp :123 ] �[0m�[01;33m[Contacts] removeContact: 809b8fc51ca2c165efd2a3ca91c8db88d7c22728
�[0m�[22;36m[1704896457.650|24629|archive_account_manager.cpp:523 ] �[0mBuilding device sync from f2f4a14da976506e78848dc530c225c5309ea333b024a28dc4b9176e7b2499ea
�[0m�[22;36m[1704896457.651|24691|archive_account_manager.cpp:523 ] �[0mBuilding device sync from f2f4a14da976506e78848dc530c225c5309ea333b024a28dc4b9176e7b2499ea
�[0m�[22;36m[1704896457.652|24691|conversation_module.cpp :880 ] �[0mRemove conversation: 86c50d2895d1e06ba8cf60997a47a296f10936e8
�[0m�[22;36m[1704896457.656|24691|conversationrepository.cpp:3366] �[0mErasing /foo/.local/share/jami/85ffd3d67680977a/conversations/86c50d2895d1e06ba8cf60997a47a296f10936e8/
�[0m�[22;36m[1704896457.684|25587] �[0m�[22;31m[TLS] fatal error in recv: The TLS connection was non-properly terminated.
�[0m�[22;36m[1704896457.684|24691|channeled_transport.cpp :186 ] �[0m�[01;33m[SIPS] process disconnect event
�[0m�[22;36m[1704896457.684|25585] �[0m[TLS] shutdown�[22;36m[1704896457.684|24631|gitserver.cpp :491 ] �[0mGitServer destroyed
�[22;36m�[0m
�[0m[1704896457.684|24691|siptransport.cpp :210 ] �[0mpjsip transport@0x62500ad77970 TLS to 172.17.0.8 -> DISCONNECTED
�[0m�[22;36m[1704896457.684|25588] �[0m[TLS] eof
�[0m�[22;36m[1704896457.684|24631|siptransport.cpp :101 ] �[0m~SipTransport@0x611000b0c390 tr=0x62500ad77970 rc=4
�[0m�[22;36m[1704896457.684|25586] �[0m[TLS] shutdown
�[0m�[22;36m[1704896457.684|25588|channeled_transport.cpp :186 ] �[0m�[01;33m[SIPS] process disconnect event
�[0m�[22;36m[1704896457.684|24631|gitserver.cpp :491 ] �[0mGitServer destroyed
�[0m�[22;36m[1704896457.684|25588|siptransport.cpp :210 ] �[0mpjsip transport@0x62500c63e170 TLS to 172.17.0.8 -> DISCONNECTED
�[0m�[22;36m[1704896457.684|25584] �[0m�[22;31m[ice:0x6290002f3200] rx: channel is closed
�[0m�[22;36m[1704896457.684|25576] �[0mStore DHT public IPv4 address: 208.88.110.46
�[0m�[22;36m[1704896457.685|25576] �[0mStore DHT public IPv6 address: [2607:fad8:4:6:b62e:99ff:feff:2fe7]
�[0m�[22;36m[1704896457.685|24631|siptransport.cpp :101 ] �[0m~SipTransport@0x611000c7d350 tr=0x62500c63e170 rc=7
�[0m�[22;36m[1704896457.685|25576] �[0m[ice:0x629000cd0200] Creating IceTransport session for ""
�[0m�[22;36m[1704896457.685|25576] �[0m[ice:0x629000cd0200] Initializing the session - comp count 1 - as a slave
�[0m�[22;36m[1704896457.685|25576] �[0m[ice:0x629000cd0200] Add srflx reflexive candidates [172.17.0.8:9 : 208.88.110.46:9] for comp 1
�[0m�[22;36m[1704896457.685|25576] �[0madded turn server '51.222.138.120', port 3478
�[0m #0 0x7f462bdaa6ef in operator delete[](void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:168
#1 0x7f462af56d71 in std::basic_filebuf<char, std::char_traits<char> >::_M_destroy_internal_buffer() (/lib/x86_64-linux-gnu/libstdc++.so.6+0x10bd71)
#2 0x7f462af5a3a8 in std::basic_filebuf<char, std::char_traits<char> >::close() (/lib/x86_64-linux-gnu/libstdc++.so.6+0x10f3a8)
#3 0x7f462af5c1f0 in std::basic_ofstream<char, std::char_traits<char> >::close() (/lib/x86_64-linux-gnu/libstdc++.so.6+0x1111f0)
#4 0x55c354f18f7b in operator() /foo/src/data_transfer.cpp:201
#5 0x55c354f2a47d in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#6 0x55c3553f4e9b in dhtnet::ChannelSocket::onShutdown(std::function<void ()>&&) (/foo/test/unitTest/ut_conversation+0x4674e9b)
#7 0x55c354f1a68c in jami::IncomingFile::process() /foo/src/data_transfer.cpp:196
#8 0x55c354f2605e in jami::TransferManager::onIncomingProfile(std::shared_ptr<dhtnet::ChannelSocket> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /foo/src/data_transfer.cpp:584
#9 0x55c3546a02ac in operator() jamidht/jamiaccount.cpp:4219
#10 0x55c3546ee62b in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#11 0x55c35551f066 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() (/foo/test/unitTest/ut_conversation+0x479f066)
#12 0x7f462af21df3 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6df3)
#13 0x7f462b63b608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608)
#14 0x7f462ac0e352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)
0x625003886100 is located 0 bytes inside of 8192-byte region [0x625003886100,0x625003888100)
freed by thread T959 here:
#0 0x7f462bdaa6ef in operator delete[](void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:168
#1 0x7f462af56d71 in std::basic_filebuf<char, std::char_traits<char> >::_M_destroy_internal_buffer() (/lib/x86_64-linux-gnu/libstdc++.so.6+0x10bd71)
previously allocated by thread T673 here:
#0 0x7f462bda9787 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:107
#1 0x7f462af56d33 in std::basic_filebuf<char, std::char_traits<char> >::_M_allocate_internal_buffer() (/lib/x86_64-linux-gnu/libstdc++.so.6+0x10bd33)
Thread T673 created by T135 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x60400019338f (<unknown module>)
Thread T135 created by T2 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x6220003b40ff (<unknown module>)
Thread T2 created by T0 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x55c354113e41 in jami::ScheduledExecutor::ScheduledExecutor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /foo/src/scheduled_executor.cpp:36
#3 0x55c353f2e14a in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /foo/src/manager.cpp:455
#4 0x55c353fb36b7 in std::_MakeUniq<jami::Manager::ManagerPimpl>::__single_object std::make_unique<jami::Manager::ManagerPimpl, jami::Manager&>(jami::Manager&) (/foo/test/unitTest/ut_conversation+0x32336b7)
#5 0x55c353f3605d in jami::Manager::Manager() /foo/src/manager.cpp:754
#6 0x55c353f35c41 in jami::Manager::instance() /foo/src/manager.cpp:727
#7 0x55c35410e1d4 in libjami::init(libjami::InitFlag) /foo/src/ring_api.cpp:69
#8 0x55c353ceafc1 in jami::test::ConversationTest::setUp() conversation/conversation.cpp:221
#9 0x55c353f034cb in CppUnit::TestCaller<jami::test::ConversationTest>::setUp() /usr/include/cppunit/TestCaller.h:180
#10 0x7f462bc7c614 in CppUnit::TestCaseMethodFunctor::operator()() const (/lib/x86_64-linux-gnu/libcppunit-1.15.so.1+0x24614)
#11 0x60b0000005bf (<unknown module>)
Thread T959 created by T957 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T957 created by T276 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T276 created by T133 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x55c3553dd10f in void std::vector<std::shared_ptr<dhtnet::ConnectionInfo>, std::allocator<std::shared_ptr<dhtnet::ConnectionInfo> > >::_M_range_insert<std::move_iterator<__gnu_cxx::__normal_iterator<std::shared_ptr<dhtnet::ConnectionInfo>*, std::vector<std::shared_ptr<dhtnet::ConnectionInfo>, std::allocator<std::shared_ptr<dhtnet::ConnectionInfo> > > > > >(__gnu_cxx::__normal_iterator<std::shared_ptr<dhtnet::ConnectionInfo>*, std::vector<std::shared_ptr<dhtnet::ConnectionInfo>, std::allocator<std::shared_ptr<dhtnet::ConnectionInfo> > > >, std::move_iterator<__gnu_cxx::__normal_iterator<std::shared_ptr<dhtnet::ConnectionInfo>*, std::vector<std::shared_ptr<dhtnet::ConnectionInfo>, std::allocator<std::shared_ptr<dhtnet::ConnectionInfo> > > > >, std::move_iterator<__gnu_cxx::__normal_iterator<std::shared_ptr<dhtnet::ConnectionInfo>*, std::vector<std::shared_ptr<dhtnet::ConnectionInfo>, std::allocator<std::shared_ptr<dhtnet::ConnectionInfo> > > > >, std::forward_iterator_tag) (/foo/test/unitTest/ut_conversation+0x465d10f)
Thread T133 created by T62 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x87bcead7a7456aff (<unknown module>)
Thread T62 created by T0 here:
#0 0x7f462bcd4815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f462af220c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
SUMMARY: AddressSanitizer: double-free ../../../../src/libsanitizer/asan/asan_new_delete.cc:168 in operator delete[](void*)
==24629==ABORTING
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/942On Sync Data - heap-use-after-free2024-01-19T13:23:03ZSébastien BlinOn Sync Data - heap-use-after-free# Logs
```
�[0m�[22;36m[1704898015.690|24347|account_manager.cpp :70 ] �[0m[Contacts] received device sync data (2 devices, 0 contacts)
�[0m=================================================================
�[22;36m[1704898015.691|2...# Logs
```
�[0m�[22;36m[1704898015.690|24347|account_manager.cpp :70 ] �[0m[Contacts] received device sync data (2 devices, 0 contacts)
�[0m=================================================================
�[22;36m[1704898015.691|23284|contact_list.cpp :89 ] �[0m�[01;33m[Contacts] addContact: 63d48c63eaaa97a8454fb64fea3e42c0485a406b, conversation: 598c0d19d4de3f1771839ed216ff6f70d7c0b0c1
�[0m==23284==ERROR: AddressSanitizer: heap-use-after-free on address 0x604000099a10 at pc 0x7fb9eb8ed490 bp 0x7fb9c57242c0 sp 0x7fb9c5723a68
READ of size 40 at 0x604000099a10 thread T1062
�[22;36m[1704898015.691|23284|account_manager.cpp :743 ] �[0m�[01;33mAccountManager::sendTrustRequestConfirm
�[0m�[22;36m[1704898015.691|23284|conversation_module.cpp :1806] �[0m�[01;33m[Account 2b8bb7282b7bdd77] Request not found for conversation 598c0d19d4de3f1771839ed216ff6f70d7c0b0c1
�[0m�[22;36m[1704898015.692|23284|archive_account_manager.cpp:523 ] �[0mBuilding device sync from 1f99d6609513e8c869058c631718dfc5b4bb2c2575c41647a2c9b58fc1a6dc58
�[0m�[22;36m[1704898015.692|23284|archive_account_manager.cpp:535 ] �[0msending device sync to a52d8f7ae9b0 1b6e13332a8d2df89d6d828c6cba0cf302cc4b7280c6d9416a75a058c439aa7c
�[0m�[22;36m[1704898015.692|24347|contact_list.cpp :332 ] �[0m[Contacts] Ignoring outdated trust request from 63d48c63eaaa97a8454fb64fea3e42c0485a406b
�[0m�[22;36m[1704898015.692|23553|contact_list.cpp :165 ] �[0m�[01;33m[Contacts] contact '63d48c63eaaa97a8454fb64fea3e42c0485a406b' not found
�[0m�[22;36m[1704898015.692|23553|contact_list.cpp :165 ] �[0m�[01;33m[Contacts] contact '63d48c63eaaa97a8454fb64fea3e42c0485a406b' not found
�[0m�[22;36m[1704898015.692|23553|conversation_module.cpp :1702] �[0m[Account 647415c877edcff4] Received a request for a conversation already existing. Ignore
�[0m�[22;36m[1704898015.895|24329|jamiaccount.cpp :1866] �[0mQuery for local certificate store: 0ce33b2f213bd99ede65cd8693daaed9607f4ab2: 0 found.
�[0m�[22;36m[1704898015.895|24329|jamiaccount.cpp :1866] �[0mQuery for local certificate store: 0ce33b2f213bd99ede65cd8693daaed9607f4ab2: 0 found.
�[0m�[22;36m[1704898015.912|24335|account_manager.cpp :70 ] �[0m[Contacts] received device sync data (2 devices, 1 contacts)
�[0m #0 0x7fb9eb8ed48f in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790
#1 0x7fb9eab44b57 in std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x141b57)
#2 0x7fb9eab36396 in std::ostream::write(char const*, long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x133396)
#3 0x55bde92a8c62 in void msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >::append_buffer<std::ostream&, std::ostream, long>(std::ostream& (std::ostream::*)(char const*, long), char const*, unsigned long) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/pack.hpp:629
#4 0x55bde929f198 in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >::append_buffer(char const*, unsigned long) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/pack.hpp:623
#5 0x55bde92b6bf2 in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >::pack_str_body(char const*, unsigned int) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/pack.hpp:1279
#6 0x55bde92b8b4e in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >& msgpack::v1::adaptor::pack<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>::operator()<std::basic_ofstream<char, std::char_traits<char> > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/adaptor/string.hpp:53
#7 0x55bde92b86e5 in std::enable_if<!std::is_array<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::value, msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&>::type msgpack::v1::operator<< <std::basic_ofstream<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/adaptor/adaptor_base.hpp:73
#8 0x55bde92b83a0 in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >& msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >::pack<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/object.hpp:877
#9 0x55bde967c29f in void msgpack::v1::type::define_map_imp<std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&>, 4ul>::pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&> const&) (/foo/test/unitTest/ut_conversation+0x354229f)
#10 0x55bde967af5a in void msgpack::v1::type::define_map_imp<std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&>, 5ul>::pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&> const&) (/foo/test/unitTest/ut_conversation+0x3540f5a)
#11 0x55bde967909f in void msgpack::v1::type::define_map_imp<std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&>, 6ul>::pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&> const&) (/foo/test/unitTest/ut_conversation+0x353f09f)
#12 0x55bde9674da2 in void msgpack::v1::type::define_map_imp<std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&>, 7ul>::pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&> const&) (/foo/test/unitTest/ut_conversation+0x353ada2)
#13 0x55bde9671812 in void msgpack::v1::type::define_map_imp<std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&>, 8ul>::pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::tuple<char const (&) [7], std::shared_ptr<dht::crypto::PublicKey> const&, char const (&) [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [9], long const&, char const (&) [8], std::vector<unsigned char, std::allocator<unsigned char> > const&> const&) (/foo/test/unitTest/ut_conversation+0x3537812)
#14 0x55bde966ef91 in void msgpack::v1::type::define_map<char const [7], std::shared_ptr<dht::crypto::PublicKey> const, char const [15], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, char const [9], long const, char const [8], std::vector<unsigned char, std::allocator<unsigned char> > const>::msgpack_pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&) const (/foo/test/unitTest/ut_conversation+0x3534f91)
#15 0x55bde966b81c in void jami::TrustRequest::msgpack_pack<msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&) const (/foo/test/unitTest/ut_conversation+0x353181c)
#16 0x55bde966722d in msgpack::v1::detail::packer_serializer<std::basic_ofstream<char, std::char_traits<char> >, jami::TrustRequest>::pack(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, jami::TrustRequest const&) (/foo/test/unitTest/ut_conversation+0x352d22d)
#17 0x55bde965ee12 in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >& msgpack::v1::adaptor::pack<jami::TrustRequest, void>::operator()<std::basic_ofstream<char, std::char_traits<char> > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, jami::TrustRequest const&) const /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/object.hpp:656
#18 0x55bde9656940 in std::enable_if<!std::is_array<jami::TrustRequest>::value, msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&>::type msgpack::v1::operator<< <std::basic_ofstream<char, std::char_traits<char> >, jami::TrustRequest>(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, jami::TrustRequest const&) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/adaptor/adaptor_base.hpp:73
#19 0x55bde964e70c in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >& msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >::pack<jami::TrustRequest>(jami::TrustRequest const&) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/object.hpp:877
#20 0x55bde9643b17 in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >& msgpack::v1::adaptor::pack<std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >, void>::operator()<std::basic_ofstream<char, std::char_traits<char> > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > const&) const (/foo/test/unitTest/ut_conversation+0x3509b17)
#21 0x55bde9632d46 in std::enable_if<!std::is_array<std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > >::value, msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&>::type msgpack::v1::operator<< <std::basic_ofstream<char, std::char_traits<char> >, std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > >(msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >&, std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > const&) (/foo/test/unitTest/ut_conversation+0x34f8d46)
#22 0x55bde961db9a in msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >& msgpack::v1::packer<std::basic_ofstream<char, std::char_traits<char> > >::pack<std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > >(std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > const&) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/object.hpp:877
#23 0x55bde9610511 in void msgpack::v1::pack<std::basic_ofstream<char, std::char_traits<char> >, std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > >(std::basic_ofstream<char, std::char_traits<char> >&, std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > const&) /foo/contrib/x86_64-linux-gnu/include/msgpack/v1/pack.hpp:675
#24 0x55bde95f0691 in jami::ContactList::saveTrustRequests() const jamidht/contact_list.cpp:259
#25 0x55bdea367421 in jami::AccountManager::onSyncData(jami::DeviceSync&&, bool) jamidht/account_manager.cpp:106
#26 0x55bde9c8efc4 in operator() jamidht/sync_module.cpp:214
#27 0x55bde9c95c51 in _M_invoke /usr/include/c++/9/bits/std_function.h:285
#28 0x55bdea7b1713 in dhtnet::ChannelSocket::onRecv(std::vector<unsigned char, std::allocator<unsigned char> >&&) (/foo/test/unitTest/ut_conversation+0x4677713)
#29 0x55bdea7b1575 in dhtnet::MultiplexedSocket::Impl::handleChannelPacket(unsigned short, std::vector<unsigned char, std::allocator<unsigned char> >&&) (/foo/test/unitTest/ut_conversation+0x4677575)
#30 0x55bdea7b7052 in dhtnet::MultiplexedSocket::Impl::eventLoop() (/foo/test/unitTest/ut_conversation+0x467d052)
#31 0x55bdea7bb237 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::unique_ptr<dhtnet::TlsSocketEndpoint, std::default_delete<dhtnet::TlsSocketEndpoint> >, std::shared_ptr<dht::log::Logger>)::{lambda()#1}> > >::_M_run() (/foo/test/unitTest/ut_conversation+0x4681237)
#32 0x7fb9eaad9df3 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6df3)
#33 0x7fb9eb1f3608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608)
#34 0x7fb9ea7c6352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)
0x604000099a10 is located 0 bytes inside of 41-byte region [0x604000099a10,0x604000099a39)
freed by thread T0 here:
#0 0x7fb9eb96251f in operator delete(void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:165
#1 0x55bde9607d3b in jami::TrustRequest::~TrustRequest() jamidht/jami_contact.h:128
#2 0x55bde9654f67 in std::pair<dht::Hash<20ul> const, jami::TrustRequest>::~pair() /usr/include/c++/9/bits/stl_pair.h:208
#3 0x55bde9654faf in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >::destroy<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >(std::pair<dht::Hash<20ul> const, jami::TrustRequest>*) /usr/include/c++/9/ext/new_allocator.h:152
#4 0x55bde964d6c0 in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > > >::destroy<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >(std::allocator<std::_Rb_tree_node<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >&, std::pair<dht::Hash<20ul> const, jami::TrustRequest>*) /usr/include/c++/9/bits/alloc_traits.h:496
#5 0x55bde9641bc0 in std::_Rb_tree<dht::Hash<20ul>, std::pair<dht::Hash<20ul> const, jami::TrustRequest>, std::_Select1st<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >::_M_destroy_node(std::_Rb_tree_node<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >*) /usr/include/c++/9/bits/stl_tree.h:642
#6 0x55bde962f47e in std::_Rb_tree<dht::Hash<20ul>, std::pair<dht::Hash<20ul> const, jami::TrustRequest>, std::_Select1st<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >::_M_drop_node(std::_Rb_tree_node<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >*) /usr/include/c++/9/bits/stl_tree.h:650
#7 0x55bde9634d77 in std::_Rb_tree<dht::Hash<20ul>, std::pair<dht::Hash<20ul> const, jami::TrustRequest>, std::_Select1st<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >) (/foo/test/unitTest/ut_conversation+0x34fad77)
#8 0x55bde9620475 in std::_Rb_tree<dht::Hash<20ul>, std::pair<dht::Hash<20ul> const, jami::TrustRequest>, std::_Select1st<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >) /usr/include/c++/9/bits/stl_tree.h:1225
#9 0x55bde9611fb7 in std::map<dht::Hash<20ul>, jami::TrustRequest, std::less<dht::Hash<20ul> >, std::allocator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >) (/foo/test/unitTest/ut_conversation+0x34d7fb7)
#10 0x55bde95f525a in jami::ContactList::acceptTrustRequest(dht::Hash<20ul> const&) jamidht/contact_list.cpp:397
#11 0x55bdea37ac2b in jami::AccountManager::acceptTrustRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) jamidht/account_manager.cpp:683
�[22;36m[1704898016.550|24329|account_manager.cpp :752 ] �[0m�[01;33msending trust request reply: 63d48c63eaaa97a8454fb64fea3e42c0485a406b / 8b940522f4020ea5692ddcd9f5baa3d565a2ec595e4e1929d8ede069ecd86091
�[0m�[22;36m[1704898016.690|24329] �[0mStore DHT public IPv4 address: 208.88.110.46
�[0m�[22;36m[1704898016.690|24329] �[0mStore DHT public IPv6 address: [2607:fad8:4:6:b62e:99ff:feff:2fe7]
�[0m�[22;36m[1704898016.690|24329] �[0m[ice:0x6290001a4200] Creating IceTransport session for ""
�[0m�[22;36m[1704898016.690|24329] �[0m[ice:0x6290001a4200] Initializing the session - comp count 1 - as a slave
�[0m�[22;36m[1704898016.690|24329] �[0m[ice:0x6290001a4200] Add srflx reflexive candidates [172.17.0.10:9 : 208.88.110.46:9] for comp 1
�[0m�[22;36m[1704898016.690|24329] �[0madded turn server '51.222.138.120', port 3478
�[0m #12 0x55bde9a768a4 in operator()<const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&> jamidht/jamiaccount.cpp:2252
#13 0x55bde9ac123b in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#14 0x55bde9753584 in std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const /usr/include/c++/9/bits/std_function.h:688
#15 0x55bde96c47ea in jami::ConversationModule::acceptConversationRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) jamidht/conversation_module.cpp:1812
#16 0x55bde951afde in libjami::acceptConversationRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) client/conversation_interface.cpp:52
#17 0x55bde917f42d in jami::test::ConversationTest::testCloneFromMultipleDevice() conversation/conversation.cpp:2079
#18 0x55bde92a117b in void std::__invoke_impl<void, void (jami::test::ConversationTest::*&)(), jami::test::ConversationTest*&>(std::__invoke_memfun_deref, void (jami::test::ConversationTest::*&)(), jami::test::ConversationTest*&) (/foo/test/unitTest/ut_conversation+0x316717b)
#19 0x55bde92949cf in std::__invoke_result<void (jami::test::ConversationTest::*&)(), jami::test::ConversationTest*&>::type std::__invoke<void (jami::test::ConversationTest::*&)(), jami::test::ConversationTest*&>(void (jami::test::ConversationTest::*&)(), jami::test::ConversationTest*&) (/foo/test/unitTest/ut_conversation+0x315a9cf)
#20 0x55bde9288ec7 in void std::_Bind<void (jami::test::ConversationTest::*(jami::test::ConversationTest*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (/foo/test/unitTest/ut_conversation+0x314eec7)
#21 0x55bde927ebae in void std::_Bind<void (jami::test::ConversationTest::*(jami::test::ConversationTest*))()>::operator()<, void>() (/foo/test/unitTest/ut_conversation+0x3144bae)
#22 0x55bde9270ead in std::_Function_handler<void (), std::_Bind<void (jami::test::ConversationTest::*(jami::test::ConversationTest*))()> >::_M_invoke(std::_Any_data const&) (/foo/test/unitTest/ut_conversation+0x3136ead)
#23 0x55bde924a223 in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#24 0x55bde92bd40f in CppUnit::TestCaller<jami::test::ConversationTest>::runTest() /usr/include/cppunit/TestCaller.h:175
#25 0x7fb9eb834614 in CppUnit::TestCaseMethodFunctor::operator()() const (/lib/x86_64-linux-gnu/libcppunit-1.15.so.1+0x24614)
#26 0x60b0000005bf (<unknown module>)
previously allocated by thread T1062 here:
#0 0x7fb9eb961587 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x55bde927c0ad in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/include/c++/9/bits/basic_string.tcc:219
#2 0x55bde95f217a in jami::ContactList::onTrustRequest(dht::Hash<20ul> const&, std::shared_ptr<dht::crypto::PublicKey> const&, long, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<unsigned char, std::allocator<unsigned char> >&&) jamidht/contact_list.cpp:323
#3 0x55bdea3672ff in jami::AccountManager::onSyncData(jami::DeviceSync&&, bool) jamidht/account_manager.cpp:100
#4 0x55bde9c8efc4 in operator() jamidht/sync_module.cpp:214
#5 0x55bde9c95c51 in _M_invoke /usr/include/c++/9/bits/std_function.h:285
#6 0x55bdea7b1713 in dhtnet::ChannelSocket::onRecv(std::vector<unsigned char, std::allocator<unsigned char> >&&) (/foo/test/unitTest/ut_conversation+0x4677713)
Thread T1062 created by T1061 here:
#0 0x7fb9eb88c815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7fb9eaada0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T1061 created by T268 here:
#0 0x7fb9eb88c815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7fb9eaada0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T268 created by T62 here:
#0 0x7fb9eb88c815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7fb9eaada0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x6220002688ff (<unknown module>)
Thread T62 created by T0 here:
#0 0x7fb9eb88c815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7fb9eaada0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
SUMMARY: AddressSanitizer: heap-use-after-free ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790 in __interceptor_memcpy
Shadow bytes around the buggy address:
0x0c088000b2f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000b300: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000b310: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000b320: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
0x0c088000b330: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
=>0x0c088000b340: fa fa[fd]fd fd fd fd fd fa fa fa fa fa fa fa fa
0x0c088000b350: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fa
0x0c088000b360: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c088000b370: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd
0x0c088000b380: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd
0x0c088000b390: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==23284==ABORTING
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/941onReady - heap-use-after-free2024-01-19T13:23:10ZSébastien BlinonReady - heap-use-after-free# Logs
```
�[0m�[22;36m[1704830557.679|50239|conversationrepository.cpp:1837] �[0mNew message added with id: 8969b1ccec564c9e0c88473a038b08625b28e172
�[0m�[22;36m[1704830557.679|50239|conversation_module.cpp :1036] �[0m[Conversation ac...# Logs
```
�[0m�[22;36m[1704830557.679|50239|conversationrepository.cpp:1837] �[0mNew message added with id: 8969b1ccec564c9e0c88473a038b08625b28e172
�[0m�[22;36m[1704830557.679|50239|conversation_module.cpp :1036] �[0m[Conversation ac9928fee1acc66a4b9062739d142cfda6a346a7] Not yet bootstraped, save notification
�[0m�[22;36m[1704830557.679|50179|message_engine.cpp :119 ] �[0m[message 1256209504572392] Retry sending
�[0m�[22;36m[1704830557.679|50179|message_engine.cpp :173 ] �[0m[message 1256209504572392] Message sent: failure
�[0m�[22;36m[1704830557.680|50197|message_engine.cpp :345 ] �[0m[Account ea96722368bb14d0] saved 0 messages to /foo/.cache/jami/ea96722368bb14d0/messages
�[0m�[22;36m[1704830557.680|50179|message_engine.cpp :212 ] �[0m[message 1256209504572392] Status changed to IDLE
�[0m�[22;36m[1704830557.680|50179|jamiaccount.cpp :3637] �[0m[Account ea96722368bb14d0] Request SIP connection to peer b47dc0fb54631f8f51e452fa7c67f65358d946fa on device 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819
�[0m�[22;36m[1704830557.680|50179|jamiaccount.cpp :3663] �[0m[Account ea96722368bb14d0] Ask 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819 for a new SIP channel
�[0m�[22;36m[1704830557.680|50205] �[0m[device 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819] Peer already connected. Add a new channel
�[0m�[22;36m[1704830557.680|50444|jamiaccount.cpp :1971] �[0m�[01;33m[Account 2cd107f66e3b0299] New channel asked with name sip
�[0m�[22;36m[1704830557.681|50444|channeled_transport.cpp :48 ] �[0mChanneledSIPTransport@0x625000726100 {tr=0x625000726170}
�[0m�[22;36m[1704830557.681|50444|siptransport.cpp :80 ] �[0mSipTransport@0x6110008a4fd0 tr=0x625000726170 rc=1
�[0m�[22;36m[1704830557.681|50444|jamiaccount.cpp :3900] �[0m�[01;33m[Account 2cd107f66e3b0299] New SIP channel opened with d60fd665eff822b5bfd0171f9bbcdb0fc44b7d2d751a1a89a76cb33693722675
�[0m�[22;36m[1704830557.681|51088|channeled_transport.cpp :48 ] �[0mChanneledSIPTransport@0x6250085ef900 {tr=0x6250085ef970}
�[0m�[22;36m[1704830557.681|51088|siptransport.cpp :80 ] �[0mSipTransport@0x61100097a590 tr=0x6250085ef970 rc=1
�[0m�[22;36m[1704830557.681|51088|jamiaccount.cpp :3900] �[0m�[01;33m[Account ea96722368bb14d0] New SIP channel opened with 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819
�[0m�[22;36m[1704830557.681|51088|message_engine.cpp :119 ] �[0m[message 1256209504572392] Retry sending
�[0m�[22;36m[1704830557.681|50239|conversation.cpp :2258] �[0m[Conversation (1:1) b47dc0fb54631f8f51e452fa7c67f65358d946fa][SwarmManager 0x61e00040e090] Bootstrap with 3 devices
�[0m�[22;36m[1704830557.681|50198] �[0m[device 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819] Peer already connected. Add a new channel
�[0m�[22;36m[1704830557.681|51088|sip_utils.cpp :221 ] �[0mAdd header to SIP message: "User-Agent: Jami Daemon 15.1.0-3c3370a6f1-dirty (linux)"
�[0m�[22;36m[1704830557.681|50447|conversation_module.cpp :539 ] �[0m[Account ea96722368bb14d0] fetch commits from b47dc0fb54631f8f51e452fa7c67f65358d946fa, for ac9928fee1acc66a4b9062739d142cfda6a346a7, commit
�[0m�[22;36m[1704830557.682|50448|jamiaccount.cpp :1971] �[0m�[01;33m[Account 2cd107f66e3b0299] New channel asked with name data-transfer://ac9928fee1acc66a4b9062739d142cfda6a346a7/profile/b47dc0fb54631f8f51e452fa7c67f65358d946fa.vcf
�[0m�[22;36m[1704830557.682|50177|common.cpp :105 ] �[0mRemoving 3 accounts...
�[0m�[22;36m[1704830557.682|51087|sipaccountbase.cpp :283 ] �[0mText message received from e8db50fffb757b1c5e6ff2593c0657185400fa4d, 1 part(s)
�[0m�[22;36m[1704830557.682|50179|message_engine.cpp :173 ] �[0m[message 1256209504572392] Message sent: success
�[0m�[22;36m[1704830557.682|50177|jamiaccount.cpp :289 ] �[0m[Account 2cd107f66e3b0299] Shutdown connections
�[0m�[22;36m[1704830557.682|50310|conversation_module.cpp :539 ] �[0m[Account 2cd107f66e3b0299] fetch commits from e8db50fffb757b1c5e6ff2593c0657185400fa4d, for ac9928fee1acc66a4b9062739d142cfda6a346a7, commit 8969b1ccec564c9e0c88473a038b08625b28e172
�[0m�[22;36m[1704830557.682|50179|message_engine.cpp :190 ] �[0m[message 1256209504572392] Status changed to SENT
�[0m=================================================================
�[22;36m[1704830557.682|51087] �[0m�[22;31m[TLS] fatal error in recv: The TLS connection was non-properly terminated.
�[0m�[22;36m[1704830557.682|50445|channeled_transport.cpp :186 ] �[0m�[01;33m[SIPS] process disconnect event
�[0m�[22;36m[1704830557.682|51085] �[0m[TLS] shutdown
�[0m==115713==ERROR: AddressSanitizer: heap-use-after-free on address 0x6030002db080 at pc 0x7f8c1e6bf490 bp 0x7f8bf35cfef0 sp 0x7f8bf35cf698
�[22;36m[1704830557.682|50445|siptransport.cpp :210 ] �[0mpjsip transport@0x625000726170 TLS to 172.17.0.7 -> DISCONNECTED
�[0m�[22;36m[1704830557.682|50206|message_engine.cpp :345 ] �[0m[Account ea96722368bb14d0] saved 0 messages to /foo/.cache/jami/ea96722368bb14d0/messages
�[0m�[22;36m[1704830557.683|50201] �[0m[device 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819] Peer already connected. Add a new channel
�[0mREAD of size 16 at 0x6030002db080 thread T271
�[22;36m[1704830557.683|51088] �[0m[TLS] eof
�[0m�[22;36m[1704830557.683|50179|siptransport.cpp :101 ] �[0m�[22;36m�[22;36m~SipTransport@0x6110008a4fd0 tr=0x625000726170 rc=1
�[0m[1704830557.683|51086] �[0m[TLS] shutdown
�[0m[1704830557.683|51084] �[0m�[22;31m[ice:0x629000956200] rx: channel is closed
�[0m�[22;36m[1704830557.683|50443|swarm_manager.cpp :353 ] �[0m�[01;33m[SwarmManager 0x61e00040e090] Bootstrap: all connections failed
�[0m�[22;36m[1704830557.683|51084] �[0m�[22;31m[ice:0x629000956200] rx: channel is closed
�[0m�[22;36m[1704830557.683|50444|conversation.cpp :2288] �[0m[Conversation (1:1) b47dc0fb54631f8f51e452fa7c67f65358d946fa][SwarmManager 0x61e00040e090] Fallback in 18 seconds
�[0m�[22;36m[1704830557.683|50310|conversationrepository.cpp:2063] �[0mCouldn't init revwalker for conversation ac9928fee1acc66a4b9062739d142cfda6a346a7
�[0m�[22;36m[1704830557.685|51088|channeled_transport.cpp :186 ] �[0m�[01;33m[SIPS] process disconnect event
�[0m�[22;36m[1704830557.685|51088|siptransport.cpp :210 ] �[0mpjsip transport@0x6250085ef970 TLS to 172.17.0.7 -> DISCONNECTED
�[0m�[22;36m[1704830557.685|50179|siptransport.cpp :101 ] �[0m~SipTransport@0x61100097a590 tr=0x6250085ef970 rc=4
�[0m�[22;36m[1704830557.685|51072] �[0mStore DHT public IPv4 address: 208.88.110.46
�[0m�[22;36m[1704830557.686|51072] �[0mStore DHT public IPv6 address: [2607:fad8:4:6:b62e:99ff:feff:2fe7]
�[0m�[22;36m[1704830557.686|50177|gitserver.cpp :491 ] �[0mGitServer destroyed
�[0m�[22;36m[1704830557.686|51072] �[0m[ice:0x629000069200] Creating IceTransport session for ""
�[0m�[22;36m[1704830557.686|50177|jamiaccount.cpp :2319] �[0m�[01;33m[Account 2cd107f66e3b0299] unregistering account 0x62200070f910
�[0m�[22;36m[1704830557.686|51072] �[0m[ice:0x629000069200] Initializing the session - comp count 1 - as a slave
�[0m�[22;36m[1704830557.686|51072] �[0m[ice:0x629000069200] Add srflx reflexive candidates [172.17.0.7:9 : 208.88.110.46:9] for comp 1
�[0m�[22;36m[1704830557.686|51072] �[0madded turn server '51.222.138.120', port 3478
�[0m�[22;36m[1704830557.694|51080|archive_account_manager.cpp:523 ] �[0mBuilding device sync from 293be3fbd98c4b6d4db2f6291a8639f0a6b75d1e95d6b1b8d543e95618945819
�[0m�[22;36m[1704830557.694|51080] �[0m[device d60fd665eff822b5bfd0171f9bbcdb0fc44b7d2d751a1a89a76cb33693722675] Answer to connection request: put encrypted failed
�[0m�[22;36m[1704830557.694|51080|jamiaccount.cpp :2322] �[0m�[01;33m[Account 2cd107f66e3b0299] dht shutdown complete
�[0m #0 0x7f8c1e6bf48f in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790
#1 0x7f8c1d93e965 (/lib/x86_64-linux-gnu/libstdc++.so.6+0x169965)
#2 0x7f8c1d942059 in std::filesystem::__cxx11::path::_List::_List(std::filesystem::__cxx11::path::_List const&) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x16d059)
#3 0x558a91e41a08 in std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path const&) /usr/include/c++/9/bits/fs_path.h:175
#4 0x558a91e41ab4 in std::filesystem::__cxx11::operator/(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&) /usr/include/c++/9/bits/fs_path.h:449
#5 0x558a92a68f4e in jami::TransferChannelHandler::onReady(std::shared_ptr<dht::crypto::Certificate> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<dhtnet::ChannelSocket>) jamidht/transfer_channel_handler.cpp:162
#6 0x558a927ba5df in operator() jamidht/jamiaccount.cpp:2072
#7 0x558a9284db79 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#8 0x558a93525ddc in std::_Function_handler<void (dht::Hash<32ul> const&, std::shared_ptr<dhtnet::ChannelSocket> const&), dhtnet::ConnectionManager::Impl::addNewMultiplexedSocket(std::weak_ptr<dhtnet::DeviceInfo> const&, dht::Hash<32ul> const&, unsigned long const&, std::shared_ptr<dhtnet::ConnectionInfo> const&)::{lambda(dht::Hash<32ul> const&, std::shared_ptr<dhtnet::ChannelSocket> const&)#1}>::_M_invoke(std::_Any_data const&, dht::Hash<32ul> const&, std::shared_ptr<dhtnet::ChannelSocket> const&) (/foo/test/unitTest/ut_conversation+0x4641ddc)
#9 0x558a93561f68 in dhtnet::MultiplexedSocket::Impl::onRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) (/foo/test/unitTest/ut_conversation+0x467df68)
#10 0x558a93562547 in std::_Function_handler<void (), dhtnet::MultiplexedSocket::Impl::handleControlPacket(std::vector<unsigned char, std::allocator<unsigned char> >&&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (/foo/test/unitTest/ut_conversation+0x467e547)
#11 0x558a93686c26 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() (/foo/test/unitTest/ut_conversation+0x47a2c26)
#12 0x7f8c1d8abdf3 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6df3)
#13 0x7f8c1dfc5608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608)
#14 0x7f8c1d598352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)
0x6030002db080 is located 0 bytes inside of 17-byte region [0x6030002db080,0x6030002db091)
freed by thread T0 here:
#0 0x7f8c1e734c65 in operator delete(void*, unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:177
#1 0x7f8c1d93eaa2 in std::filesystem::__cxx11::path::_List::_Impl_deleter::operator()(std::filesystem::__cxx11::path::_List::_Impl*) const (/lib/x86_64-linux-gnu/libstdc++.so.6+0x169aa2)
previously allocated by thread T2 here:
#0 0x7f8c1e733587 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x7f8c1d93e87c (/lib/x86_64-linux-gnu/libstdc++.so.6+0x16987c)
Thread T271 created by T265 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T265 created by T256 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T256 created by T130 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T130 created by T128 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x7f8c0407d777 (<unknown module>)
Thread T128 created by T125 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T125 created by T33 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
Thread T33 created by T2 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x558a942b5003 in _IO_stdin_used (/foo/test/unitTest/ut_conversation+0x53d1003)
Thread T2 created by T0 here:
#0 0x7f8c1e65e815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f8c1d8ac0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x558a92281059 in jami::ScheduledExecutor::ScheduledExecutor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /foo/src/scheduled_executor.cpp:36
#3 0x558a9209b362 in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /foo/src/manager.cpp:455
#4 0x558a921208cf in std::_MakeUniq<jami::Manager::ManagerPimpl>::__single_object std::make_unique<jami::Manager::ManagerPimpl, jami::Manager&>(jami::Manager&) (/foo/test/unitTest/ut_conversation+0x323c8cf)
#5 0x558a920a3275 in jami::Manager::Manager() /foo/src/manager.cpp:754
#6 0x558a920a2e59 in jami::Manager::instance() /foo/src/manager.cpp:727
#7 0x558a9227b3ec in libjami::init(libjami::InitFlag) /foo/src/ring_api.cpp:69
#8 0x558a91e4ffc1 in jami::test::ConversationTest::setUp() conversation/conversation.cpp:223
#9 0x558a920706e3 in CppUnit::TestCaller<jami::test::ConversationTest>::setUp() /usr/include/cppunit/TestCaller.h:180
#10 0x7f8c1e606614 in CppUnit::TestCaseMethodFunctor::operator()() const (/lib/x86_64-linux-gnu/libcppunit-1.15.so.1+0x24614)
#11 0x60b0000005bf (<unknown module>)
SUMMARY: AddressSanitizer: heap-use-after-free ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790 in __interceptor_memcpy
Shadow bytes around the buggy address:
0x0c06800535c0: fa fa fd fd fd fd fa fa fd fd fd fd fa fa fd fd
0x0c06800535d0: fd fa fa fa fd fd fd fa fa fa fa fa fa fa fa fa
0x0c06800535e0: fd fd fd fa fa fa fd fd fd fd fa fa fd fd fd fa
0x0c06800535f0: fa fa fd fd fd fd fa fa fd fd fd fa fa fa fd fd
0x0c0680053600: fd fa fa fa fd fd fd fd fa fa fd fd fd fa fa fa
=>0x0c0680053610:[fd]fd fd fa fa fa fd fd fd fa fa fa fd fd fd fa
0x0c0680053620: fa fa fd fd fd fd fa fa fd fd fd fa fa fa fd fd
0x0c0680053630: fd fd fa fa fd fd fd fd fa fa fa fa fa fa fa fa
0x0c0680053640: fd fd fd fd fa fa fd fd fd fd fa fa fd fd fd fd
0x0c0680053650: fa fa fd fd fd fa fa fa fd fd fd fa fa fa fd fd
0x0c0680053660: fd fd fa fa fd fd fd fa fa fa fd fd fd fd fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==115713==ABORTING
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/9403rdparty/qrencode-win32 git submodule refderences unknown commit2024-01-08T03:49:39ZMaxim Cournoyer3rdparty/qrencode-win32 git submodule refderences unknown commitHello,
```
~/src/jami$ git submodule deinit -f 3rdparty/qrencode-win32
Répertoire '3rdparty/qrencode-win32' nettoyé
Sous-module '3rdparty/qrencode-win32' (https://github.com/blizzard4591/qrencode-win32.git) non enregistré pour le chemin...Hello,
```
~/src/jami$ git submodule deinit -f 3rdparty/qrencode-win32
Répertoire '3rdparty/qrencode-win32' nettoyé
Sous-module '3rdparty/qrencode-win32' (https://github.com/blizzard4591/qrencode-win32.git) non enregistré pour le chemin '3rdparty/qrencode-win32'
~/src/jami$ rm -rf 3rdparty/qrencode-win32/
~/src/jami$ ./build.py --init
Sous-module '3rdparty/qrencode-win32' (https://github.com/blizzard4591/qrencode-win32.git) enregistré pour le chemin '3rdparty/qrencode-win32'
fatal : erreur distante : upload-pack: not our ref 5ccf9bd4455dfd55a41acfdf0bdbeb85605e10b6
fatal : Chemin de sous-module '3rdparty/qrencode-win32' récupéré, mais il ne contenait pas 5ccf9bd4455dfd55a41acfdf0bdbeb85605e10b6. La récupération directe de ce commit a échoué.
Traceback (most recent call last):
File "/home/maxim/src/jami/./build.py", line 826, in <module>
main()
File "/home/maxim/src/jami/./build.py", line 795, in main
run_init(parsed_args)
File "/home/maxim/src/jami/./build.py", line 311, in run_init
subprocess.run(["git", "submodule", "update", "--init"],
File "/gnu/store/mvza3hr80ywy78jg6cbgvcm8aiis9nc0-python-3.10.7/lib/python3.10/subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'submodule', 'update', '--init']' returned non-zero exit status 128.
```
This happens on commit a4300308dc8d03d59f620bb5fed753df5cf31ed9.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/938SIP - Incoming call not working2024-01-09T16:26:38ZEmma FalkiewitzSIP - Incoming call not workingOn Jami snap 202312211550, configured with test SIP account India (698), can't get incoming calls : the call fails when answering.
It seems that Jami fails to generate a valid SDP answer for the offer.
[sip_failure.log](/uploads/2b85a9...On Jami snap 202312211550, configured with test SIP account India (698), can't get incoming calls : the call fails when answering.
It seems that Jami fails to generate a valid SDP answer for the offer.
[sip_failure.log](/uploads/2b85a9045f404f48bb28de77e99bc24b/sip_failure.log)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/937Windows: kicking failed, invalid path2024-01-09T16:53:26ZSébastien BlinWindows: kicking failed, invalid path# Scenario
+ Alice admin (windows) ban a member from a conversation
# Current result
+ Member not banned
# Expected result
+ Member banned
# Logs
```
[1704486353.315|1280|conversation.cpp :958 ] Kicking ad2a7baf15ee3957bea...# Scenario
+ Alice admin (windows) ban a member from a conversation
# Current result
+ Member not banned
# Expected result
+ Member banned
# Logs
```
[1704486353.315|1280|conversation.cpp :958 ] Kicking ad2a7baf15ee3957beaef2271a7bb8e08c63cca5 failed
[1704486367.260|6552|conversationrepository.cpp:886 ] Error when adding file: invalid path: 'votes/ban/members/ad2a7baf15ee3957beaef2271a7bb8e08c63cca5\bda3200d605f7ff2b08e1c2a7eaa84c0a8a5f13e'
[1704486367.262|6552|conversation.cpp :958 ] Kicking ad2a7baf15ee3957beaef2271a7bb8e08c63cca5 failed
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/936deadlock PUPNP2024-01-08T16:08:08ZSébastien Blindeadlock 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 0x0000000000...```
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
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/934heap-use-after-free crash in contact list2024-01-08T16:34:23ZSébastien Blinheap-use-after-free crash in contact list```
[1703709289.670|41680|contact_list.cpp :326 ] [Contacts] Ignoring outdated trust request from b616f0265a80ef65465adbb959b537cf96c79c40
[1703709289.670|39289|contact_list.cpp :163 ] [Contacts] contact 'b616f0265a80ef6546...```
[1703709289.670|41680|contact_list.cpp :326 ] [Contacts] Ignoring outdated trust request from b616f0265a80ef65465adbb959b537cf96c79c40
[1703709289.670|39289|contact_list.cpp :163 ] [Contacts] contact 'b616f0265a80ef65465adbb959b537cf96c79c40' not found
[1703709289.670|39289|contact_list.cpp :163 ] [Contacts] contact 'b616f0265a80ef65465adbb959b537cf96c79c40' not found
[1703709289.670|39289|conversation_module.cpp :1682] [Account aea0bbba4c1ab258] Received a request for a conversation already existing. Ignore
Thread 1318 "ut_conversation" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffec2ffd6c0 (LWP 1549007)]
0x00007ffff6acd474 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () from /lib64/libstdc++.so.6
--Type <RET> for more, q to quit, c to continue without paging--
Missing separate debuginfos, use: dnf debuginfo-install alsa-lib-1.2.10-2.fc38.x86_64 bzip2-libs-1.0.8-13.fc38.x86_64 cppunit-1.15.1-15.fc38.x86_64 dbus-libs-1.14.10-1.fc38.x86_64 expat-2.5.0-2.fc38.x86_64 flac-libs-1.4.3-1.fc38.x86_64 freetype-2.13.0-2.fc38.x86_64 glib2-2.76.5-2.fc38.x86_64 glibc-2.37-13.fc38.x86_64 gmp-6.2.1-4.fc38.x86_64 gnutls-3.8.1-1.fc38.x86_64 graphite2-1.3.14-11.fc38.x86_64 gsm-1.0.22-2.fc38.x86_64 harfbuzz-7.1.0-1.fc38.x86_64 jsoncpp-1.9.5-4.fc38.x86_64 lame-libs-3.100-14.fc38.x86_64 libX11-1.8.7-1.fc38.x86_64 libX11-xcb-1.8.7-1.fc38.x86_64 libXau-1.0.11-2.fc38.x86_64 libXext-1.3.5-2.fc38.x86_64 libXfixes-6.0.0-5.fc38.x86_64 libasyncns-0.8-24.fc38.x86_64 libatomic-13.2.1-4.fc38.x86_64 libbrotli-1.0.9-11.fc38.x86_64 libffi-3.4.4-2.fc38.x86_64 libgcc-13.2.1-4.fc38.x86_64 libidn2-2.3.4-2.fc38.x86_64 libpng-1.6.37-14.fc38.x86_64 libsndfile-1.1.0-6.fc38.x86_64 libstdc++-13.2.1-4.fc38.x86_64 libtasn1-4.19.0-2.fc38.x86_64 libunistring-1.1-3.fc38.x86_64 libunistring1.0-1.0-1.fc38.x86_64 libuuid-2.38.1-4.fc38.x86_64 libva-2.18.0-1.fc38.x86_64 libvdpau-1.5-3.fc38.x86_64 libvorbis-1.3.7-7.fc38.x86_64 libxcb-1.13.1-11.fc38.x86_64 libzstd-1.5.5-1.fc38.x86_64 lz4-libs-1.9.4-2.fc38.x86_64 mpg123-libs-1.31.3-1.fc38.x86_64 nettle-3.8-3.fc38.x86_64 nss-mdns-0.15.1-8.fc38.x86_64 opus-1.3.1-12.fc38.x86_64 pcre2-10.42-1.fc38.1.x86_64 pulseaudio-libs-16.1-4.fc38.x86_64 speex-1.2.0-13.fc38.x86_64 speexdsp-1.2.1-3.fc38.x86_64 systemd-libs-253.12-1.fc38.x86_64 xz-libs-5.4.1-1.fc38.x86_64 yaml-cpp-0.7.0-3.fc38.x86_64 zlib-1.2.13-3.fc38.x86_64
(gdb) bt
#0 0x00007ffff6acd474 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () from /lib64/libstdc++.so.6
#1 0x00000000005f3185 in std::_Rb_tree_const_iterator<std::pair<dht::Hash<20ul> const, jami::TrustRequest> >::operator++ (this=0x7ffec2ffba48) at /usr/include/c++/13/bits/stl_tree.h:368
#2 0x00000000005ebda8 in jami::ContactList::getSyncData (this=0x7fffa00224c0) at jamidht/contact_list.cpp:576
#3 0x000000000079ccff in jami::SyncModule::Impl::syncInfos (this=0x7ffed0006620, socket=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<dhtnet::ChannelSocket> (use count 6, weak count 1) = {...},
syncMsg=std::shared_ptr<jami::SyncMsg> (empty) = {...}) at jamidht/sync_module.cpp:71
#4 0x000000000079e502 in jami::SyncModule::syncWith (this=0x7fff30001ed0, deviceId=..., socket=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<dhtnet::ChannelSocket> (use count 6, weak count 1) = {...},
syncMsg=std::shared_ptr<jami::SyncMsg> (empty) = {...}) at jamidht/sync_module.cpp:243
#5 0x00000000006e57d5 in operator() (__closure=0x7fffd0002c70, socket=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<dhtnet::ChannelSocket> (use count 6, weak count 1) = {...}, deviceId=...)
at jamidht/jamiaccount.cpp:1911
#6 0x000000000071aa3d in std::__invoke_impl<void, jami::JamiAccount::doRegister_()::<lambda(bool)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&)>::<lambda(std::shared_ptr<dhtnet::ChannelSocket>, const jami::DeviceId&)>&, std::shared_ptr<dhtnet::ChannelSocket>, const dht::Hash<32>&>(std::__invoke_other, struct {...} &) (__f=...)
at /usr/include/c++/13/bits/invoke.h:61
#7 0x0000000000711346 in std::__invoke_r<void, jami::JamiAccount::doRegister_()::<lambda(bool)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&)>::<lambda(std::shared_ptr<dhtnet::ChannelSocket>, const jami::DeviceId&)>&, std::shared_ptr<dhtnet::ChannelSocket>, const dht::Hash<32>&>(struct {...} &) (__fn=...)
at /usr/include/c++/13/bits/invoke.h:111
#8 0x0000000000708b4a in std::_Function_handler<void(std::shared_ptr<dhtnet::ChannelSocket>, const dht::Hash<32>&), jami::JamiAccount::doRegister_()::<lambda(bool)>::<lambda(const std::shared_ptr<dht::crypto::Certificate>&)>::<lambda(std::shared_ptr<dhtnet::ChannelSocket>, const jami::DeviceId&)> >::_M_invoke(const std::_Any_data &, std::shared_ptr<dhtnet::ChannelSocket> &&, const dht::Hash<32> &) (__functor=..., __args#0=..., __args#1=...)
at /usr/include/c++/13/bits/std_function.h:290
#9 0x000000000079b6c9 in std::function<void (std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&)>::operator()(std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&) const (this=0x7fffd0002c70,
__args#0=std::shared_ptr<dhtnet::ChannelSocket> (empty) = {...}, __args#1=...)
at /usr/include/c++/13/bits/std_function.h:591
#10 0x000000000079b5c9 in std::__invoke_impl<void, std::function<void (std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&)>&, std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&>(std::__invoke_other, std::function<void (std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&)>&, std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#11 0x000000000079b3d8 in std::__invoke_r<void, std::function<void (std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&)>&, std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&>(std::function<void (std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&)>&, std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#12 0x000000000079b252 in std::_Function_handler<void (std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&), std::function<void (std::shared_ptr<dhtnet::ChannelSocket>, dht::Hash<32ul> const&)> >::_M_invoke(std::_Any_data const&, std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&) (__functor=..., __args#0=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<dhtnet::ChannelSocket, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<dhtnet::ChannelSocket> (use count 6, weak count 1) = {...}, __args#1=...)
at /usr/include/c++/13/bits/std_function.h:290
#13 0x0000000000a786a8 in std::_Function_handler<void (bool), dhtnet::ConnectionManager::Impl::sendChannelRequest(std::weak_ptr<dhtnet::DeviceInfo> const&, std::weak_ptr<dhtnet::ConnectionInfo> const&, std::shared_ptr<dhtnet::MultiplexedSocket> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long const&)::{lambda(bool)#1}>::_M_invoke(std::_Any_data const&, bool&&) ()
#14 0x0000000000aa333f in dhtnet::ChannelSocket::ready(bool) ()
#15 0x0000000000aa4ad9 in dhtnet::MultiplexedSocket::Impl::onAccept(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) ()
#16 0x0000000000aa972d in dhtnet::MultiplexedSocket::Impl::handleControlPacket(std::vector<unsigned char, std::allocator<unsigned char> >&&) ()
--Type <RET> for more, q to quit, c to continue without paging--
#17 0x0000000000aaa81b in dhtnet::MultiplexedSocket::Impl::eventLoop() ()
#18 0x0000000000aad126 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::MultiplexedSocket::Impl::Impl(dhtnet::MultiplexedSocket&, std::shared_ptr<asio::io_context>, dht::Hash<32ul> const&, std::unique_ptr<dhtnet::TlsSocketEndpoint, std::default_delete<dhtnet::TlsSocketEndpoint> >, std::shared_ptr<dht::log::Logger>)::{lambda()#1}> > >::_M_run() ()
#19 0x00007ffff6ae31b3 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#20 0x00007ffff68ae947 in start_thread () from /lib64/libc.so.6
#21 0x00007ffff6934860 in clone3 () from /lib64/libc.so.6
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/933heap-use-after-free in onReady2024-01-08T16:34:26ZSébastien Blinheap-use-after-free in onReady```
�[0m #0 0x7f3ed3c2148f in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790
#1 0x5564c792b69f in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocat...```
�[0m #0 0x7f3ed3c2148f in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790
#1 0x5564c792b69f in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/include/c++/9/bits/basic_string.tcc:225
#2 0x5564c773aaeb in std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path const&) /usr/include/c++/9/bits/fs_path.h:175
#3 0x5564c773abc4 in std::filesystem::__cxx11::operator/(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&) /usr/include/c++/9/bits/fs_path.h:449
#4 0x5564c835f090 in jami::TransferChannelHandler::onReady(std::shared_ptr<dht::crypto::Certificate> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<dhtnet::ChannelSocket>) jamidht/transfer_channel_handler.cpp:162
#5 0x5564c80b208b in operator() jamidht/jamiaccount.cpp:2070
#6 0x5564c8144c9b in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#7 0x5564c8e0b25c in std::_Function_handler<void (dht::Hash<32ul> const&, std::shared_ptr<dhtnet::ChannelSocket> const&), dhtnet::ConnectionManager::Impl::addNewMultiplexedSocket(std::weak_ptr<dhtnet::DeviceInfo> const&, dht::Hash<32ul> const&, unsigned long const&, std::shared_ptr<dhtnet::ConnectionInfo> const&)::{lambda(dht::Hash<32ul> const&, std::shared_ptr<dhtnet::ChannelSocket> const&)#1}>::_M_invoke(std::_Any_data const&, dht::Hash<32ul> const&, std::shared_ptr<dhtnet::ChannelSocket> const&) (/foo/test/unitTest/ut_conversation+0x461925c)
#8 0x5564c8e47288 in dhtnet::MultiplexedSocket::Impl::onRequest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) (/foo/test/unitTest/ut_conversation+0x4655288)
#9 0x5564c8e47867 in std::_Function_handler<void (), dhtnet::MultiplexedSocket::Impl::handleControlPacket(std::vector<unsigned char, std::allocator<unsigned char> >&&)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (/foo/test/unitTest/ut_conversation+0x4655867)
#10 0x5564c8f6bfc6 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() (/foo/test/unitTest/ut_conversation+0x4779fc6)
#11 0x7f3ed2e0ddf3 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6df3)
#12 0x7f3ed3527608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608)
#13 0x7f3ed2afa352 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f352)
0x60400011f250 is located 0 bytes inside of 45-byte region [0x60400011f250,0x60400011f27d)
freed by thread T0 here:
#0 0x7f3ed3c9651f in operator delete(void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:165
#1 0x5564c773a91f in std::filesystem::__cxx11::path::~path() /usr/include/c++/9/bits/fs_path.h:218
#2 0x5564c8359d46 in jami::TransferChannelHandler::~TransferChannelHandler() jamidht/transfer_channel_handler.cpp:39
#3 0x5564c8359dc9 in jami::TransferChannelHandler::~TransferChannelHandler() jamidht/transfer_channel_handler.cpp:39
#4 0x5564c8221ed4 in std::default_delete<jami::ChannelHandlerInterface>::operator()(jami::ChannelHandlerInterface*) const (/foo/test/unitTest/ut_conversation+0x3a2fed4)
#5 0x5564c825bba0 in std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> >::~unique_ptr() (/foo/test/unitTest/ut_conversation+0x3a69ba0)
#6 0x5564c824e46b in std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >::~pair() /usr/include/c++/9/bits/stl_pair.h:208
#7 0x5564c824e4b3 in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::destroy<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >(std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >*) /usr/include/c++/9/ext/new_allocator.h:152
#8 0x5564c823e3fc in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > > >::destroy<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >(std::allocator<std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >&, std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >*) (/foo/test/unitTest/ut_conversation+0x3a4c3fc)
#9 0x5564c8224716 in std::_Rb_tree<jami::Uri::Scheme, std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >, std::_Select1st<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >, std::less<jami::Uri::Scheme>, std::allocator<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >*) (/foo/test/unitTest/ut_conversation+0x3a32716)
#10 0x5564c81f57e8 in std::_Rb_tree<jami::Uri::Scheme, std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >, std::_Select1st<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >, std::less<jami::Uri::Scheme>, std::allocator<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >*) (/foo/test/unitTest/ut_conversation+0x3a037e8)
#11 0x5564c81ca15b in std::_Rb_tree<jami::Uri::Scheme, std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >, std::_Select1st<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >, std::less<jami::Uri::Scheme>, std::allocator<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::_M_erase(std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >*) (/foo/test/unitTest/ut_conversation+0x39d815b)
#12 0x5564c81ca114 in std::_Rb_tree<jami::Uri::Scheme, std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >, std::_Select1st<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >, std::less<jami::Uri::Scheme>, std::allocator<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::_M_erase(std::_Rb_tree_node<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >*) (/foo/test/unitTest/ut_conversation+0x39d8114)
#13 0x5564c81cd8bd in std::_Rb_tree<jami::Uri::Scheme, std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > >, std::_Select1st<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > >, std::less<jami::Uri::Scheme>, std::allocator<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::clear() /usr/include/c++/9/bits/stl_tree.h:1271
#14 0x5564c81a5b91 in std::map<jami::Uri::Scheme, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> >, std::less<jami::Uri::Scheme>, std::allocator<std::pair<jami::Uri::Scheme const, std::unique_ptr<jami::ChannelHandlerInterface, std::default_delete<jami::ChannelHandlerInterface> > > > >::clear() /usr/include/c++/9/bits/stl_map.h:1133
#15 0x5564c8076b7c in jami::JamiAccount::shutdownConnections() jamidht/jamiaccount.cpp:303
#16 0x5564c79d1997 in jami::Manager::removeAccount(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) /foo/src/manager.cpp:2838
#17 0x5564c7971238 in wait_for_removal_of(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::chrono::duration<long, std::ratio<1l, 1l> >) /foo/test/unitTest/common.cpp:132
#18 0x5564c7756e9f in jami::test::ConversationTest::tearDown() conversation/conversation.cpp:505
#19 0x5564c796ca93 in CppUnit::TestCaller<jami::test::ConversationTest>::tearDown() /usr/include/cppunit/TestCaller.h:185
#20 0x7f3ed3b68614 in CppUnit::TestCaseMethodFunctor::operator()() const (/lib/x86_64-linux-gnu/libcppunit-1.15.so.1+0x24614)
#21 0x60b0000005bf (<unknown module>)
previously allocated by thread T2 here:
#0 0x7f3ed3c95587 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x7f3ed2e7a8af in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x1438af)
#2 0x5564c7742b6c in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy() /usr/include/c++/9/bits/shared_ptr_base.h:139
Thread T276 created by T133 here:
#0 0x7f3ed3bc0815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f3ed2e0e0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x6220007e78ff (<unknown module>)
Thread T133 created by T34 here:
#0 0x7f3ed3bc0815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f3ed2e0e0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x18b6f2262faf7bff (<unknown module>)
Thread T34 created by T2 here:
#0 0x7f3ed3bc0815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f3ed2e0e0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x5564c9b9b003 in _IO_stdin_used (/foo/test/unitTest/ut_conversation+0x53a9003)
Thread T2 created by T0 here:
#0 0x7f3ed3bc0815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
#1 0x7f3ed2e0e0c9 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd70c9)
#2 0x5564c7b7a95d in jami::ScheduledExecutor::ScheduledExecutor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /foo/src/scheduled_executor.cpp:36
#3 0x5564c7997626 in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /foo/src/manager.cpp:455
#4 0x5564c7a1cb6f in std::_MakeUniq<jami::Manager::ManagerPimpl>::__single_object std::make_unique<jami::Manager::ManagerPimpl, jami::Manager&>(jami::Manager&) (/foo/test/unitTest/ut_conversation+0x322ab6f)
#5 0x5564c799f539 in jami::Manager::Manager() /foo/src/manager.cpp:754
#6 0x5564c799f11d in jami::Manager::instance() /foo/src/manager.cpp:727
#7 0x5564c7b74cf0 in libjami::init(libjami::InitFlag) /foo/src/ring_api.cpp:69
#8 0x5564c77490d1 in jami::test::ConversationTest::setUp() conversation/conversation.cpp:223
#9 0x5564c796c9a7 in CppUnit::TestCaller<jami::test::ConversationTest>::setUp() /usr/include/cppunit/TestCaller.h:180
#10 0x7f3ed3b68614 in CppUnit::TestCaseMethodFunctor::operator()() const (/lib/x86_64-linux-gnu/libcppunit-1.15.so.1+0x24614)
#11 0x60b0000005bf (<unknown module>)
SUMMARY: AddressSanitizer: heap-use-after-free ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:790 in __interceptor_memcpy
Shadow bytes around the buggy address:
0x0c088001bdf0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x0c088001be00: fa fa fd fd fd fd fd fa fa fa 00 00 00 00 00 fa
0x0c088001be10: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
0x0c088001be20: fa fa 00 00 00 00 00 01 fa fa fd fd fd fd fd fa
0x0c088001be30: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
=>0x0c088001be40: fa fa 00 00 00 00 00 00 fa fa[fd]fd fd fd fd fd
0x0c088001be50: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
0x0c088001be60: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
0x0c088001be70: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fa
0x0c088001be80: fa fa 00 00 00 00 00 00 fa fa fa fa fa fa fa fa
0x0c088001be90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==20597==ABORTING
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/932doUnregister deadlock2024-01-03T20:23:48ZSébastien BlindoUnregister 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 0...```
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 configurationMutexhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/931Message cannot be sent2024-03-23T15:49:25Zsession 21Message cannot be sentI have two accounts, one logged in on my computer and the other on my phone. After logging in to my computer for more than a period of time, my phone starts the software, and then my computer cannot receive messages sent by my phone.
Mo...I have two accounts, one logged in on my computer and the other on my phone. After logging in to my computer for more than a period of time, my phone starts the software, and then my computer cannot receive messages sent by my phone.
Mobile version: 379 (376)
Equipment model: Samsung s20+5g
Android 12
Computer version: 202307111203
Win 10 (22H2)
I think I have reproduced this error. On September 16th, when I was in version 376, I encountered this error and it reappeared tonight. I give these two examples because I have the Jami logs on my phone during these two errors.
In the previous time, I encountered this error at least ten times, but it was all between computers, and the computer's records were not complete. I hoped to - d start, but this error will not reappear after restarting.
**The important thing is that this error may not occur until the computer's client is started for an hour (if that happens, the log will be large, so I did not attempt to record the log on the computer)**
**Actual result: My computer cannot receive any messages.**
**Expected results: Message transmission should be normal.**
**Public network dynamic ipv6 is working normally.**
Yesterday, I thought it might be an issue with the Android version being too low, so I didn't provide any feedback on this issue because I heard from a friend that Jami seemed to have fixed an error that could cause abnormal messages.
However, today I encountered this problem again.
And I have two days of logs, so I decided to upload it.
[log0.log](/uploads/2d1ef596bfeabf76eaaabb538c4a15a5/log0.log)
[log1.log](/uploads/240c35be47e58df87db612c0930256a2/log1.log)
In the two logs, there is a description of "message sent successfully", but in reality it is not.
In the second log paragraph, it was not until my account received a message from the computer that both parties' information reception and transmission resumed normal.
The reason for returning to normal is that I performed the "close account and then re enable account" operation on my computer.
During this period, the abnormal state of the message lasted for 20 minutes.
**I can't find how to upload the file, so if there is any sensitive information, could you please help me cover it up.**
**Thank you. I admire your hard work.**Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/930POC: new linking account mechanism2024-03-28T00:05:08ZSébastien BlinPOC: new linking account mechanism# Goal
Do not use the DHT to transfer the account archive while linking a new device, but rather use a p2p link between the new and old device
# TODO
+ Define architecture
+ POC (client)
+ add docs to docs.jami.net
+ Finalize daemon c...# Goal
Do not use the DHT to transfer the account archive while linking a new device, but rather use a p2p link between the new and old device
# TODO
+ Define architecture
+ POC (client)
+ add docs to docs.jami.net
+ Finalize daemon code
+ Ping design & clients to implement the featureKessler DuPont-TeevinAdrien BéraudKessler DuPont-Teevin2024-01-31https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/929Need some help with videoWriter in debug_utils.h2023-12-19T22:55:35ZJingwei ZhangNeed some help with videoWriter in debug_utils.hJust need a exampke of how to dump the decoded video in jami daemon. the generated docuements are not helping at all.
Thanks a lotJust need a exampke of how to dump the decoded video in jami daemon. the generated docuements are not helping at all.
Thanks a lothttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/928heap-use-after-free in turn_sock (TCP)2024-01-09T16:26:58ZSébastien Blinheap-use-after-free in turn_sock (TCP)### Describe the bug
No precise scenario, but ASAN crash detected randomly:
```
=================================================================
==15049==ERROR: AddressSanitizer: heap-use-after-free on address 0x0002b00b5648 at pc 0x0...### Describe the bug
No precise scenario, but ASAN crash detected randomly:
```
=================================================================
==15049==ERROR: AddressSanitizer: heap-use-after-free on address 0x0002b00b5648 at pc 0x0001056f5610 bp 0x00029dd327b0 sp 0x00029dd327a8
#0 0x1056f560c in stun_on_request_complete+0xc8c (Jami:arm64+0x102a8560c)
#1 0x1056ea7f4 in stun_tsx_on_complete+0x2a8 (Jami:arm64+0x102a7a7f4)
#2 0x1056f2498 in retransmit_timer_callback+0x12c (Jami:arm64+0x102a82498)
#3 0x105685fec in pj_timer_heap_poll+0x468 (Jami:arm64+0x102a15fec)
#4 0x104a4acbc in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x110 (Jami:arm64+0x101ddacbc)
#5 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#6 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#7 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
0x0002b00b5648 is located 200 bytes inside of 256-byte region [0x0002b00b5580,0x0002b00b5680)
freed by thread T1102 here:
#0 0x111b5ace0 in wrap_free+0x98 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x52ce0)
#1 0x1056738d4 in pj_pool_destroy_int+0xbc (Jami:arm64+0x102a038d4)
#2 0x105674788 in cpool_release_pool+0xec (Jami:arm64+0x102a04788)
#3 0x105704130 in dataconn_on_data_read+0x180 (Jami:arm64+0x102a94130)
#4 0x105663b48 in ioqueue_on_read_complete+0x39c (Jami:arm64+0x1029f3b48)
#5 0x1056537a4 in ioqueue_dispatch_read_event+0x700 (Jami:arm64+0x1029e37a4)
#6 0x1056587bc in pj_ioqueue_poll+0x900 (Jami:arm64+0x1029e87bc)
#7 0x104a4ad9c in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x1f0 (Jami:arm64+0x101ddad9c)
#8 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#9 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#10 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
previously allocated by thread T1102 here:
#0 0x111b5aba4 in wrap_malloc+0x94 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x52ba4)
#1 0x105660234 in default_block_alloc+0x50 (Jami:arm64+0x1029f0234)
#2 0x105672d68 in pj_pool_allocate_find+0x110 (Jami:arm64+0x102a02d68)
#3 0x105672f94 in pj_pool_calloc+0x7c (Jami:arm64+0x102a02f94)
#4 0x1056633a4 in pj_activesock_create+0x254 (Jami:arm64+0x1029f33a4)
#5 0x105700f6c in turn_on_connection_attempt+0x9d0 (Jami:arm64+0x102a90f6c)
#6 0x1056f59e8 in stun_on_rx_indication+0xe4 (Jami:arm64+0x102a859e8)
#7 0x1056e9914 in pj_stun_session_on_rx_pkt+0x69c (Jami:arm64+0x102a79914)
#8 0x1056fb5e4 in pj_turn_session_on_rx_pkt2+0x1ec (Jami:arm64+0x102a8b5e4)
#9 0x1056fb2f8 in pj_turn_session_on_rx_pkt+0x10c (Jami:arm64+0x102a8b2f8)
#10 0x105703930 in on_data_read_asock+0x468 (Jami:arm64+0x102a93930)
#11 0x105663a5c in ioqueue_on_read_complete+0x2b0 (Jami:arm64+0x1029f3a5c)
#12 0x1056537a4 in ioqueue_dispatch_read_event+0x700 (Jami:arm64+0x1029e37a4)
#13 0x1056587bc in pj_ioqueue_poll+0x900 (Jami:arm64+0x1029e87bc)
#14 0x104a4ad9c in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x1f0 (Jami:arm64+0x101ddad9c)
#15 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#16 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#17 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
```
What I see:
+ `turn_sock.c:dataconn_on_data_read` is called with status = 120054 & size = 0
+ This causes a dataconn_cleanup on the connection
+ `turn_session.c:stun_on_request_complete` is then called with method = PJ_STUN_CONNECTION_BIND_METHOD & status = 370004
I guess dataconn_cleanup is called again in turn_on_connection_bind_status but I'm not sure yet.
### Steps to reproduce
None detected yet
### PJSIP version
2.13
### Context
+ macOS, but I guess all platforms should get the same bug
+ Custom patched version, but turn_session/turn_sock should be the same.
### Log, call stack, etc
```shell
cf first part
```
https://github.com/pjsip/pjproject/issues/3776Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/927Android: Same contact multiple times (multi device related?)2023-12-16T18:01:12ZElysAndroid: Same contact multiple times (multi device related?)Desktop (Beta): 202312142117
Android (20231213-01)
Steps to reproduce:
- You are using the same Jami account ("Jamiaccount1") on different devices - and you always have your own Jami account in the contact list (so you can make calls /...Desktop (Beta): 202312142117
Android (20231213-01)
Steps to reproduce:
- You are using the same Jami account ("Jamiaccount1") on different devices - and you always have your own Jami account in the contact list (so you can make calls / send messages "Jamiaccount1" device 1 <-> "Jamiaccount1" device 2)
- - only the desktop device 1 also has another own account "Jamiaccount2": "Jamiaccount1" is in the contact list of "Jamiaccount2" (and the other direction); however "Jamiaccount2" account does NOT have it's own account in the contact list?
- BUT you always use the same two devices (desktop and android phone) for weeks
- Now you are using a different desktop device (3) that only uses "Jamiaccount2" (device 3)contact ("Jamiaccount1") is already in the contact list of "Jamiaccount2" (device 1,2) because you've added "Jamiaccount2" on another device
- Once you open Jami on desktop - Jami on Android will create another same contact of "Jamiaccount1" and if you tap the duplicated contact the chatview will stuck at "Downloading conversation from peer" (even if you restart Jami on Android)
Screenshot (of the Android device)
![Jamitwice1](/uploads/32a667c3f81374effdc83094bcd1c85c/Jamitwice1.png)
Detail:
![Jamitwice2](/uploads/456f273bf0080e14b7b569cdb820656e/Jamitwice2.png)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/926Crash in OpenSSL (JAMS deletion) - heap use after free2023-12-05T21:03:14ZSébastien BlinCrash in OpenSSL (JAMS deletion) - heap use after free```
#0 0x7f00b503a396 in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
#1 0x7f00a10e1361 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xe1361)
#2 0x7f00a10d234a (/lib/x86_...```
#0 0x7f00b503a396 in __interceptor_memcpy ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
#1 0x7f00a10e1361 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xe1361)
#2 0x7f00a10d234a (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd234a)
#3 0x7f00a10d5344 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd5344)
#4 0x7f00a10d5b3c in BIO_read_ex (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd5b3c)
#5 0x7f00a10d5344 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd5344)
#6 0x7f00a10d54c6 in BIO_read (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd54c6)
#7 0x7f00a10bc059 in asn1_d2i_read_bio (/lib/x86_64-linux-gnu/libcrypto.so.3+0xbc059)
#8 0x7f00a1268716 (/lib/x86_64-linux-gnu/libcrypto.so.3+0x268716)
#9 0x7f00a125aa62 (/lib/x86_64-linux-gnu/libcrypto.so.3+0x25aa62)
#10 0x7f00a11697ba (/lib/x86_64-linux-gnu/libcrypto.so.3+0x1697ba)
#11 0x7f00a1169a90 in OSSL_DECODER_from_bio (/lib/x86_64-linux-gnu/libcrypto.so.3+0x169a90)
#12 0x7f00a1169dbd in OSSL_DECODER_from_data (/lib/x86_64-linux-gnu/libcrypto.so.3+0x169dbd)
#13 0x7f00a123fae3 (/lib/x86_64-linux-gnu/libcrypto.so.3+0x23fae3)
#14 0x7f00a10ceb9a (/lib/x86_64-linux-gnu/libcrypto.so.3+0xceb9a)
#15 0x7f00a10d03e7 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd03e7)
#16 0x7f00a10ced18 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xced18)
#17 0x7f00a10d03e7 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xd03e7)
#18 0x7f00a10ced18 (/lib/x86_64-linux-gnu/libcrypto.so.3+0xced18)
#19 0x7f00a10cf492 in ASN1_item_d2i_ex (/lib/x86_64-linux-gnu/libcrypto.so.3+0xcf492)
#20 0x7f00a15e8132 (/lib/x86_64-linux-gnu/libssl.so.3+0x67132)
#21 0x7f00a15e4a04 (/lib/x86_64-linux-gnu/libssl.so.3+0x63a04)
#22 0x7f00a15e6607 (/lib/x86_64-linux-gnu/libssl.so.3+0x65607)
#23 0x7f00a5176230 in asio::ssl::detail::engine::perform(int (asio::ssl::detail::engine::*)(void*, unsigned long), void*, unsigned long, std::error_code&, unsigned long*) (/home/sblin/Projects/jami-project/client-qt/daemon/src/.libs/libjami.so.0+0x1d76230)
#24 0x7f00a5135430 in asio::ssl::detail::io_op<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::ssl::detail::handshake_op, dht::http::Connection::async_handshake(std::function<void (std::error_code const&)>)::{lambda(std::error_code const&)#1}>::operator()(std::error_code, unsigned long, int) (/home/sblin/Projects/jami-project/client-qt/daemon/src/.libs/libjami.so.0+0x1d35430)
#25 0x7f00a514062b in asio::detail::reactive_socket_recv_op<asio::mutable_buffers_1, asio::ssl::detail::io_op<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::ssl::detail::handshake_op, dht::http::Connection::async_handshake(std::function<void (std::error_code const&)>)::{lambda(std::error_code const&)#1}>, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) (/home/sblin/Projects/jami-project/client-qt/daemon/src/.libs/libjami.so.0+0x1d4062b)
#26 0x7f00a501e62b in asio::detail::epoll_reactor::descriptor_state::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) (/home/sblin/Projects/jami-project/client-qt/daemon/src/.libs/libjami.so.0+0x1c1e62b)
#27 0x7f00a3e7ebb8 in asio::detail::scheduler_operation::complete(void*, std::error_code const&, unsigned long) /home/sblin/Projects/jami-project/client-qt/daemon/contrib/x86_64-linux-gnu/include/asio/detail/scheduler_operation.hpp:39
#28 0x7f00a3e85aa6 in asio::detail::scheduler::do_run_one(asio::detail::conditionally_enabled_mutex::scoped_lock&, asio::detail::scheduler_thread_info&, std::error_code const&) /home/sblin/Projects/jami-project/client-qt/daemon/contrib/x86_64-linux-gnu/include/asio/detail/impl/scheduler.ipp:492
#29 0x7f00a3e84ed9 in asio::detail::scheduler::run(std::error_code&) /home/sblin/Projects/jami-project/client-qt/daemon/contrib/x86_64-linux-gnu/include/asio/detail/impl/scheduler.ipp:209
#30 0x7f00a3e86298 in asio::io_context::run() (/home/sblin/Projects/jami-project/client-qt/daemon/src/.libs/libjami.so.0+0xa86298)
#31 0x7f00a3e3aaef in operator() /home/sblin/Projects/jami-project/client-qt/daemon/src/manager.cpp:464
#32 0x7f00a3e73fb3 in __invoke_impl<void, jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > /usr/include/c++/11/bits/invoke.h:61
#33 0x7f00a3e73f76 in __invoke<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > /usr/include/c++/11/bits/invoke.h:96
#34 0x7f00a3e73f23 in _M_invoke<0> /usr/include/c++/11/bits/std_thread.h:259
#35 0x7f00a3e73ef7 in operator() /usr/include/c++/11/bits/std_thread.h:266
#36 0x7f00a3e73edb in _M_run /usr/include/c++/11/bits/std_thread.h:211
#37 0x7f00a30dc252 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xdc252)
#38 0x7f00a2c94ac2 in start_thread nptl/pthread_create.c:442
#39 0x7f00a2d26a3f (/lib/x86_64-linux-gnu/libc.so.6+0x126a3f)
0x62a0001c90e7 is located 3815 bytes inside of 21848-byte region [0x62a0001c8200,0x62a0001cd758)
freed by thread T0 here:
#0 0x7f00b50b4537 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127
#1 0x7f00a10f5174 in BUF_MEM_free (/lib/x86_64-linux-gnu/libcrypto.so.3+0xf5174)
previously allocated by thread T24 here:
#0 0x7f00b50b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x7f00a10f6ca5 in BUF_MEM_grow (/lib/x86_64-linux-gnu/libcrypto.so.3+0xf6ca5)
Thread T24 created by T0 here:
#0 0x7f00b5058685 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:216
#1 0x7f00a30dc328 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xdc328)
#2 0x7f00a3e3b424 in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/sblin/Projects/jami-project/client-qt/daemon/src/manager.cpp:461
#3 0x7f00a3e90a5e in std::_MakeUniq<jami::Manager::ManagerPimpl>::__single_object std::make_unique<jami::Manager::ManagerPimpl, jami::Manager&>(jami::Manager&) /usr/include/c++/11/bits/unique_ptr.h:962
#4 0x7f00a3e3fbfe in jami::Manager::Manager() /home/sblin/Projects/jami-project/client-qt/daemon/src/manager.cpp:755
#5 0x7f00a3e3f94b in jami::Manager::instance() /home/sblin/Projects/jami-project/client-qt/daemon/src/manager.cpp:728
#6 0x7f00a3f83bee in libjami::init(libjami::InitFlag) /home/sblin/Projects/jami-project/client-qt/daemon/src/ring_api.cpp:69
#7 0x5637e3d41766 in InstanceManagerInterface::InstanceManagerInterface(bool) /home/sblin/Projects/jami-project/client-qt/src/libclient/qtwrapper/instancemanager.cpp:54
#8 0x5637e4e588c7 (/home/sblin/Projects/jami-project/client-qt/build/jami+0x1d568c7)
SUMMARY: AddressSanitizer: heap-use-after-free ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827 in __interceptor_memcpy
Shadow bytes around the buggy address:
0x0c54800311c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c54800311d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c54800311e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c54800311f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c5480031200: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c5480031210: fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd
0x0c5480031220: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c5480031230: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c5480031240: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c5480031250: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c5480031260: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==596032==ABORTING
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/925crash when finishing a call2023-12-05T21:02:23ZKateryna Kostiukcrash when finishing a call```
Thread 4 Crashed:
0 Ring 0x00000001009cdef4 jami::MediaFilter::flush() + 32
1 Ring 0x00000001009d0c88 jami::MediaRecorder::flush() + 52
2 Ring 0x0000...```
Thread 4 Crashed:
0 Ring 0x00000001009cdef4 jami::MediaFilter::flush() + 32
1 Ring 0x00000001009d0c88 jami::MediaRecorder::flush() + 52
2 Ring 0x00000001009d0a28 jami::MediaRecorder::~MediaRecorder() + 28
3 Ring 0x00000001009d83f0 jami::Recordable::~Recordable() + 100
4 Ring 0x0000000100a0e51c jami::SIPCall::~SIPCall() + 852
5 Ring 0x00000001007de0b4 std::__1::__function::__func<void jami::runOnMainThread<jami::Call::Call(std::__1::shared_ptr<jami::Account> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<ch... + 100
6 Ring 0x0000000100802ef4 jami::ScheduledExecutor::loop() + 472
7 Ring 0x0000000100803164 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, jami::ScheduledExecutor::ScheduledExecutor(std:... + 64
8 libsystem_pthread.dylib 0x00000002113a64d4 _pthread_start + 136 (pthread.c:904)
9 libsystem_pthread.dylib 0x00000002113a5a10 thread_start + 8 (:-1)
```Kateryna KostiukKateryna Kostiuk