jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2023-01-30T14:54:04Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/766non-registered Account.username gets regenerated each time the account is dis...2023-01-30T14:54:04ZMaxim Cournoyernon-registered Account.username gets regenerated each time the account is disabled/re-enabledHi,
I've stumbled on this strange behavior playing with the Guix System Jami service, which interacts with `jamid` via its D-Bus interface:
```
# herd list-accounts jami
The following Jami accounts are available:
- cbdf1e811005a9da53...Hi,
I've stumbled on this strange behavior playing with the Guix System Jami service, which interacts with `jamid` via its D-Bus interface:
```
# herd list-accounts jami
The following Jami accounts are available:
- cbdf1e811005a9da53d73d0eaaa6a1c5f9b23321 ()
# herd disable-account jami cbdf1e811005a9da53d73d0eaaa6a1c5f9b23321
# herd list-accounts jami
The following Jami accounts are available:
- cbdf1e811005a9da53d73d0eaaa6a1c5f9b23321 () [disabled]
herd enable-account jami cbdf1e811005a9da53d73d0eaaa6a1c5f9b23321
# let some time pass
# herd list-accounts jami
The following Jami accounts are available:
- f3cb93f1aac048e8284d271ae5a2950dc60318af ()
```
We can see that the above account username changed (the ID corresponds to the `Account.username` entry). I can't think of a reason why this should be; it is unintuitive and complicate things. In my opinion, the Account.username should not change.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/765ios-specific ffmpeg patch applied erroneously on gnu/linux?2023-05-19T13:19:39ZMaxim Cournoyerios-specific ffmpeg patch applied erroneously on gnu/linux?Hi,
https://git.jami.net/savoirfairelinux/jami-daemon/-/blob/master/contrib/src/ffmpeg/rules.mak#L368 applies what looks like an ios-specific patch (at least by its name) on any platform -- should there be a conditional, or is it good ...Hi,
https://git.jami.net/savoirfairelinux/jami-daemon/-/blob/master/contrib/src/ffmpeg/rules.mak#L368 applies what looks like an ios-specific patch (at least by its name) on any platform -- should there be a conditional, or is it good on all platforms? If the later, I'd strip 'ios' from the file name, to avoid confusion.
Thanks!https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/764Sporadic crash in ConnectionManager2022-10-01T10:12:41ZSébastien BlinSporadic crash in ConnectionManager```
[New Thread 0x7fffa67fc640 (LWP 2962014)]
Thread 74 "ut_conversation" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff527fc640 (LWP 2960732)]
0x0000000000ad98cb in pj_grp_lock_acquire ()
(gdb) bt
#0 0x000000...```
[New Thread 0x7fffa67fc640 (LWP 2962014)]
Thread 74 "ut_conversation" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff527fc640 (LWP 2960732)]
0x0000000000ad98cb in pj_grp_lock_acquire ()
(gdb) bt
#0 0x0000000000ad98cb in pj_grp_lock_acquire ()
#1 0x000000000059edfd in jami::IceLock::lock (this=0x7fff527f8c58) at ice_transport.cpp:92
#2 0x000000000059edc3 in jami::IceLock::IceLock (this=0x7fff527f8c58, strans=0x0) at ice_transport.cpp:87
#3 0x00000000005975ff in jami::IceTransport::isStarted (this=0x7fff4c16c180) at ice_transport.cpp:1173
#4 0x0000000000598370 in jami::IceTransport::stop (this=0x7fff4c16c180) at ice_transport.cpp:1354
#5 0x0000000000a0f0c2 in jami::ConnectionManager::Impl::removeUnusedConnections (this=0x7fffd81108d0, deviceId=...) at jamidht/connectionmanager.cpp:83
#6 0x0000000000a0f442 in jami::ConnectionManager::Impl::shutdown (this=0x7fffd81108d0) at jamidht/connectionmanager.cpp:109
#7 0x00000000009ff484 in jami::ConnectionManager::~ConnectionManager (this=0x7fffd80c90e0, __in_chrg=<optimized out>) at jamidht/connectionmanager.cpp:1038
#8 0x00000000007c9060 in std::default_delete<jami::ConnectionManager>::operator() (this=0x1d2fcd0, __ptr=0x7fffd80c90e0) at /usr/include/c++/12/bits/unique_ptr.h:95
#9 0x00000000007bce44 in std::unique_ptr<jami::ConnectionManager, std::default_delete<jami::ConnectionManager> >::~unique_ptr (this=0x1d2fcd0, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/unique_ptr.h:396
#10 0x00000000007fd1be in std::_Destroy<std::unique_ptr<jami::ConnectionManager, std::default_delete<jami::ConnectionManager> > > (__pointer=0x1d2fcd0) at /usr/include/c++/12/bits/stl_construct.h:151
#11 0x00000000007fceac in std::allocator_traits<std::allocator<void> >::destroy<std::unique_ptr<jami::ConnectionManager, std::default_delete<jami::ConnectionManager> > > (__p=0x1d2fcd0) at /usr/include/c++/12/bits/alloc_traits.h:648
#12 0x00000000007fc641 in std::_Sp_counted_ptr_inplace<std::unique_ptr<jami::ConnectionManager, std::default_delete<jami::ConnectionManager> >, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x1d2fcc0)
at /usr/include/c++/12/bits/shared_ptr_base.h:613
#13 0x0000000000484521 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x1d2fcc0) at /usr/include/c++/12/bits/shared_ptr_base.h:346
#14 0x000000000048544b in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x1d2ac48, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr_base.h:1071
#15 0x00000000007b8cfe in std::__shared_ptr<std::unique_ptr<jami::ConnectionManager, std::default_delete<jami::ConnectionManager> >, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x1d2ac40, __in_chrg=<optimized out>)
at /usr/include/c++/12/bits/shared_ptr_base.h:1524
#16 0x00000000007b8d1a in std::shared_ptr<std::unique_ptr<jami::ConnectionManager, std::default_delete<jami::ConnectionManager> > >::~shared_ptr (this=0x1d2ac40, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr.h:175
#17 0x0000000000771096 in ~<lambda>(void) (this=0x1d2ac40, __in_chrg=<optimized out>) at jamidht/jamiaccount.cpp:359
#18 0x00000000007a8185 in std::_Function_base::_Base_manager<jami::JamiAccount::shutdownConnections()::<lambda()> >::_M_destroy(std::_Any_data &, std::false_type) (__victim=...) at /usr/include/c++/12/bits/std_function.h:175
#19 0x000000000079e5a3 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++/12/bits/std_function.h:203
#20 0x0000000000798712 in std::_Function_handler<void(), 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++/12/bits/std_function.h:282
#21 0x0000000000b17766 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() ()
#22 0x00007ffff6adbb03 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#23 0x00007ffff668ce2d in start_thread () from /lib64/libc.so.6
#24 0x00007ffff67121b0 in clone3 () from /lib64/libc.so.6
(gdb)
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/763Crash in peer_connection2022-12-29T16:39:16ZSébastien BlinCrash in peer_connection# Scenario
none
# Backtrace
```
2022-09-07 12:22:02.789 15614-27109 libc pid-15614 A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1 in tid 27109 (Thread-18027), pid 15614 (cx.ring)
2022-09-07 ...# Scenario
none
# Backtrace
```
2022-09-07 12:22:02.789 15614-27109 libc pid-15614 A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1 in tid 27109 (Thread-18027), pid 15614 (cx.ring)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A Cmdline: cx.ring
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A pid: 15614, tid: 27109, name: Thread-18027 >>> cx.ring <<<
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #00 pc 0000000000d22e0c /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (jami::IceTransport::cancelOperations()+24)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #01 pc 0000000001315500 /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (jami::TlsSocketEndpoint::shutdown()+248)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #02 pc 0000000001362f04 /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (jami::MultiplexedSocket::Impl::shutdown()+224)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #03 pc 0000000001355d6c /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (jami::MultiplexedSocket::Impl::eventLoop()+424)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #04 pc 000000000136f354 /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()::operator()() const+32)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #05 pc 000000000136f2e8 /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (decltype(std::__ndk1::forward<jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(fp)()) std::__ndk1::__invoke<jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()&&)+24)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #06 pc 000000000136f288 /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (void std::__ndk1::__thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>&, std::__ndk1::__tuple_indices<>)+32)
2022-09-07 12:22:05.876 28069-28069 DEBUG pid-28069 A #07 pc 000000000136efe4 /data/app/~~9yX6U37i7cjLkuy_wJtYDA==/cx.ring-wsPGQcNLaDnoFvMbixm3GQ==/base.apk (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()> >(void*)+108)
2022-09-07 14:03:44.847 24432-25046 libc pid-24432 A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1 in tid 25046 (Thread-1785), pid 24432 (cx.ring)
2022-09-07 14:03:46.509 3653-3653 DEBUG pid-3653 A Cmdline: cx.ring
2022-09-07 14:03:46.509 3653-3653 DEBUG pid-3653 A pid: 24432, tid: 25046, name: Thread-1785 >>> cx.ring <<<
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #00 pc 0000000000d22e0c /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::IceTransport::cancelOperations()+24)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #01 pc 0000000001315500 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::TlsSocketEndpoint::shutdown()+248)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #02 pc 0000000001362f04 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::MultiplexedSocket::Impl::shutdown()+224)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #03 pc 0000000001355d6c /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::MultiplexedSocket::Impl::eventLoop()+424)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #04 pc 000000000136f354 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()::operator()() const+32)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #05 pc 000000000136f2e8 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (decltype(std::__ndk1::forward<jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(fp)()) std::__ndk1::__invoke<jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()&&)+24)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #06 pc 000000000136f288 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (void std::__ndk1::__thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>&, std::__ndk1::__tuple_indices<>)+32)
2022-09-07 14:03:46.510 3653-3653 DEBUG pid-3653 A #07 pc 000000000136efe4 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()> >(void*)+108)
2022-09-07 15:32:11.382 15670-16051 libc pid-15670 A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1 in tid 16051 (Thread-1842), pid 15670 (cx.ring)
2022-09-07 15:32:13.956 16804-16804 DEBUG pid-16804 A Cmdline: cx.ring
2022-09-07 15:32:13.956 16804-16804 DEBUG pid-16804 A pid: 15670, tid: 16051, name: Thread-1842 >>> cx.ring <<<
2022-09-07 15:32:13.956 16804-16804 DEBUG pid-16804 A #00 pc 0000000000d22e0c /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::IceTransport::cancelOperations()+24)
2022-09-07 15:32:13.956 16804-16804 DEBUG pid-16804 A #01 pc 0000000001315500 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::TlsSocketEndpoint::shutdown()+248)
2022-09-07 15:32:13.956 16804-16804 DEBUG pid-16804 A #02 pc 0000000001362f04 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::MultiplexedSocket::Impl::shutdown()+224)
2022-09-07 15:32:13.957 16804-16804 DEBUG pid-16804 A #03 pc 0000000001355d6c /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::MultiplexedSocket::Impl::eventLoop()+424)
2022-09-07 15:32:13.957 16804-16804 DEBUG pid-16804 A #04 pc 000000000136f354 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()::operator()() const+32)
2022-09-07 15:32:13.957 16804-16804 DEBUG pid-16804 A #05 pc 000000000136f2e8 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (decltype(std::__ndk1::forward<jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(fp)()) std::__ndk1::__invoke<jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()&&)+24)
2022-09-07 15:32:13.957 16804-16804 DEBUG pid-16804 A #06 pc 000000000136f288 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (void std::__ndk1::__thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()>&, std::__ndk1::__tuple_indices<>)+32)
2022-09-07 15:32:13.957 16804-16804 DEBUG pid-16804 A #07 pc 000000000136efe4 /data/app/~~Qzk32LlX3MAo9qvSgI4-MA==/cx.ring-SQuHwUPNcoDHjI4QX82a5A==/base.apk (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::MultiplexedSocket::Impl::Impl(jami::MultiplexedSocket&, dht::Hash<32ul> const&, std::__ndk1::unique_ptr<jami::TlsSocketEndpoint, std::__ndk1::default_delete<jami::TlsSocketEndpoint> >)::'lambda'()> >(void*)+108)
--------- beginning of system
2022-09-08 14:08:26.791 1909-2023 VerityUtils system_server E Failed to measure fs-verity, errno 1: /data/app/~~bKV2Ot0nhEgxaOviWOzvjg==/cx.ring-0sSYbhKeLYc2d7DZ__s6Ig==/base.apk
2022-09-08 14:08:28.106 1909-2023 VerityUtils system_server E Failed to measure fs-verity, errno 1: /data/app/~~bKV2Ot0nhEgxaOviWOzvjg==/cx.ring-0sSYbhKeLYc2d7DZ__s6Ig==/base.apk
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/762Recorder: auto record does not take video in video calls2023-03-23T15:26:50ZAline Gondim SantosRecorder: auto record does not take video in video callsCurrent behaviour:
* Enable automatic recording;
* Make a video call;
* Saved file contains audio only.
Expected:
* Saved file contains audio and video data.Current behaviour:
* Enable automatic recording;
* Make a video call;
* Saved file contains audio only.
Expected:
* Saved file contains audio and video data.Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/761Audio crash in pulse2022-11-03T14:50:17ZSébastien BlinAudio crash in pulseScenario: none provided
Since: probably last changes (seems a recent crash and test-recorder get some crashes too)
```
New Thread 0x7fff41feb640 (LWP 971442)]
[New Thread 0x7fff387d8640 (LWP 971443)]
[Thread 0x7fff41feb640 (LWP 971442)...Scenario: none provided
Since: probably last changes (seems a recent crash and test-recorder get some crashes too)
```
New Thread 0x7fff41feb640 (LWP 971442)]
[New Thread 0x7fff387d8640 (LWP 971443)]
[Thread 0x7fff41feb640 (LWP 971442) exited]
[Thread 0x7fff2f7c6640 (LWP 971342) exited]
[1662562478.697|57330|audio_frame_resizer.cpp :117 ] Audio resizer error: Invalid argument
terminate called after throwing an instance of 'std::runtime_error'
what(): Failed to add audio to frame resizer
Thread 21 "threaded-ml" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffc67fc640 (LWP 909298)]
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140736523650624) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140736523650624) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=140736523650624) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140736523650624, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff60ad476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff60937f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff6355bfe in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff636128c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff63612f7 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007ffff6361558 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#9 0x00007ffff6adef7a in jami::AudioFrameResizer::enqueue (this=0x7fffac2bba28, frame=...)
at ./media/audio/audio_frame_resizer.cpp:118
#10 0x00007ffff6b11a28 in jami::AudioProcessor::enqueue (this=0x7fffac2bba20, frameResizer=..., buf=...)
at ./media/audio/audio-processing/audio_processor.h:181
#11 0x00007ffff6b116ec in jami::AudioProcessor::putPlayback (this=0x7fffac2bba20,
buf=std::shared_ptr<DRing::AudioFrame> (use count 2, weak count 0) = {...})
at ./media/audio/audio-processing/audio_processor.h:61
#12 0x00007ffff6afc22a in jami::AudioLayer::getToPlay (this=0x55555576eea0, format=..., writableSamples=1288)
at ./media/audio/audiolayer.cpp:307
#13 0x00007ffff6b1c2d4 in jami::PulseLayer::writeToSpeaker (this=0x55555576eea0)
at media/audio/pulseaudio/pulselayer.cpp:503
#14 0x00007ffff6b2ba64 in std::__invoke_impl<void, void (jami::PulseLayer::*&)(), jami::PulseLayer*&> (
__f=@0x7fff80011790: (void (jami::PulseLayer::*)(jami::PulseLayer * const)) 0x7ffff6b1c140 <jami::PulseLayer::writeToSpeaker()>, __t=@0x7fff800117a0: 0x55555576eea0) at /usr/include/c++/11/bits/invoke.h:74
#15 0x00007ffff6b29a4f in std::__invoke<void (jami::PulseLayer::*&)(), jami::PulseLayer*&> (
__fn=@0x7fff80011790: (void (jami::PulseLayer::*)(jami::PulseLayer * const)) 0x7ffff6b1c140 <jami::PulseLayer::writeToSpeaker()>) at /usr/include/c++/11/bits/invoke.h:96
#16 0x00007ffff6b27885 in std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()>::__call<void, unsigned long&&, 0ul>(std::tuple<unsigned long&&>&&, std::_Index_tuple<0ul>) (this=0x7fff80011790, __args=...)
at /usr/include/c++/11/functional:420
#17 0x00007ffff6b25cee in std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()>::operator()<unsigned long, void>(unsigned long&&) (this=0x7fff80011790) at /usr/include/c++/11/functional:503
#18 0x00007ffff6b2487b in std::__invoke_impl<void, std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()>&, unsigned long>(std::__invoke_other, std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()>&, unsigned long&&) (
__f=...) at /usr/include/c++/11/bits/invoke.h:61
#19 0x00007ffff6b22e71 in std::__invoke_r<void, std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()>&, unsigned long>(std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()>&, unsigned long&&) (__fn=...)
at /usr/include/c++/11/bits/invoke.h:111
#20 0x00007ffff6b2139c in std::_Function_handler<void (unsigned long), std::_Bind<void (jami::PulseLayer::*(jami::PulseLayer*))()> >::_M_invoke(std::_Any_data const&, unsigned long&&) (__functor=..., __args#0=@0x7fffc67f8d10: 5152)
at /usr/include/c++/11/bits/std_function.h:290
#21 0x00007ffff6ad9efb in std::function<void (unsigned long)>::operator()(unsigned long) const (
this=0x7fff8003ba70, __args#0=5152) at /usr/include/c++/11/bits/std_function.h:590
#22 0x00007ffff6ad8f93 in operator() (__closure=0x0, bytes=5152, userdata=0x7fff8003ba50)
at media/audio/pulseaudio/audiostream.cpp:96
#23 0x00007ffff6ad8fc7 in _FUN () at media/audio/pulseaudio/audiostream.cpp:97
--Type <RET> for more, q to quit, c to continue without paging--
#24 0x00007ffff5ea54be in ?? () from /lib/x86_64-linux-gnu/libpulse.so.0
#25 0x00007ffff4a00540 in pa_pdispatch_run () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
#26 0x00007ffff5e8a083 in ?? () from /lib/x86_64-linux-gnu/libpulse.so.0
#27 0x00007ffff4a05487 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
#28 0x00007ffff4a061d8 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
#29 0x00007ffff4a0659a in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
#30 0x00007ffff4a0a73a in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
#31 0x00007ffff5e9da73 in pa_mainloop_dispatch () from /lib/x86_64-linux-gnu/libpulse.so.0
#32 0x00007ffff5e9e0ca in pa_mainloop_iterate () from /lib/x86_64-linux-gnu/libpulse.so.0
#33 0x00007ffff5e9e170 in pa_mainloop_run () from /lib/x86_64-linux-gnu/libpulse.so.0
#34 0x00007ffff5eae37d in ?? () from /lib/x86_64-linux-gnu/libpulse.so.0
#35 0x00007ffff4a18cb3 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so
#36 0x00007ffff60ffb43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#37 0x00007ffff6191a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
```Aline Gondim SantosEzra PierceAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/760Blocking contact does not break TLS connection2022-12-27T21:01:45ZOlivier DionBlocking contact does not break TLS connectionhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/759Recording a call will cause a crash2023-01-20T17:32:27ZAndreas TraczykRecording a call will cause a crashThis seems to happen when the stream format is AV_PIX_FMT_NONEThis seems to happen when the stream format is AV_PIX_FMT_NONEhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/758crash when blocking contact when account is not active2022-09-27T14:21:38ZKateryna Kostiukcrash when blocking contact when account is not activesteps to reproduce
- create a Jami account with contacts
- disable account
- block a contact
- Jami crashed
Reproduced on iOS and macOS qt-client
Additionally, after those steps, iOS crashed every time when trying to enable account.steps to reproduce
- create a Jami account with contacts
- disable account
- block a contact
- Jami crashed
Reproduced on iOS and macOS qt-client
Additionally, after those steps, iOS crashed every time when trying to enable account.Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/757DHT port and registration expiry values are hardcoded2022-11-18T20:26:06ZkrishnakDHT port and registration expiry values are hardcodedAndroid - Latest version
The DHT port and registration expiry values, revert back to 5060 and 60 when you revisit the Accounts->Advanced page. On linux there is no option to change the port number or the registration expiry values using...Android - Latest version
The DHT port and registration expiry values, revert back to 5060 and 60 when you revisit the Accounts->Advanced page. On linux there is no option to change the port number or the registration expiry values using the UI.
Is this a feature or a bug. If I choose to run my own bootstrap server, can I change the port and registration time out values.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/756Unable to select a camera capture resolution other than 640x4802022-09-02T17:18:22ZAndreas TraczykUnable to select a camera capture resolution other than 640x480Regardless of the chosen video settings, the format will be 640x480 with the max supported rate for that resolution.
Seen on Windows: Version (BETA): 202208261700Regardless of the chosen video settings, the format will be 640x480 with the max supported rate for that resolution.
Seen on Windows: Version (BETA): 202208261700Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/755Crash(Windows only?) during video call2023-01-04T19:50:51ZAndreas TraczykCrash(Windows only?) during video callOccasional crashes occur at some point during a video call.
Seen on Windows: Version (BETA): 202208261700
```
> [Inline Frame] yuv2rgb_write(unsigned char *) Line 1644 C
[Inline Frame] yuv2rgb_2_c_template(SwsContext *) Line 1768 C
...Occasional crashes occur at some point during a video call.
Seen on Windows: Version (BETA): 202208261700
```
> [Inline Frame] yuv2rgb_write(unsigned char *) Line 1644 C
[Inline Frame] yuv2rgb_2_c_template(SwsContext *) Line 1768 C
yuv2x2rgb10_2_c(SwsContext * c, const short * * buf, const short * * ubuf, const short * * vbuf, const short * * abuf, unsigned char * dest, int dstW, int yalpha, int uvalpha, int y) Line 1872 C
packed_vscale(SwsContext * c, SwsFilterDescriptor * desc, int sliceY, int sliceH) Line 157 C
swscale(SwsContext * c, const unsigned char * * src, int * srcStride, int srcSliceY, int srcSliceH, unsigned char * * dst, int * dstStride, int dstSliceY, int dstSliceH) Line 501 C
scale_internal(SwsContext * c, const unsigned char * const * srcSlice, const int * srcStride, int srcSliceY, int srcSliceH, unsigned char * const * dstSlice, const int * dstStride, int dstSliceY, int dstSliceH) Line 1046 C
sws_scale(SwsContext * c, const unsigned char * const * srcSlice, const int * srcStride, int srcSliceY, int srcSliceH, unsigned char * const * dst, const int * dstStride) Line 1215 C
jami::video::VideoScaler::scale(const AVFrame * input_frame, AVFrame * output_frame) Line 74 C++
[Inline Frame] jami::video::SinkClient::sendFrameTransformed(AVFrame * frame) Line 365 C++
jami::video::SinkClient::update(jami::Observable<std::shared_ptr<DRing::MediaFrame>> * __formal, const std::shared_ptr<DRing::MediaFrame> & frame_p) Line 464 C++
jami::Observable<std::shared_ptr<DRing::MediaFrame>>::notify(std::shared_ptr<DRing::MediaFrame> data) Line 137 C++
jami::video::VideoGenerator::publishFrame(std::shared_ptr<DRing::VideoFrame> frame) Line 56 C++
[External Code]
[Inline Frame] std::_Func_class<void,std::shared_ptr<DRing::MediaFrame> &&>::operator()(std::shared_ptr<DRing::MediaFrame> &&) Line 968 C++
jami::MediaDecoder::decode(AVPacket & packet) Line 699 C++
[Inline Frame] std::_Func_class<enum jami::DecodeStatus,AVPacket &>::operator()(AVPacket &) Line 968 C++
jami::MediaDemuxer::decode() Line 410 C++
jami::MediaDecoder::decode() Line 714 C++
jami::video::VideoReceiveThread::decodeFrame() Line 206 C++
[Inline Frame] std::_Func_class<void>::operator()() Line 968 C++
jami::ThreadLoop::mainloop(std::thread::id & tid, const std::function<bool __cdecl(void)> setup, const std::function<void __cdecl(void)> process, const std::function<void __cdecl(void)> cleanup) Line 38 C++
[External Code]
```Andreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/754Better handling of SyncMsg2022-08-18T19:21:16ZSébastien BlinBetter handling of SyncMsgin the daemon, SyncMsg can be big, for now it's limited to UINT16_MAX bytes, but ideally we want this to be generic.
`SyncModule::Impl::syncInfos` we should write juste enough data in SyncMsg to get the limit and split in multiple messa...in the daemon, SyncMsg can be big, for now it's limited to UINT16_MAX bytes, but ideally we want this to be generic.
`SyncModule::Impl::syncInfos` we should write juste enough data in SyncMsg to get the limit and split in multiple messages if necessaryhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/753daemon-agent: double free2022-10-04T14:52:33ZSébastien Blindaemon-agent: double freeAgent fails since a few days
```
=================================================================
==168118==ERROR: AddressSanitizer: attempting double-free on 0x615000898580 in thread T0:
#0 0x7f6efe80651f in operator delete(void*...Agent fails since a few days
```
=================================================================
==168118==ERROR: AddressSanitizer: attempting double-free on 0x615000898580 in thread T0:
#0 0x7f6efe80651f in operator delete(void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:165
#1 0x7f6efcb65d2b in __gnu_cxx::new_allocator<std::function<void ()> >::deallocate(std::function<void ()>*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128
#2 0x7f6efcb65d2b in std::allocator_traits<std::allocator<std::function<void ()> > >::deallocate(std::allocator<std::function<void ()> >&, std::function<void ()>*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:469
#3 0x7f6efcb65d2b in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_deallocate_node(std::function<void ()>*) /usr/include/c++/9/bits/stl_deque.h:627
#4 0x7f6efcb65d2b in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_destroy_nodes(std::function<void ()>**, std::function<void ()>**) /usr/include/c++/9/bits/stl_deque.h:761
#5 0x7f6efcb65d2b in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::~_Deque_base() /usr/include/c++/9/bits/stl_deque.h:683
#6 0x7f6efcb65d2b in std::deque<std::function<void ()>, std::allocator<std::function<void ()> > >::~deque() /usr/include/c++/9/bits/stl_deque.h:1072
#7 0x7f6efcb65d2b in std::queue<std::function<void ()>, std::deque<std::function<void ()>, std::allocator<std::function<void ()> > > >::~queue() /usr/include/c++/9/bits/stl_queue.h:96
#8 0x7f6efcb65d2b in dht::ThreadPool::stop() /foo/contrib/native/opendht/src/thread_pool.cpp:109
#9 0x7f6efcb65db6 in dht::ThreadPool::join() /foo/contrib/native/opendht/src/thread_pool.cpp:116
#10 0x7f6efbe54ae3 in jami::Manager::finish() /foo/src/manager.cpp:902
#11 0x7f6efbfe6d01 in DRing::fini() /foo/src/ring_api.cpp:99
#12 0x7f6efb01d8a6 (/lib/x86_64-linux-gnu/libc.so.6+0x468a6)
#13 0x7f6efb01da5f in exit (/lib/x86_64-linux-gnu/libc.so.6+0x46a5f)
#14 0x5597e4a2b8aa in c_handler /foo/contrib/native/guile/libguile/continuations.c:441
#15 0x5597e49f757c in catch_post_unwind_handler /foo/contrib/native/guile/libguile/throw.c:118
#16 0x5597e49873e0 in scm_c_with_exception_handler /foo/contrib/native/guile/libguile/exceptions.c:167
#17 0x5597e49f779c in scm_c_catch /foo/contrib/native/guile/libguile/throw.c:168
#18 0x5597e4a2b69b in scm_i_with_continuation_barrier /foo/contrib/native/guile/libguile/continuations.c:368
#19 0x5597e4a2b979 in scm_c_with_continuation_barrier /foo/contrib/native/guile/libguile/continuations.c:464
#20 0x5597e49f53da in with_guile /foo/contrib/native/guile/libguile/threads.c:645
#21 0x7f6efe6484c1 in GC_call_with_stack_base extra/../misc.c:2106
#22 0x5597e49f54d3 in scm_i_with_guile /foo/contrib/native/guile/libguile/threads.c:688
#23 0x5597e49f5517 in scm_with_guile /foo/contrib/native/guile/libguile/threads.c:694
#24 0x5597e48bf474 in main src/main.cpp:94
#25 0x7f6efaffb082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082)
#26 0x5597e48beded in _start (/foo/test/agent/.libs/agent.exe+0xc8ded)
0x615000898580 is located 0 bytes inside of 512-byte region [0x615000898580,0x615000898780)
freed by thread T0 here:
#0 0x7f6efe80651f in operator delete(void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:165
#1 0x7f6efcb65f94 in __gnu_cxx::new_allocator<std::function<void ()> >::deallocate(std::function<void ()>*, unsigned long) /usr/include/c++/9/ext/new_allocator.h:128
#2 0x7f6efcb65f94 in std::allocator_traits<std::allocator<std::function<void ()> > >::deallocate(std::allocator<std::function<void ()> >&, std::function<void ()>*, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:469
#3 0x7f6efcb65f94 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_deallocate_node(std::function<void ()>*) /usr/include/c++/9/bits/stl_deque.h:627
#4 0x7f6efcb65f94 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_destroy_nodes(std::function<void ()>**, std::function<void ()>**) /usr/include/c++/9/bits/stl_deque.h:761
#5 0x7f6efcb65f94 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::~_Deque_base() /usr/include/c++/9/bits/stl_deque.h:683
#6 0x7f6efcb65f94 in std::deque<std::function<void ()>, std::allocator<std::function<void ()> > >::~deque() /usr/include/c++/9/bits/stl_deque.h:1072
#7 0x7f6efcb65f94 in std::queue<std::function<void ()>, std::deque<std::function<void ()>, std::allocator<std::function<void ()> > > >::~queue() /usr/include/c++/9/bits/stl_queue.h:96
#8 0x7f6efcb65f94 in dht::ThreadPool::~ThreadPool() /foo/contrib/native/opendht/src/thread_pool.cpp:55
#9 0x7f6efb01d8a6 (/lib/x86_64-linux-gnu/libc.so.6+0x468a6)
previously allocated by thread T0 here:
#0 0x7f6efe805587 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x7f6efcb66979 in __gnu_cxx::new_allocator<std::function<void ()> >::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114
#2 0x7f6efcb66979 in std::allocator_traits<std::allocator<std::function<void ()> > >::allocate(std::allocator<std::function<void ()> >&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443
#3 0x7f6efcb66979 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_allocate_node() /usr/include/c++/9/bits/stl_deque.h:620
#4 0x7f6efcb66979 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_create_nodes(std::function<void ()>**, std::function<void ()>**) /usr/include/c++/9/bits/stl_deque.h:745
#5 0x7f6efcb66979 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_M_initialize_map(unsigned long) /usr/include/c++/9/bits/stl_deque.h:719
#6 0x7f6efcb65b44 in std::_Deque_base<std::function<void ()>, std::allocator<std::function<void ()> > >::_Deque_base() /usr/include/c++/9/bits/stl_deque.h:510
#7 0x7f6efcb65b44 in std::deque<std::function<void ()>, std::allocator<std::function<void ()> > >::deque() /usr/include/c++/9/bits/stl_deque.h:915
#8 0x7f6efcb65b44 in std::queue<std::function<void ()>, std::deque<std::function<void ()>, std::allocator<std::function<void ()> > > >::queue<std::deque<std::function<void ()>, std::allocator<std::function<void ()> > >, void>() /usr/include/c++/9/bits/stl_queue.h:161
#9 0x7f6efcb65b44 in dht::ThreadPool::stop() /foo/contrib/native/opendht/src/thread_pool.cpp:109
#10 0x7f6efcb65e69 in dht::ThreadPool::join() /foo/contrib/native/opendht/src/thread_pool.cpp:116
#11 0x7f6efcb65e69 in dht::ThreadPool::~ThreadPool() /foo/contrib/native/opendht/src/thread_pool.cpp:57
#12 0x7f6efb01d8a6 (/lib/x86_64-linux-gnu/libc.so.6+0x468a6)
SUMMARY: AddressSanitizer: double-free ../../../../src/libsanitizer/asan/asan_new_delete.cc:165 in operator delete(void*)
==168118==ABORTING
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/752Windows: offer full fps range for video camera2022-12-23T20:29:35ZSébastien BlinWindows: offer full fps range for video cameraEg from https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/747
```
$ ffmpeg -f dshow -list_options true -i video="ManyCam Virtual Webcam"
[dshow @ 000001F46BD265C0] DirectShow video device options (from video devices)
[dsho...Eg from https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/747
```
$ ffmpeg -f dshow -list_options true -i video="ManyCam Virtual Webcam"
[dshow @ 000001F46BD265C0] DirectShow video device options (from video devices)
[dshow @ 000001F46BD265C0] Pin "Capture" (alternative pin name "0")
[dshow @ 000001F46BD265C0] pixel_format=yuyv422 min s=1920x1080 fps=0.015625 max s=1920x1080 fps=60.0002
[dshow @ 000001F46BD265C0] pixel_format=yuyv422 min s=1600x1200 fps=0.015625 max s=1600x1200 fps=60.0002
```
Jami only displays 60fps (max fps). However with some modification we can offer the range 1,5,10,15...60
I think it's not important as anyway the virtual camera will probably be encoded to 60fps by the original app anyway, and codec will already do optimize, so the data reduction will be minor.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/751Green dot should be gone if you remove / block a contact2022-08-14T21:15:36ZElysGreen dot should be gone if you remove / block a contactIf just one Jami user (Device A) removes another Jami user (Device B) no one (and no device?) should be able see the green dot of the removed user
Example:
Alice: Android user; Bob: Windows 10 user
- Just Alice removes Bob
- However -...If just one Jami user (Device A) removes another Jami user (Device B) no one (and no device?) should be able see the green dot of the removed user
Example:
Alice: Android user; Bob: Windows 10 user
- Just Alice removes Bob
- However - Bob can still see the green dot of Alice in his contact list
As soon as Alice and/or Bob re-adds Bob/Alice the green dot should be visible again for all contacts (if no one exits Jami or if all or one peer exit and open Jami again)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/750Wrong username in contact list after adding an account and import leads to "S...2024-02-09T19:58:29ZElysWrong username in contact list after adding an account and import leads to "Swarm: Is false"?Not sure if you can reproduce but I think these were the steps I reproduced this bug (maybe I need to change my description and the steps later)
- Jami (Windows 10): Click add account
- Jami (Windows 10): I now add my own account (I alr...Not sure if you can reproduce but I think these were the steps I reproduced this bug (maybe I need to change my description and the steps later)
- Jami (Windows 10): Click add account
- Jami (Windows 10): I now add my own account (I already have the same user account on my android device)
- I use the option "Import from another device"
- Now all my contacts from the android device are also transferred except one contact (I have three contacts in this test; My own user account "test1"; another user account"test2"; and a "real" contact)
- However the other user account "test2" does not show up but a version like 7b2d4af12345... ( I didn't check if matches the "test2" account)
- I delete the 7b2d4af12345... contact
- After some time (over 30 seconds or more?) I get an invitation (Windows 10) of the user account "test2" with the "real" name "test2"(but I think also the Android version of Jami sent me an invitation) (Maybe related?: https://git.jami.net/savoirfairelinux/jami-project/-/issues/1449#note_36195 ) so no 7b2d4af12345... etc.
- Even if I accept (just Windows 10 or even both: Android and Windows 10) I just see "You have accepted the conversation request. Waiting until "test2" connects to synchoronize the conversation"
- Now I exit Jami just Windows 10
- Suddenly "test2" is in contact list **but my own account is gone **(just in the contact list of course)
- As soon as I exit Jami (Windows 10) and enter again my own account in the contact list is visible again
So the issues should be at least that I get a 89dfs0if... contact in the contact list instead of a user name and sometimes
Note: Android: I never deleted the "real"contact (just one in past so I get "Swarm: Is true") but my other account "test2" was often deleted and re-added so maybe that's also the issue? (Although I reproduced (another) issue if I use the Windows 10 client)
----
another issue?
In the contact list: my own account "test1" and my other account "test2" show "Swarm: Is false";
However my third contact shows "Swarm: Is true"
This happend after I followed the steps mentioned abovehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/749Same account: Green dot shows up although there is no second device (contact ...2022-08-05T19:48:48ZElysSame account: Green dot shows up although there is no second device (contact list)Not sure if it's actually a bug but I try to describe
I want to make a call "samerusername"(Windows 10) <-> "samerusername"(Android)
I have my own account in the contact list (both devices)
I just open the Windows 10 client
Althoug m...Not sure if it's actually a bug but I try to describe
I want to make a call "samerusername"(Windows 10) <-> "samerusername"(Android)
I have my own account in the contact list (both devices)
I just open the Windows 10 client
Althoug my second device (Android) did not launch Jami my own account in the contact list has a green dot (not just above)
I think in the past (non-swarm?) my own account in the contact list never showed a green dot if I did not launch Jami on the second device
However: Android: still same issue https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/994https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/748Custom ringtone path not assembled correctly2022-08-05T15:01:32ZPietroCustom ringtone path not assembled correctlyHi again,
I built `jami_20220726.1515.da8d1da.tar.gz` and installed it "locally" with the `python build.py --install` command.
I select a custom ringtone from the QT interface, located here:
```
/home/madre/mucca.opus
```
but the log...Hi again,
I built `jami_20220726.1515.da8d1da.tar.gz` and installed it "locally" with the `python build.py --install` command.
I select a custom ringtone from the QT interface, located here:
```
/home/madre/mucca.opus
```
but the logs report that the file
```
/home/madre/jamibuild/jami-project/install/daemon/share/jami/ringtones//home/madre/mucca.opus
```
is non existent (for obvious reasons, notice the double `//`).
If I manually create the folder shown above and place in there the ringtone everything works as expected.
I guess it's a simple problem with the contruction of the path.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/747Puiblish new plugins (translated + ffmpeg5)2022-09-09T15:17:00ZSébastien BlinPuiblish new plugins (translated + ffmpeg5)Sébastien BlinAline Gondim SantosSébastien Blin