savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2024-02-09T20:44:19Zhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1595Delete an incoming message on Android tv should not be possible2024-02-09T20:44:19ZEmma FalkiewitzDelete an incoming message on Android tv should not be possible## Describe your environment
Please specify the following:
- Jami version: 404
- Device model: Android TV
## Steps to reproduce
- Steps:
![image](/uploads/5656069db39ae0a5a8a06827e2a57610/image.png)
- Expected result: Noth...## Describe your environment
Please specify the following:
- Jami version: 404
- Device model: Android TV
## Steps to reproduce
- Steps:
![image](/uploads/5656069db39ae0a5a8a06827e2a57610/image.png)
- Expected result: Nothing happens when a long press is performed on the message.Emma FalkiewitzEmma Falkiewitzhttps://git.jami.net/savoirfairelinux/dhtnet/-/issues/21Timeout during UPnPContext shutdown2024-02-08T20:16:00ZFrançois-Simon Fauteux-ChapleauTimeout during UPnPContext shutdownThe function `PUPnP::terminate(std::condition_variable&)`, which is called when UPnP shuts down, includes the following line:
```
cvOngoing_.wait(lk, [&]() { return ongoingOps_ == 0; });
```
This line frequently (though not always) takes...The function `PUPnP::terminate(std::condition_variable&)`, which is called when UPnP shuts down, includes the following line:
```
cvOngoing_.wait(lk, [&]() { return ongoingOps_ == 0; });
```
This line frequently (though not always) takes a very long time to complete due to a timeout in `PUPnP::downLoadIgdDescription`. More specifically, `PUPnP::downLoadIgdDescription` calls `UpnpDownloadXmlDoc`, which calls `UpnpDownloadUrlItem`, which calls `http_Download`, which calls `http_RequestAndResponse`. The `http_RequestAndResponse` function returns a `UPNP_E_SOCKET_CONNECT` error code after its attempt to establish a connection (via a call to `private_connect`) fails. This can cause a delay of over two minutes when closing Jami if multiple downloads fail (which does happen - I often got four failure while testing, e.g.:
```
PUPnP: Discovered a new IGD [uuid:C084EDD9-1DE4-9E6A-DEAD-34A8C7031F76 url: http://192.168.51.82:1780/InternetGatewayDevice.xml]
PUPnP: Discovered a new IGD [uuid:0F2A137C-6FF1-C2BE-A962-0150A7DA9FA9 url: http://192.168.51.82:1780/InternetGatewayDevice.xml]
PUPnP: Discovered a new IGD [uuid:64D4257E-8CFC-3924-97C1-9183CCBFEDB1 url: http://192.168.51.82:1780/InternetGatewayDevice.xml]
PUPnP: Discovered a new IGD [uuid:08780A31-017A-6198-F7A9-0B060FA1B336 url: http://192.168.51.82:1780/InternetGatewayDevice.xml]
[...]
Error downloading device XML document from http://192.168.51.82:1780/InternetGatewayDevice.xml -> UPNP_E_SOCKET_CONNECT
Error downloading device XML document from http://192.168.51.82:1780/InternetGatewayDevice.xml -> UPNP_E_SOCKET_CONNECT
Error downloading device XML document from http://192.168.51.82:1780/InternetGatewayDevice.xml -> UPNP_E_SOCKET_CONNECT
Error downloading device XML document from http://192.168.51.82:1780/InternetGatewayDevice.xml -> UPNP_E_SOCKET_CONNECT
```
)https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1558Muting local video leaves camera on2024-02-19T22:16:09ZAndreas TraczykMuting local video leaves camera on- OS: Ubuntu 22.04.3
- What build you are using: 24edba9a
## Steps to reproduce
- Steps:
1. start a video call
2. mute local video
- Actual result: camera should stop streaming AND peer(s) should not receive video
- Expected r...- OS: Ubuntu 22.04.3
- What build you are using: 24edba9a
## Steps to reproduce
- Steps:
1. start a video call
2. mute local video
- Actual result: camera should stop streaming AND peer(s) should not receive video
- Expected result: camera keeps streaming AND peer(s) do not receive videoAndreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1594Set a minimum width and height to images2024-02-08T16:41:05ZEmma FalkiewitzSet a minimum width and height to imagesPlease specify the following:
- Jami version: 403
## Steps to reproduce
- Steps:
1. Send a thin image
- Actual result:
![image](/uploads/88c9eecf2934a3b560e4b9034426f866/image.png)
- Expected result: have a minimum hei...Please specify the following:
- Jami version: 403
## Steps to reproduce
- Steps:
1. Send a thin image
- Actual result:
![image](/uploads/88c9eecf2934a3b560e4b9034426f866/image.png)
- Expected result: have a minimum height and width to display the time in a single linehttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1593Delete a message change to a modification2024-02-06T19:40:09ZEmma FalkiewitzDelete a message change to a modificationPlease specify the following:
- Jami version: 403
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
![Screen_recording_20240206_143727](/uploads/8b3573e806f5baf1413f5e8c6c2224af/Screen_recording_20240206_1437...Please specify the following:
- Jami version: 403
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
![Screen_recording_20240206_143727](/uploads/8b3573e806f5baf1413f5e8c6c2224af/Screen_recording_20240206_143727.mp4)https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1557Crash when deleting account [non-deterministic]2024-02-08T20:09:13ZAndreas TraczykCrash when deleting account [non-deterministic]- Steps to reproduce: delete an account that has at least one conversation
- Possibly related to https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1081- Steps to reproduce: delete an account that has at least one conversation
- Possibly related to https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1081https://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/345start daemon to for one account and one conversation2024-03-05T13:49:27ZKateryna Kostiukstart daemon to for one account and one conversationTo improve CPU and memory usage for notifications, we should have the option to start a daemon for just one account and one conversation.
There are two possible workflows:
- In the first workflow, for every notification, the manager is...To improve CPU and memory usage for notifications, we should have the option to start a daemon for just one account and one conversation.
There are two possible workflows:
- In the first workflow, for every notification, the manager is initialized and started, the account and conversation are loaded, and then the manager is stopped. Currently, the destruction of the manager is not supported.
- In the second workflow, the manager is initialized and started only once. Then, for every notification, the account is loaded (if not already loaded), the conversation is loaded, the account is set as active, and then set as not active once the notification has been processed.Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1556Jami triggers SELinux security alerts on default install of Alma Linux 92024-02-08T16:13:25ZFrançois-Simon Fauteux-ChapleauJami triggers SELinux security alerts on default install of Alma Linux 9- OS: Alma Linux 9.3 (new install)
- Jami version: 202401311741
When starting Jami from a terminal, the following message appears repeatedly in the logs:
```
mprotect failed in ExecutableAllocator::makeExecutable: Permission denied
```
...- OS: Alma Linux 9.3 (new install)
- Jami version: 202401311741
When starting Jami from a terminal, the following message appears repeatedly in the logs:
```
mprotect failed in ExecutableAllocator::makeExecutable: Permission denied
```
gdb backtrace:
```
Thread 1 "jami" hit Breakpoint 1, __GI_perror (s=0x7ffff5e986f0 "mprotect failed in ExecutableAllocator::makeExecutable") at perror.c:48
48 {
(gdb) bt
#0 __GI_perror (s=0x7ffff5e986f0 "mprotect failed in ExecutableAllocator::makeExecutable") at perror.c:48
#1 0x00007ffff5b02214 in JSC::Yarr::YarrGenerator(JSC::Yarr::YarrJITCompileMode)1::compile() () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#2 0x00007ffff5ae94d1 in JSC::Yarr::jitCompile(JSC::Yarr::YarrPattern&, JSC::Yarr::YarrCharSize, JSC::VM*, JSC::Yarr::YarrCodeBlock&, JSC::Yarr::YarrJITCompileMode) ()
from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#3 0x00007ffff5c3b386 in QV4::Heap::RegExp::init(QV4::ExecutionEngine*, QString const&, unsigned int) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#4 0x00007ffff5c3bc19 in QV4::RegExp::create(QV4::ExecutionEngine*, QString const&, unsigned int) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#5 0x00007ffff5bd36b1 in QV4::ExecutableCompilationUnit::linkToEngine(QV4::ExecutionEngine*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#6 0x00007ffff5d756c5 in QQmlObjectCreator::init(QQmlRefPointer) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#7 0x00007ffff5d75c0b in QQmlObjectCreator::QQmlObjectCreator(QQmlRefPointer, QQmlRefPointerQV4::ExecutableCompilationUnit const&, QQmlObjectCreatorSharedState*, bool) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#8 0x00007ffff5d7d5bc in QQmlObjectCreator::createInstance(int, QObject*, bool) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#9 0x00007ffff5d7f419 in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#10 0x00007ffff5d8120e in QQmlObjectCreator::setupBindings(QFlagsQQmlObjectCreator::BindingMode) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#11 0x00007ffff5d7aedc in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*, QV4::CompiledData::Binding const*) ()
from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#12 0x00007ffff5d7cb68 in QQmlObjectCreator::createInstance(int, QObject*, bool) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#13 0x00007ffff5d7e493 in QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*, int) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#14 0x00007ffff5ce6d41 in QQmlComponentPrivate::beginCreate(QQmlRefPointer) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#15 0x00007ffff5ce7309 in QQmlComponent::beginCreate(QQmlContext*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#16 0x00007ffff5ce81e9 in QQmlComponentPrivate::createWithProperties(QObject*, QMap<QString, QVariant> const&, QQmlContext*, QQmlComponentPrivate::CreateBehavior) ()
from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#17 0x00007ffff5ce84c9 in QQmlComponent::create(QQmlContext*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#18 0x00007ffff5cc6263 in QQmlApplicationEnginePrivate::finishLoad(QQmlComponent*) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#19 0x00007ffff5cc67bc in QQmlApplicationEngine::load(QUrl const&) () from /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#20 0x00000000004c1dea in MainApplication::initQmlLayer() ()
#21 0x00000000004c5e0f in MainApplication::init() ()
#22 0x0000000000477dca in main ()
```
Moreover, the user sees SELinux security alerts pop up ("AVC denial, click icon to view"). The details are as follows:
```
SELinux is preventing /usr/bin/jami from execmod access on the file /memfd:JITCode:QtQml (deleted).
***** Plugin catchall_boolean (89.3 confidence) suggests ******************
If you want to allow selinuxuser to execmod
Then you must tell SELinux about this by enabling the 'selinuxuser_execmod' boolean.
Do
setsebool -P selinuxuser_execmod 1
***** Plugin catchall (11.6 confidence) suggests **************************
If you believe that jami should be allowed execmod access on the memfd:JITCode:QtQml (deleted) file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'jami' --raw | audit2allow -M my-jami
# semodule -X 300 -i my-jami.pp
Additional Information:
Source Context unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
023
Target Context unconfined_u:object_r:user_tmp_t:s0
Target Objects /memfd:JITCode:QtQml (deleted) [ file ]
Source jami
Source Path /usr/bin/jami
Port <Unknown>
Host localhost.localdomain
Source RPM Packages jami-20240131.0-1.el9.x86_64
Target RPM Packages
SELinux Policy RPM selinux-policy-targeted-38.1.23-1.el9_3.1.noarch
Local Policy RPM selinux-policy-targeted-38.1.23-1.el9_3.1.noarch
Selinux Enabled True
Policy Type targeted
Enforcing Mode Enforcing
Host Name localhost.localdomain
Platform Linux localhost.localdomain
5.14.0-362.18.1.el9_3.x86_64 #1 SMP
PREEMPT_DYNAMIC Mon Jan 29 07:05:48 EST 2024
x86_64 x86_64
Alert Count 1132
First Seen 2024-01-31 15:13:33 EST
Last Seen 2024-01-31 15:27:06 EST
Local ID 215aa501-d883-4734-9f3b-d0468ee9cf60
Raw Audit Messages
type=AVC msg=audit(1706732826.100:1457): avc: denied { execmod } for pid=36261 comm="jami" path=2F6D656D66643A4A4954436F64653A5174516D6C202864656C6574656429 dev="tmpfs" ino=4210 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file permissive=0
type=SYSCALL msg=audit(1706732826.100:1457): arch=x86_64 syscall=mprotect success=no exit=EACCES a0=7fc5982f4000 a1=ac0 a2=5 a3=1 items=0 ppid=3768 pid=36261 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=3 comm=jami exe=/usr/bin/jami subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
Hash: jami,unconfined_t,user_tmp_t,file,execmod
```
Other Qt applications have had similar issues in the past, see for example: https://bugs.kde.org/show_bug.cgi?id=459490
As far as I can tell there's not much we can do about this (short of writing a patch for Qt), but at least it's possible for users to disable the alerts (e.g. by running `setsebool -P selinuxuser_execmod 1`, as mentioned in the SELinux logs above).https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1592Glitch in conversation on Android TV2024-01-31T21:40:46ZEmma FalkiewitzGlitch in conversation on Android TV## Describe your environment
Please specify the following:
- Jami version: 401
- Device model: Android TV
## Steps to reproduce
![Screen_recording_20240131_163939](/uploads/84f0bf56e2ea314b1c19f016d64edfe9/Screen_recording_202401...## Describe your environment
Please specify the following:
- Jami version: 401
- Device model: Android TV
## Steps to reproduce
![Screen_recording_20240131_163939](/uploads/84f0bf56e2ea314b1c19f016d64edfe9/Screen_recording_20240131_163939.mp4)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1591Date information on tv file overlap the file icon2024-02-12T16:04:07ZEmma FalkiewitzDate information on tv file overlap the file icon
## Describe your environment
Please specify the following:
- Jami version: 401
- Device model: Android TV
Current result:
![image](/uploads/4cc66bffab8193235fa22ae66d6776ae/image.png)
## Describe your environment
Please specify the following:
- Jami version: 401
- Device model: Android TV
Current result:
![image](/uploads/4cc66bffab8193235fa22ae66d6776ae/image.png)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1590Android TV: download file button is not selectable2024-01-31T21:33:48ZEmma FalkiewitzAndroid TV: download file button is not selectableWhat we have :
![image](/uploads/683fecec5335b1aacad213660990a57a/image.png)What we have :
![image](/uploads/683fecec5335b1aacad213660990a57a/image.png)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1589Crash when openning a file on Android TV2024-02-12T16:04:07ZEmma FalkiewitzCrash when openning a file on Android TV## Describe your environment
Please specify the following:
- Jami version: 401
- Device model: Android TV
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
![Screen_recording_20240131_162814](/uploads/9ad1e...## Describe your environment
Please specify the following:
- Jami version: 401
- Device model: Android TV
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
![Screen_recording_20240131_162814](/uploads/9ad1e6ec176f855054326ce0fb52506b/Screen_recording_20240131_162814.mp4)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1588All contacts disappeared after update 20240118-012024-03-05T13:50:13ZFairKingAll contacts disappeared after update 20240118-01Android 10
Jami v.20240118-01
Google version and F-Droid version
After updating the app all contacts disappeared. After trying to clear cache or uninstalling the app some of the contacts (not all) appeared back with empty chat history a...Android 10
Jami v.20240118-01
Google version and F-Droid version
After updating the app all contacts disappeared. After trying to clear cache or uninstalling the app some of the contacts (not all) appeared back with empty chat history and message "Downloading conversation from peer".
So currently the app is completely broken. Cannot use it.Adrien BéraudSébastien BlinAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1587Add biometric account authentication support2024-03-01T15:44:52ZAdrien BéraudAdd biometric account authentication supportAllow to use biometric authentication to unlock the account archive instead of entering the password.Allow to use biometric authentication to unlock the account archive instead of entering the password.Adrien BéraudAdrien Béraudhttps://git.jami.net/savoirfairelinux/dhtnet/-/issues/20deadlock in ConnectionManager2024-02-06T19:27:03ZSébastien Blindeadlock in ConnectionManagerSeems triggered by ut_conversationRequest on jami-buildmachine-04.mtl.sfl
```
^C--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "ut_conversation" received signal SIGINT, Interrupt.
__pthread_clockjoin_ex (thr...Seems triggered by ut_conversationRequest on jami-buildmachine-04.mtl.sfl
```
^C--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "ut_conversation" received signal SIGINT, Interrupt.
__pthread_clockjoin_ex (threadid=140305072371456, thread_return=0x0, clockid=<optimized out>,
abstime=<optimized out>, block=<optimized out>) at pthread_join_common.c:145
145 pthread_join_common.c: No such file or directory.
(gdb) bt
#0 __pthread_clockjoin_ex (threadid=140305072371456, thread_return=0x0, clockid=<optimized out>,
abstime=<optimized out>, block=<optimized out>) at pthread_join_common.c:145
#1 0x00007f9b6a5fa057 in std::thread::join() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x0000558dcd9d0e4c in dht::ThreadPool::join() ()
#3 0x0000558dccd172c9 in jami::Manager::finish (this=0x558dcf62e760 <jami::Manager::instance()::instance>)
at manager.cpp:916
#4 0x0000558dcce24aea in libjami::fini () at ring_api.cpp:105
#5 0x0000558dcccce445 in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x558dd1669150,
__in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#6 0x0000558dcccce60a in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x558dd1669150,
__in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#7 0x0000558dcccf6a0f in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (
this=0x558dd1666bd0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:170
#8 0x0000558dcccf6ac2 in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (
this=0x558dd1666bd0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:171
#9 0x00007f9b6b33d822 in CppUnit::TestSuite::deleteContents() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#10 0x00007f9b6b33d86b in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#11 0x00007f9b6b33d89d in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#12 0x00007f9b6b33d822 in CppUnit::TestSuite::deleteContents() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#13 0x00007f9b6b33d86b in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#14 0x00007f9b6b33d89d in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#15 0x00007f9b6b33d822 in CppUnit::TestSuite::deleteContents() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#16 0x00007f9b6b33d86b in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#17 0x00007f9b6b33d4bb in CppUnit::TestRunner::WrappingSuite::~WrappingSuite() ()
from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#18 0x0000558dcccb6325 in main () at conversation/conversationRequest.cpp:1089
(gdb) t a a bt
Thread 527 (Thread 0x7f9ad0ff9700 (LWP 104514)):
#0 __lll_lock_wait (futex=futex@entry=0x7f9af4132150, private=0) at lowlevellock.c:52
#1 0x00007f9b6ad160a3 in __GI___pthread_mutex_lock (mutex=0x7f9af4132150) at ../nptl/pthread_mutex_lock.c:80
#2 0x0000558dcd879f8c in __gthread_mutex_lock (__mutex=0x7f9af4132150) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#3 std::mutex::lock (this=0x7f9af4132150) at /usr/include/c++/9/bits/std_mutex.h:100
#4 std::lock_guard<std::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at /usr/include/c++/9/bits/std_mutex.h:159
#5 dhtnet::ConnectionManager::Impl::<lambda(bool)>::operator() (accepted=<optimized out>, __closure=0x7f9b0c040ad0) at /foo/contrib/native/dhtnet/src/connectionmanager.cpp:1068
#6 std::_Function_handler<void(bool), dhtnet::ConnectionManager::Impl::sendChannelRequest(const std::weak_ptr<dhtnet::DeviceInfo>&, const std::weak_ptr<dhtnet::ConnectionInfo>&, const std::shared_ptr<dhtnet::MultiplexedSocket>&, const string&, const Id&)::<lambda(bool)> >::_M_invoke(const std::_Any_data &, bool &&) (__functor=..., __args#0=<optimized out>) at /usr/include/c++/9/bits/std_function.h:300
#7 0x0000558dcd8aab5e in std::function<void (bool)>::operator()(bool) const (__args#0=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/std_function.h:683
#8 dhtnet::ChannelSocket::ready (accepted=true, this=<optimized out>) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:1099
#9 dhtnet::MultiplexedSocket::Impl::onAccept (this=0x7f9a880240a0, name=..., channel=<optimized out>) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:287
#10 0x0000558dcd8ae23f in dhtnet::MultiplexedSocket::Impl::handleControlPacket (this=<optimized out>, pkt=...) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:464
#11 0x0000558dcd8af3ab in dhtnet::MultiplexedSocket::Impl::eventLoop (this=0x7f9a880240a0) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:259
#12 0x0000558dcd8b35e8 in 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}::operator()() const (__closure=<optimized out>) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:72
#13 std::__invoke_impl<void, 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}>(std::__invoke_other, 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}&&) (__f=...) at /usr/include/c++/9/bits/invoke.h:60
#14 std::__invoke<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}>(std::__invoke_result&&, (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}&&)...) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95
#15 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_invoke<0ul>(std::_Index_tuple<0ul>) (this=<optimized out>) at /usr/include/c++/9/thread:244
#16 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}> >::operator()() (this=<optimized out>) at /usr/include/c++/9/thread:251
#17 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() (this=0x7f--Type <RET> for more, q to quit, c to continue without paging--
9a88008db0) at /usr/include/c++/9/thread:195
#18 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#19 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#20 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 522 (Thread 0x7f9b1cff9700 (LWP 104509)):
#0 0x00007f9b6a2a423f in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7f9b1cff85d0, rem=rem@entry=0x0) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:78
#1 0x00007f9b6a2a9ec7 in __GI___nanosleep (requested_time=requested_time@entry=0x7f9b1cff85d0, remaining=remaining@entry=0x0) at nanosleep.c:27
#2 0x00007f9b6a2dca7f in usleep (useconds=<optimized out>) at ../sysdeps/posix/usleep.c:32
#3 0x0000558dcd984109 in pj_thread_sleep ()
#4 0x0000558dcd983cb7 in pj_ioqueue_poll ()
#5 0x0000558dcd897eb0 in dhtnet::IceTransport::Impl::handleEvents (this=0x7f9af4274ee0, max_msec=<optimized out>) at /foo/contrib/native/dhtnet/src/ice_transport.cpp:610
#6 0x0000558dcd89805e in dhtnet::IceTransport::Impl::<lambda()>::operator() (__closure=0x7f9af4270938) at /foo/contrib/native/dhtnet/src/ice_transport.cpp:545
#7 std::__invoke_impl<void, dhtnet::IceTransport::Impl::initIceInstance(const dhtnet::IceTransportOptions&)::<lambda()> > (__f=...) at /usr/include/c++/9/bits/invoke.h:60
#8 std::__invoke<dhtnet::IceTransport::Impl::initIceInstance(const dhtnet::IceTransportOptions&)::<lambda()> > (__fn=...) at /usr/include/c++/9/bits/invoke.h:95
#9 std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(const dhtnet::IceTransportOptions&)::<lambda()> > >::_M_invoke<0> (this=0x7f9af4270938) at /usr/include/c++/9/thread:244
#10 std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(const dhtnet::IceTransportOptions&)::<lambda()> > >::operator() (this=0x7f9af4270938) at /usr/include/c++/9/thread:251
#11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::IceTransport::Impl::initIceInstance(const dhtnet::IceTransportOptions&)::<lambda()> > > >::_M_run(void) (this=0x7f9af4270930) at /usr/include/c++/9/thread:195
#12 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#13 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#14 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 232 (Thread 0x7f9b01ffb700 (LWP 104219)):
#0 0x00007f9b6a2e668e in epoll_wait (epfd=159, events=0x7f9b01ffa6d0, maxevents=16, timeout=10) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x0000558dcd98395c in pj_ioqueue_poll ()
#2 0x0000558dcd8e6abf in dhtnet::TurnTransport::Impl::ioJob (this=0x7f9a9c011700) at /foo/contrib/native/dhtnet/src/turn/turn_transport.cpp:144
#3 dhtnet::TurnTransport::Impl::start()::{lambda()#1}::operator()() const (__closure=<optimized out>) at /foo/contrib/native/dhtnet/src/turn/turn_transport.cpp:77
#4 std::__invoke_impl<void, dhtnet::TurnTransport::Impl::start()::{lambda()#1}>(std::__invoke_other, dhtnet::TurnTransport::Impl::start()::{lambda()#1}&&) (__f=...) at /usr/include/c++/9/bits/invoke.h:60
#5 std::__invoke<dhtnet::TurnTransport::Impl::start()::{lambda()#1}>(std::__invoke_result&&, (dhtnet::TurnTransport::Impl::start()::{lambda()#1}&&)...) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95
#6 std::thread::_Invoker<std::tuple<dhtnet::TurnTransport::Impl::start()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=<optimized out>) at /usr/include/c++/9/thread:244
#7 std::thread::_Invoker<std::tuple<dhtnet::TurnTransport::Impl::start()::{lambda()#1}> >::operator()() (this=<optimized out>) at /usr/include/c++/9/thread:251
#8 std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::TurnTransport::Impl::start()::{lambda()#1}> > >::_M_run() (this=<optimized out>) at /usr/include/c++/9/thread:195
#9 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
--Type <RET> for more, q to quit, c to continue without paging--
Thread 54 (Thread 0x7f9ad27fc700 (LWP 104041)):
#0 __lll_lock_wait (futex=futex@entry=0x7f9a88024258, private=0) at lowlevellock.c:52
#1 0x00007f9b6ad160a3 in __GI___pthread_mutex_lock (mutex=0x7f9a88024258) at ../nptl/pthread_mutex_lock.c:80
#2 0x0000558dcd8a8989 in __gthread_mutex_lock (__mutex=0x7f9a88024258) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#3 std::mutex::lock (this=0x7f9a88024258) at /usr/include/c++/9/bits/std_mutex.h:100
#4 std::lock_guard<std::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at /usr/include/c++/9/bits/std_mutex.h:159
#5 dhtnet::MultiplexedSocket::eraseChannel (this=0x7f9a880012d0, channel=32769) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:795
#6 0x0000558dcd8afba0 in dhtnet::MultiplexedSocket::Impl::makeSocket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short, bool)::{lambda()#1}::operator()() const::{lambda()#1}::operator()() const (__closure=<optimized out>) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:140
#7 std::_Function_handler<void (), dhtnet::MultiplexedSocket::Impl::makeSocket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short, bool)::{lambda()#1}::operator()() const::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/9/bits/std_function.h:300
#8 0x0000558dcd9d1f27 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#9 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 52 (Thread 0x7f9ad37fe700 (LWP 104039)):
#0 __lll_lock_wait (futex=futex@entry=0x7f9af4132150, private=0) at lowlevellock.c:52
#1 0x00007f9b6ad160a3 in __GI___pthread_mutex_lock (mutex=0x7f9af4132150) at ../nptl/pthread_mutex_lock.c:80
#2 0x0000558dcd87bfaa in __gthread_mutex_lock (__mutex=0x7f9af4132150) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#3 std::mutex::lock (this=0x7f9af4132150) at /usr/include/c++/9/bits/std_mutex.h:100
#4 std::lock_guard<std::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at /usr/include/c++/9/bits/std_mutex.h:159
#5 dhtnet::ConnectionManager::Impl::<lambda()>::<lambda()>::operator() (__closure=0x7f9af02375b0) at /foo/contrib/native/dhtnet/src/connectionmanager.cpp:1503
#6 std::_Function_handler<void(), dhtnet::ConnectionManager::Impl::addNewMultiplexedSocket(const std::weak_ptr<dhtnet::DeviceInfo>&, const DeviceId&, const Id&, const std::shared_ptr<dhtnet::ConnectionInfo>&)::<lambda()>::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/9/bits/std_function.h:300
#7 0x0000558dcd9d1f27 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#8 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#9 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 43 (Thread 0x7f9b51ffb700 (LWP 104030)):
#0 __lll_lock_wait (futex=futex@entry=0x7f9a88024258, private=0) at lowlevellock.c:52
#1 0x00007f9b6ad160a3 in __GI___pthread_mutex_lock (mutex=0x7f9a88024258) at ../nptl/pthread_mutex_lock.c:80
#2 0x0000558dcd8b2b4d in __gthread_mutex_lock (__mutex=0x7f9a88024258) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#3 std::mutex::lock (this=0x7f9a88024258) at /usr/include/c++/9/bits/std_mutex.h:100
#4 std::lock_guard<std::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at /usr/include/c++/9/bits/std_mutex.h:159
#5 dhtnet::MultiplexedSocket::Impl::clearSockets (this=0x7f9a880240a0) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:101
--Type <RET> for more, q to quit, c to continue without paging--
#6 dhtnet::MultiplexedSocket::Impl::shutdown (this=0x7f9a880240a0) at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:126
#7 0x0000558dcd8aaf6d in dhtnet::MultiplexedSocket::shutdown (this=<optimized out>) at /usr/include/c++/9/bits/unique_ptr.h:360
#8 0x0000558dcd8931d1 in dhtnet::ConnectionInfo::shutdown (this=0x7f9af4132150) at /foo/contrib/native/dhtnet/src/connectionmanager.cpp:113
#9 0x0000558dcd893f41 in dhtnet::ConnectionManager::Impl::shutdown (this=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:1020
#10 0x0000558dcd8821ca in dhtnet::ConnectionManager::~ConnectionManager (this=0x7f9b58003ab0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:1012
#11 0x0000558dcd17b098 in std::default_delete<dhtnet::ConnectionManager>::operator() (this=0x558dd17e5cd0, __ptr=0x7f9b58003ab0) at /usr/include/c++/9/bits/unique_ptr.h:81
#12 0x0000558dcd163034 in std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> >::~unique_ptr (this=0x558dd17e5cd0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/unique_ptr.h:292
#13 0x0000558dcd1e0c78 in __gnu_cxx::new_allocator<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> > >::destroy<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> > > (this=0x558dd17e5cd0, __p=0x558dd17e5cd0) at /usr/include/c++/9/ext/new_allocator.h:152
#14 0x0000558dcd1e006e in std::allocator_traits<std::allocator<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> > > >::destroy<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> > > (__a=..., __p=0x558dd17e5cd0) at /usr/include/c++/9/bits/alloc_traits.h:496
#15 0x0000558dcd1def0b in std::_Sp_counted_ptr_inplace<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> >, std::allocator<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> > >, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x558dd17e5cc0) at /usr/include/c++/9/bits/shared_ptr_base.h:557
#16 0x0000558dcccd9dd0 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x558dd17e5cc0) at /usr/include/c++/9/bits/shared_ptr_base.h:155
#17 0x0000558dcccd3639 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x558dd17b88e8, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:730
#18 0x0000558dcd15a7ee in std::__shared_ptr<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> >, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x558dd17b88e0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:1169
#19 0x0000558dcd15a832 in std::shared_ptr<std::unique_ptr<dhtnet::ConnectionManager, std::default_delete<dhtnet::ConnectionManager> > >::~shared_ptr (this=0x558dd17b88e0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/shared_ptr.h:103
#20 0x0000558dcd0b6da0 in jami::JamiAccount::<lambda()>::~<lambda>(void) (this=0x558dd17b88e0, __in_chrg=<optimized out>) at jamidht/jamiaccount.cpp:302
#21 0x0000558dcd12cb06 in std::_Function_base::_Base_manager<jami::JamiAccount::shutdownConnections()::<lambda()> >::_M_destroy(std::_Any_data &, std::false_type) (__victim=...) at /usr/include/c++/9/bits/std_function.h:191
#22 0x0000558dcd119421 in std::_Function_base::_Base_manager<jami::JamiAccount::shutdownConnections()::<lambda()> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) (__dest=..., __source=..., __op=std::__destroy_functor) at /usr/include/c++/9/bits/std_function.h:215
#23 0x0000558dcd9d1f40 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#24 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#25 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#26 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 27 (Thread 0x7f9b1effd700 (LWP 104014)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
--Type <RET> for more, q to quit, c to continue without paging--
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 26 (Thread 0x7f9b1f7fe700 (LWP 104013)):
#0 __lll_lock_wait (futex=futex@entry=0x7f9a88024258, private=0) at lowlevellock.c:52
#1 0x00007f9b6ad160a3 in __GI___pthread_mutex_lock (mutex=0x7f9a88024258) at ../nptl/pthread_mutex_lock.c:80
#2 0x0000558dcd8aa978 in __gthread_mutex_lock (__mutex=0x7f9a88024258) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#3 std::mutex::lock (this=0x7f9a88024258) at /usr/include/c++/9/bits/std_mutex.h:100
#4 std::lock_guard<std::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at /usr/include/c++/9/bits/std_mutex.h:159
#5 dhtnet::MultiplexedSocket::addChannel (this=0x7f9a880012d0, name="data-transfer://aaee512c061fec74d050a11716b00e497832954a/profile/12e4e93984df8ef6307e91ef3037bd9a519d323c.vcf") at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:571
#6 0x0000558dcd879574 in dhtnet::ConnectionManager::Impl::sendChannelRequest (this=0x7f9b5802ab60, dinfow=std::weak_ptr<struct dhtnet::DeviceInfo> (use count 3, weak count 13) = {...}, cinfow=std::weak_ptr<struct dhtnet::ConnectionInfo> (use count 5, weak count 9) = {...}, sock=std::shared_ptr<class dhtnet::MultiplexedSocket> (use count 4, weak count 6) = {...}, name="data-transfer://aaee512c061fec74d050a11716b00e497832954a/profile/12e4e93984df8ef6307e91ef3037bd9a519d323c.vcf", vid=@0x7f9b1f7fd668: 5719204365289556) at /usr/include/c++/9/bits/shared_ptr_base.h:1020
#7 0x0000558dcd87ea3e in dhtnet::ConnectionManager::Impl::<lambda()>::operator()(void) const (__closure=0x7f9ad4014ad0) at /usr/include/c++/9/bits/shared_ptr.h:548
#8 0x0000558dcd9d1f27 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#9 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 25 (Thread 0x7f9b1ffff700 (LWP 104012)):
#0 __lll_lock_wait (futex=futex@entry=0x7f9a88024258, private=0) at lowlevellock.c:52
#1 0x00007f9b6ad160a3 in __GI___pthread_mutex_lock (mutex=0x7f9a88024258) at ../nptl/pthread_mutex_lock.c:80
#2 0x0000558dcd8aa978 in __gthread_mutex_lock (__mutex=0x7f9a88024258) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#3 std::mutex::lock (this=0x7f9a88024258) at /usr/include/c++/9/bits/std_mutex.h:100
#4 std::lock_guard<std::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at /usr/include/c++/9/bits/std_mutex.h:159
#5 dhtnet::MultiplexedSocket::addChannel (this=0x7f9a880012d0, name="swarm://aaee512c061fec74d050a11716b00e497832954a") at /foo/contrib/native/dhtnet/src/multiplexed_socket.cpp:571
#6 0x0000558dcd879574 in dhtnet::ConnectionManager::Impl::sendChannelRequest (this=0x7f9b5802ab60, dinfow=std::weak_ptr<struct dhtnet::DeviceInfo> (use count 3, weak count 13) = {...}, cinfow=std::weak_ptr<struct dhtnet::ConnectionInfo> (use count 5, weak count 9) = {...}, sock=std::shared_ptr<class dhtnet::MultiplexedSocket> (use count 4, weak count 6) = {...}, name="swarm://aaee512c061fec74d050a11716b00e497832954a", vid=@0x7f9b1fffe668: 3634742401369333) at /usr/include/c++/9/bits/shared_ptr_base.h:1020
#7 0x0000558dcd87ea3e in dhtnet::ConnectionManager::Impl::<lambda()>::operator()(void) const (__closure=0x7f9af4263d30) at /usr/include/c++/9/bits/shared_ptr.h:548
#8 0x0000558dcd9d1f27 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function--Type <RET> for more, q to quit, c to continue without paging--
<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#9 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 24 (Thread 0x7f9b40ff9700 (LWP 104011)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29950 <dht::ThreadPool::computation()::pool+80>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 23 (Thread 0x7f9b417fa700 (LWP 104010)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 22 (Thread 0x7f9b41ffb700 (LWP 104009)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 21 (Thread 0x7f9b427fc700 (LWP 104008)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computatio--Type <RET> for more, q to quit, c to continue without paging--
n()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 19 (Thread 0x7f9b42ffd700 (LWP 104007)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 18 (Thread 0x7f9b43fff700 (LWP 104005)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 16 (Thread 0x7f9b50ff9700 (LWP 104004)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29950 <dht::ThreadPool::computation()::pool+80>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 14 (Thread 0x7f9b527fc700 (LWP 104001)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 10 (Thread 0x7f9b53fff700 (LWP 103998)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dcfb29954 <dht::ThreadPool::computation()::pool+84>) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>, cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dcfb29928 <dht::ThreadPool::computation()::pool+40>, mutex=0x558dcfb29900 <dht::ThreadPool::computation()::pool>) at pthread_cond_wait.c:647
#3 0x00007f9b6a5f3e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x0000558dcd9d213b in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#5 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 7 (Thread 0x7f9b627fc700 (LWP 103994)):
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x558dd169d538) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558dd169d4d8, cond=0x558dd169d510) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x558dd169d510, mutex=0x558dd169d4d8) at pthread_cond_wait.c:647
#3 0x0000558dccd5a129 in asio::detail::posix_event::wait<asio::detail::conditionally_enabled_mutex::scoped_lock> (this=0x558dd169d510, lock=...) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/posix_event.hpp:118
#4 0x0000558dccd4e05a in asio::detail::conditionally_enabled_event::wait (this=0x558dd169d508, lock=...) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/conditionally_enabled_event.hpp:96
#5 0x0000558dccd52590 in asio::detail::scheduler::do_run_one (this=0x558dd169d4a0, lock=..., this_thread=..., ec=Python Exception <class 'gdb.error'> Structure has no component named name.:
) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/impl/scheduler.ipp:501
#6 0x0000558dccd51d95 in asio::detail::scheduler::run (this=0x558dd169d4a0, ec=Python Exception <class 'gdb.error'> Structure has no component named name.:
) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/impl/scheduler.ipp:209
--Type <RET> for more, q to quit, c to continue without paging--
#7 0x0000558dcda1d279 in asio::detail::posix_thread::func<asio::detail::resolver_service_base::work_scheduler_runner>::run() ()
#8 0x0000558dccd4e407 in asio::detail::asio_detail_posix_thread_function (arg=0x558dd17a8a00) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/impl/posix_thread.ipp:73
#9 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 6 (Thread 0x7f9b62ffd700 (LWP 103993)):
#0 0x00007f9b6a2e668e in epoll_wait (epfd=7, events=0x7f9b62ffc580, maxevents=16, timeout=1000) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x0000558dcd98395c in pj_ioqueue_poll ()
#2 0x0000558dcd9328d8 in pjsip_endpt_handle_events2 ()
#3 0x0000558dcd5296ec in jami::SIPVoIPLink::handleEvents (this=0x558dd168ee40) at ./sip/sipvoiplink.cpp:813
#4 0x0000558dcd525f2a in jami::SIPVoIPLink::<lambda()>::operator()(void) const (__closure=0x558dd16393a8) at ./sip/sipvoiplink.cpp:739
#5 0x0000558dcd53720e in std::__invoke_impl<void, jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> >(std::__invoke_other, jami::SIPVoIPLink::<lambda()> &&) (__f=...) at /usr/include/c++/9/bits/invoke.h:60
#6 0x0000558dcd537156 in std::__invoke<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> >(jami::SIPVoIPLink::<lambda()> &&) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95
#7 0x0000558dcd537084 in std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x558dd16393a8) at /usr/include/c++/9/thread:244
#8 0x0000558dcd537012 in std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > >::operator()(void) (this=0x558dd16393a8) at /usr/include/c++/9/thread:251
#9 0x0000558dcd536fd2 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > > >::_M_run(void) (this=0x558dd16393a0) at /usr/include/c++/9/thread:195
#10 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#12 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 5 (Thread 0x7f9b637fe700 (LWP 103992)):
#0 0x00007f9b6a2e668e in epoll_wait (epfd=12, events=0x7f9b637fd030, maxevents=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x0000558dccd500ca in asio::detail::epoll_reactor::run (this=0x558dd17a8110, usec=-1, ops=...) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/impl/epoll_reactor.ipp:509
#2 0x0000558dccd523d9 in asio::detail::scheduler::do_run_one (this=0x558dd1674340, lock=..., this_thread=..., ec=Python Exception <class 'gdb.error'> Structure has no component named name.:
) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/impl/scheduler.ipp:476
#3 0x0000558dccd51d95 in asio::detail::scheduler::run (this=0x558dd1674340, ec=Python Exception <class 'gdb.error'> Structure has no component named name.:
) at /foo/contrib/x86_64-linux-gnu/include/asio/detail/impl/scheduler.ipp:209
#4 0x0000558dccd52c12 in asio::io_context::run (this=0x558dd1671290) at /foo/contrib/x86_64-linux-gnu/include/asio/impl/io_context.ipp:63
#5 0x0000558dccd0f785 in jami::Manager::ManagerPimpl::<lambda()>::operator()(void) const (__closure=0x558dd1646018) at manager.cpp:463
#6 0x0000558dccd446b6 in std::__invoke_impl<void, jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> >(std::__invoke_other, jami::Manager::ManagerPimpl::<lambda()> &&) (__f=...) at /usr/include/c++/9/bits/invoke.h:60
#7 0x0000558dccd445fe in std::__invoke<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> >(jami::Manager::ManagerPimpl::<lambda()> &&) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95
#8 0x0000558dccd4452c in std::thread::_Invoker<std::tuple<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x558dd1646018) at /usr/include/c++/9/thread:244
#9 0x0000558dccd444ba in std::thread::_Invoker<std::tuple<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::--Type <RET> for more, q to quit, c to continue without paging--
<lambda()> > >::operator()(void) (this=0x558dd1646018) at /usr/include/c++/9/thread:251
#10 0x0000558dccd4447a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&)::<lambda()> > > >::_M_run(void) (this=0x558dd1646010) at /usr/include/c++/9/thread:195
#11 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#13 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 4 (Thread 0x7f9b63fff700 (LWP 103991)):
#0 0x00007f9b6a2dc1eb in __GI___select (nfds=7, readfds=0x7f9b63ffe790, writefds=0x0, exceptfds=0x0, timeout=0x7f9b63ffe6d0) at ../sysdeps/unix/sysv/linux/select.c:41
#1 0x0000558dcd396a77 in jami::video::VideoDeviceMonitorImpl::run (this=0x558dd1676780) at media/video/v4l2/video_device_monitor_impl.cpp:221
#2 0x0000558dcd39bb56 in std::__invoke_impl<void, void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> (__f=@0x558dd1671e50: (void (jami::video::VideoDeviceMonitorImpl::*)(class jami::video::VideoDeviceMonitorImpl * const)) 0x558dcd3968dc <jami::video::VideoDeviceMonitorImpl::run()>, __t=@0x558dd1671e48: 0x558dd1676780) at /usr/include/c++/9/bits/invoke.h:73
#3 0x0000558dcd39b9ce in std::__invoke<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> (__fn=@0x558dd1671e50: (void (jami::video::VideoDeviceMonitorImpl::*)(class jami::video::VideoDeviceMonitorImpl * const)) 0x558dcd3968dc <jami::video::VideoDeviceMonitorImpl::run()>) at /usr/include/c++/9/bits/invoke.h:95
#4 0x0000558dcd39b865 in std::thread::_Invoker<std::tuple<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> >::_M_invoke<0ul, 1ul> (this=0x558dd1671e48) at /usr/include/c++/9/thread:244
#5 0x0000558dcd39b7b0 in std::thread::_Invoker<std::tuple<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> >::operator() (this=0x558dd1671e48) at /usr/include/c++/9/thread:251
#6 0x0000558dcd39b76c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (jami::video::VideoDeviceMonitorImpl::*)(), jami::video::VideoDeviceMonitorImpl*> > >::_M_run (this=0x558dd1671e40) at /usr/include/c++/9/thread:195
#7 0x00007f9b6a5f9df4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007f9b6ad13609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9 0x00007f9b6a2e6353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7f9b69657d00 (LWP 103985)):
#0 __pthread_clockjoin_ex (threadid=140305072371456, thread_return=0x0, clockid=<optimized out>, abstime=<optimized out>, block=<optimized out>) at pthread_join_common.c:145
#1 0x00007f9b6a5fa057 in std::thread::join() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x0000558dcd9d0e4c in dht::ThreadPool::join() ()
#3 0x0000558dccd172c9 in jami::Manager::finish (this=0x558dcf62e760 <jami::Manager::instance()::instance>) at manager.cpp:916
#4 0x0000558dcce24aea in libjami::fini () at ring_api.cpp:105
#5 0x0000558dcccce445 in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x558dd1669150, __in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#6 0x0000558dcccce60a in jami::test::ConversationRequestTest::~ConversationRequestTest (this=0x558dd1669150, __in_chrg=<optimized out>) at conversation/conversationRequest.cpp:68
#7 0x0000558dcccf6a0f in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (this=0x558dd1666bd0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:170
#8 0x0000558dcccf6ac2 in CppUnit::TestCaller<jami::test::ConversationRequestTest>::~TestCaller (this=0x558dd1666bd0, __in_chrg=<optimized out>) at /usr/include/cppunit/TestCaller.h:171
#9 0x00007f9b6b33d822 in CppUnit::TestSuite::deleteContents() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#10 0x00007f9b6b33d86b in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#11 0x00007f9b6b33d89d in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#12 0x00007f9b6b33d822 in CppUnit::TestSuite::deleteContents() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#13 0x00007f9b6b33d86b in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#14 0x00007f9b6b33d89d in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x00007f9b6b33d822 in CppUnit::TestSuite::deleteContents() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#16 0x00007f9b6b33d86b in CppUnit::TestSuite::~TestSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#17 0x00007f9b6b33d4bb in CppUnit::TestRunner::WrappingSuite::~WrappingSuite() () from /lib/x86_64-linux-gnu/libcppunit-1.15.so.1
#18 0x0000558dcccb6325 in main () at conversation/conversationRequest.cpp:1089
(gdb)
(gdb)
(gdb)
```
Thread 527:
dhtnet::MultiplexedSocket::Impl::onAccept -> lock socketsMutex
ConnectionManager::Impl::sendChannelRequest onReady: -> lock cinfo->mutex_
Thread 43
dhtnet::ConnectionInfo::shutdown -> lock cinfo->mutex_
MultiplexedSocket::shutdown
MultiplexedSocket::clearSockets -> lock socketsMutexhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1586Weird space between contact name and deleted message2024-02-05T21:37:45ZEmma FalkiewitzWeird space between contact name and deleted message- Jami version 400
The issue occurs when deleting a reply message.
Current result:
![Screenshot_20240130-124324_2](/uploads/8dd99d5035707e2f49c19d9ed04010e7/Screenshot_20240130-124324_2.png)- Jami version 400
The issue occurs when deleting a reply message.
Current result:
![Screenshot_20240130-124324_2](/uploads/8dd99d5035707e2f49c19d9ed04010e7/Screenshot_20240130-124324_2.png)https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1585Weird left margin on outgoing messages2024-01-30T20:44:10ZPierre NicolasWeird left margin on outgoing messagesBug report form
---------------
## Describe your environment
Please specify the following:
- Jami version: 401
## Steps to reproduce
- Can you reproduce the bug: at will
## Additional information
![image](/uploads/5bd05e133d0e...Bug report form
---------------
## Describe your environment
Please specify the following:
- Jami version: 401
## Steps to reproduce
- Can you reproduce the bug: at will
## Additional information
![image](/uploads/5bd05e133d0eb5c1dff178b563de58ca/image.png)
![image](/uploads/bfb4064c96657215e79f0b51e0651c4d/image.png)Pierre NicolasPierre Nicolashttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1584Message bubble is too wide2024-01-30T21:11:30ZPierre NicolasMessage bubble is too wide## Bug report form
## Describe your environment
Please specify the following:
- Jami version: 401
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps: I don't know exactly but it happens when the message has a certain...## Bug report form
## Describe your environment
Please specify the following:
- Jami version: 401
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps: I don't know exactly but it happens when the message has a certain lenght. Doesn't happens in single line message.
## Additional information
![image](/uploads/d48f2431dd73d5aed9a03ee3a44f0af5/image.png)
Can be seen on the LayoutInspector (it looks like the custom message bubble is well calculated)
![image](/uploads/b5597af7355d959687e63858e0a785de/image.png)
Can be seen on AndroidStudio DesignMode (prove it's not related to recycling)
![image](/uploads/123eee54106f9960b97d4fcf76d248ba/image.png)Pierre NicolasPierre Nicolashttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1555Add the ability to hide the local video preview in a call2024-02-21T20:42:02ZAndreas TraczykAdd the ability to hide the local video preview in a callThe local video preview widget should be able to be laterally "tucked" under the edge of the call view.The local video preview widget should be able to be laterally "tucked" under the edge of the call view.Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1554excess margin when conversation tabs aren't present2024-02-21T20:59:29ZAndreas Traczykexcess margin when conversation tabs aren't present![image](/uploads/ac4a177e9bd09055c9ce012f92151a47/image.png)![image](/uploads/ac4a177e9bd09055c9ce012f92151a47/image.png)Andreas TraczykAndreas Traczyk