jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2021-04-13T13:38:02Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/449Transmit moderator commands to remote host2021-04-13T13:38:02ZPierre LespagnolTransmit moderator commands to remote hostPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/448[To test]Swarm: weird clone failure on sync2021-03-02T15:48:36ZSébastien Blin[To test]Swarm: weird clone failure on sync```
gheller@pc-gheller:~/.local/share/jami/457c1d61f7710c64/conversations/7ac13b2d77f9ed337618db340a9d1cb0f9f2a2cd$ git log
commit 401c9afc98aa2d4deebe6b989749169c96c6e0e1 (HEAD -> main, origin/main, origin/HEAD)
Author: 698fe6e10ae1f472...```
gheller@pc-gheller:~/.local/share/jami/457c1d61f7710c64/conversations/7ac13b2d77f9ed337618db340a9d1cb0f9f2a2cd$ git log
commit 401c9afc98aa2d4deebe6b989749169c96c6e0e1 (HEAD -> main, origin/main, origin/HEAD)
Author: 698fe6e10ae1f4722dabe32ad5e885a464085db5 <698fe6e10ae1f4722dabe32ad5e885a464085db5>
Date: Thu Feb 18 21:12:42 2021 +0000
{"body":"\u2728","type":"text/plain"}
commit 92092c07f827171c289e60a44e9bf7e7c93242b9
Author: 7c38177a10d618bc30f93f0284d82d6ef246c459 <7c38177a10d618bc30f93f0284d82d6ef246c459>
Date: Thu Feb 18 21:11:59 2021 +0000
{"displayName":"img_20210218_161153_411016185718028660.jpg","sha3sum":"b7d5c6e752a4b29537dae244f429f38446ab4f2d34b09ed477a9428dcad9e8bf4decc5213d409d0b140d95d5a58517b718f56c6ed0691cdcc4e32b01b18f5d8a","tid":"8783314023060598","totalSize":"5024115","type":"application/data-transfer+json"}
commit 9687b46bee5159e19690ea7b7db07533fc5a9c57
Author: 7c38177a10d618bc30f93f0284d82d6ef246c459 <7c38177a10d618bc30f93f0284d82d6ef246c459>
Date: Thu Feb 18 21:11:42 2021 +0000
{"body":"Non je re\u00e7ois que sur Android","type":"text/plain"}
error: Could not read 095ced7a8debd31058c1dc68099809b64a9fb5bf
fatal: Failed to traverse parents of commit b6f09dc7e13f3c791b7e226890717100af38a282
```Swarm-chatSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/447When the resolution change the receive thread is not updated2021-03-08T22:03:48ZPierre LespagnolWhen the resolution change the receive thread is not updatedPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/446Recorder: concat recording if for same call but with switch inputs?2023-03-23T15:27:00ZSébastien BlinRecorder: concat recording if for same call but with switch inputs?# Scenario
+ Alice starts to record a call
+ Alice switch her input
+ Alice stop the record
# Current result
+ 2 recording are saved
# Expected
+ Only one recording with both video mixed?# Scenario
+ Alice starts to record a call
+ Alice switch her input
+ Alice stop the record
# Current result
+ 2 recording are saved
# Expected
+ Only one recording with both video mixed?BacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/445Report an incoming call with all included media2021-06-11T16:11:08ZFrançois Naggar-TremblayReport an incoming call with all included mediaCurrently, when the daemon reports an incoming call it does not include the list of media included in the offer. Thus, the client can not select which media to accept. For example, allows the client/user to accept only audio for an audio...Currently, when the daemon reports an incoming call it does not include the list of media included in the offer. Thus, the client can not select which media to accept. For example, allows the client/user to accept only audio for an audio+video incoming call.
In this feature, the list of media in the offer will be reported and the client can chose which media to accept.Mohamed ChibaniMing Rui ZhangMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/444ASAN crash in video pipeline2021-07-09T20:48:25ZSébastien BlinASAN crash in video pipelinevia irc
```
[1613570498.245|27869|manager.cpp :1683 ] [call:4730700885720014] Remove local audio
[1613570498.246|27869|ringbufferpool.cpp:263 ] Unbind call 4730700885720014 from all bound calls
[1613570498.246|27869|audiostream.c...via irc
```
[1613570498.245|27869|manager.cpp :1683 ] [call:4730700885720014] Remove local audio
[1613570498.246|27869|ringbufferpool.cpp:263 ] Unbind call 4730700885720014 from all bound calls
[1613570498.246|27869|audiostream.cpp :147 ] Destroying stream with device alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel
[1613570498.246|27869|sipcall.cpp :444 ] [call:4730700885720014] Terminate SIP session
[1613570498.251|27869|sip_utils.cpp :210 ] Add header to SIP message: "User-Agent: Jami Daemon 9.9.0 (linux)"
[1613570498.254|27869|sipcall.cpp :1298 ] [call:4730700885720014] stopping all medias
AddressSanitizer:DEADLYSIGNAL
=================================================================
==27869==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000038 (pc 0x5644c790eadf bp 0x7fffa6e501f0 sp 0x7fffa6e50170 T0)
==27869==The signal is caused by a READ memory access.
==27869==Hint: address points to the zero page.
Dropped 54 packets with high delay
Dropped 28 packets with high delay
Dropped 62 packets with high delay
[1613570514.887|27870|upnp_context.cpp :506 ] Protocol status [PUPNP] has valid IGD(s) YES
[1613570514.889|27870|upnp_context.cpp :541 ] Mapping status [TCP] - overall 4: 4 open (4 ready + 0 in use), 0 pending, 0 in-progress, 0 failed
[1613570514.891|27870|upnp_context.cpp :541 ] Mapping status [UDP] - overall 9: 9 open (8 ready + 1 in use), 0 pending, 0 in-progress, 0 failed
#0 0x5644c790eade in jami::MediaDecoder::getStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const daemon/src/media/media_decoder.cpp:731
#1 0x5644c7ae1eaf in jami::video::VideoReceiveThread::getInfo() const daemon/src/media/video/video_receive_thread.cpp:265
#2 0x5644c7a1cd82 in jami::video::VideoRtpSession::deinitRecorder(std::shared_ptr<jami::MediaRecorder>&) daemon/src/media/video/video_rtp_session.cpp:672
#3 0x5644c78d036f in jami::SIPCall::stopAllMedia() daemon/src/sip/sipcall.cpp:1300
#4 0x5644c78d05fb in jami::SIPCall::hangup(int) daemon/src/sip/sipcall.cpp:564
#5 0x5644c78678d5 in jami::Manager::hangupCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) daemon/src/manager.cpp:1063
#6 0x5644c7825d57 in DBusCallManager::hangUp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) daemon/bin/dbus/dbuscallmanager.cpp:56
#7 0x5644c7825d57 in cx::ring::Ring::CallManager_adaptor::_hangUp_stub(DBus::CallMessage const&) daemon/bin/dbus/dbuscallmanager.adaptor.h:863
#8 0x5644c7822ada in DBus::Callback<cx::ring::Ring::CallManager_adaptor, DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const daemon/contrib/x86_64-linux-gnu/include/dbus-c++-1/dbus-c++/util.h:283
#9 0x5644c7847274 in DBus::Slot<DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const ../include/dbus-c++/util.h:252
#10 0x5644c7847274 in DBus::InterfaceAdaptor::dispatch_method(DBus::CallMessage const&) daemon/contrib/native/dbus-cpp/src/interface.cpp:64
#11 0x5644c784ee04 in DBus::ObjectAdaptor::handle_message(DBus::Message const&) daemon/contrib/native/dbus-cpp/src/object.cpp:220
#12 0x5644c784c6e5 in DBus::ObjectAdaptor::Private::message_function_stub(DBusConnection*, DBusMessage*, void*) daemon/contrib/native/dbus-cpp/src/object.cpp:92
#13 0x7fbac08b4bac (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x26bac)
#14 0x7fbac08a5713 in dbus_connection_dispatch (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x17713)
#15 0x5644c7842aaf in DBus::Connection::Private::do_dispatch() daemon/contrib/native/dbus-cpp/src/connection.cpp:132
#16 0x5644c7844b59 in DBus::Dispatcher::dispatch_pending(std::__cxx11::list<DBus::Connection::Private*, std::allocator<DBus::Connection::Private*> >&) daemon/contrib/native/dbus-cpp/src/dispatcher.cpp:236
#17 0x5644c7844c5c in DBus::Dispatcher::dispatch_pending() daemon/contrib/native/dbus-cpp/src/dispatcher.cpp:198
#18 0x5644c784612e in DBus::BusDispatcher::do_iteration() daemon/contrib/native/dbus-cpp/src/eventloop-integration.cpp:147
#19 0x5644c784612e in DBus::BusDispatcher::enter() daemon/contrib/native/dbus-cpp/src/eventloop-integration.cpp:99
#20 0x5644c77f9c8e in DBusClient::event_loop() daemon/bin/dbus/dbusclient.cpp:272
#21 0x5644c77ec76e in main daemon/bin/main.cpp:222
#22 0x7fbabf28c09a in __libc_start_main ../csu/libc-start.c:308
#23 0x5644c77f9479 (/usr/lib/ring/dring+0x158479)
```Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/443ConferenceInfos: do not include black bands for video coordinates2021-05-06T21:20:34ZSébastien BlinConferenceInfos: do not include black bands for video coordinatesWhile in a conference, the coordinates given by the ConferenceInfo includes black bands around the actual video (for example for phones). Should be removed and the client will be able to use the given coordinates to cut correctly the par...While in a conference, the coordinates given by the ConferenceInfo includes black bands around the actual video (for example for phones). Should be removed and the client will be able to use the given coordinates to cut correctly the participantshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/442To investigate - Conference: recent lag in video when 10 people2021-02-25T21:54:12ZSébastien BlinTo investigate - Conference: recent lag in video when 10 peoplehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/441ASAN: segv in video_rtp2021-05-28T21:09:24ZSébastien BlinASAN: segv in video_rtpVia IRC
```
[1613570498.245|27869|manager.cpp :1683 ] [call:4730700885720014] Remove local audio
[1613570498.246|27869|ringbufferpool.cpp:263 ] Unbind call 4730700885720014 from all bound calls
[1613570498.246|27869|a...Via IRC
```
[1613570498.245|27869|manager.cpp :1683 ] [call:4730700885720014] Remove local audio
[1613570498.246|27869|ringbufferpool.cpp:263 ] Unbind call 4730700885720014 from all bound calls
[1613570498.246|27869|audiostream.cpp :147 ] Destroying stream with device alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel
[1613570498.246|27869|sipcall.cpp :444 ] [call:4730700885720014] Terminate SIP session
[1613570498.251|27869|sip_utils.cpp :210 ] Add header to SIP message: "User-Agent: Jami Daemon 9.9.0 (linux)"
[1613570498.254|27869|sipcall.cpp :1298 ] [call:4730700885720014] stopping all medias
AddressSanitizer:DEADLYSIGNAL
=================================================================
==27869==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000038 (pc 0x5644c790eadf bp 0x7fffa6e501f0 sp 0x7fffa6e50170 T0)
==27869==The signal is caused by a READ memory access.
==27869==Hint: address points to the zero page.
Dropped 54 packets with high delay
Dropped 28 packets with high delay
Dropped 62 packets with high delay
[1613570514.887|27870|upnp_context.cpp :506 ] Protocol status [PUPNP] has valid IGD(s) YES
[1613570514.889|27870|upnp_context.cpp :541 ] Mapping status [TCP] - overall 4: 4 open (4 ready + 0 in use), 0 pending, 0 in-progress, 0 failed
[1613570514.891|27870|upnp_context.cpp :541 ] Mapping status [UDP] - overall 9: 9 open (8 ready + 1 in use), 0 pending, 0 in-progress, 0 failed
#0 0x5644c790eade in jami::MediaDecoder::getStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const daemon/src/media/media_decoder.cpp:731
#1 0x5644c7ae1eaf in jami::video::VideoReceiveThread::getInfo() const daemon/src/media/video/video_receive_thread.cpp:265
#2 0x5644c7a1cd82 in jami::video::VideoRtpSession::deinitRecorder(std::shared_ptr<jami::MediaRecorder>&) daemon/src/media/video/video_rtp_session.cpp:672
#3 0x5644c78d036f in jami::SIPCall::stopAllMedia() daemon/src/sip/sipcall.cpp:1300
#4 0x5644c78d05fb in jami::SIPCall::hangup(int) daemon/src/sip/sipcall.cpp:564
#5 0x5644c78678d5 in jami::Manager::hangupCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) daemon/src/manager.cpp:1063
#6 0x5644c7825d57 in DBusCallManager::hangUp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) daemon/bin/dbus/dbuscallmanager.cpp:56
#7 0x5644c7825d57 in cx::ring::Ring::CallManager_adaptor::_hangUp_stub(DBus::CallMessage const&) daemon/bin/dbus/dbuscallmanager.adaptor.h:863
#8 0x5644c7822ada in DBus::Callback<cx::ring::Ring::CallManager_adaptor, DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const daemon/contrib/x86_64-linux-gnu/include/dbus-c++-1/dbus-c++/util.h:283
#9 0x5644c7847274 in DBus::Slot<DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const ../include/dbus-c++/util.h:252
#10 0x5644c7847274 in DBus::InterfaceAdaptor::dispatch_method(DBus::CallMessage const&) daemon/contrib/native/dbus-cpp/src/interface.cpp:64
#11 0x5644c784ee04 in DBus::ObjectAdaptor::handle_message(DBus::Message const&) daemon/contrib/native/dbus-cpp/src/object.cpp:220
#12 0x5644c784c6e5 in DBus::ObjectAdaptor::Private::message_function_stub(DBusConnection*, DBusMessage*, void*) daemon/contrib/native/dbus-cpp/src/object.cpp:92
#13 0x7fbac08b4bac (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x26bac)
#14 0x7fbac08a5713 in dbus_connection_dispatch (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x17713)
#15 0x5644c7842aaf in DBus::Connection::Private::do_dispatch() daemon/contrib/native/dbus-cpp/src/connection.cpp:132
#16 0x5644c7844b59 in DBus::Dispatcher::dispatch_pending(std::__cxx11::list<DBus::Connection::Private*, std::allocator<DBus::Connection::Private*> >&) daemon/contrib/native/dbus-cpp/src/dispatcher.cpp:236
#17 0x5644c7844c5c in DBus::Dispatcher::dispatch_pending() daemon/contrib/native/dbus-cpp/src/dispatcher.cpp:198
#18 0x5644c784612e in DBus::BusDispatcher::do_iteration() daemon/contrib/native/dbus-cpp/src/eventloop-integration.cpp:147
#19 0x5644c784612e in DBus::BusDispatcher::enter() daemon/contrib/native/dbus-cpp/src/eventloop-integration.cpp:99
#20 0x5644c77f9c8e in DBusClient::event_loop() daemon/bin/dbus/dbusclient.cpp:272
#21 0x5644c77ec76e in main daemon/bin/main.cpp:222
#22 0x7fbabf28c09a in __libc_start_main ../csu/libc-start.c:308
#23 0x5644c77f9479 (/usr/lib/ring/dring+0x158479)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV daemon/src/media/media_decoder.cpp:731 in jami::MediaDecoder::getStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const
==27869==ABORTING
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/440ASAN crash on double-free in NameDirectory2021-02-19T23:09:21ZSébastien BlinASAN crash on double-free in NameDirectory# Scenario
+ Search a username
+ while the search is in progress, cut the client (will finish the daemon)
# Current result
```
[1613568185.981|27014|sipvoiplink.cpp :709 ] Shutdown SIPVoIPLink@0x61900000f080...
[1613568185.981|2701...# Scenario
+ Search a username
+ while the search is in progress, cut the client (will finish the daemon)
# Current result
```
[1613568185.981|27014|sipvoiplink.cpp :709 ] Shutdown SIPVoIPLink@0x61900000f080...
[1613568185.981|27014|siptransport.cpp :196 ] ~SipTransportBroker@0x60d0000002b0
[1613568185.981|27014|siptransport.cpp :203 ] destroying SipTransportBroker@0x60d0000002b0
[1613568186.445|27014|sipvoiplink.cpp :726 ] SIPVoIPLink@0x61900000f080 is shutdown
[1613568186.449|27014|smartools.cpp :67 ] Stop SmartInfo
[1613568186.452|27014|namedirectory.cpp :166 ] Address lookup for XXXXXX failed with code=0
=================================================================
==27014==ERROR: AddressSanitizer: attempting double-free on 0x60600010da20 in thread T0:
[1613568187.609|27015|pupnp.cpp :1268 ] PUPnP: Found 0 allocated mappings on IGD 192.168.122.1
[1613568187.609|27015|upnp_context.cpp :741 ] Send request for pending mapping JAMI-UDP:21867 to IGD 192.168.122.1:0
[1613568187.609|27015|upnp_context.cpp :370 ] Request mapping JAMI-UDP:21867 using protocol [UPNP]
[1613568187.609|27015|mapping.cpp :155 ] Changed mapping JAMI-UDP:21867 state from PENDING to IN_PROGRESS
[1613568187.609|27015|pupnp.cpp :446 ] PUPnP: Attempting to open port JAMI-UDP:21867
[1613568187.610|27015|pupnp.cpp :516 ] PUPnP: Sent request to open port JAMI-UDP:21867
[1613568187.610|27015|upnp_context.cpp :506 ] Protocol status [PUPNP] has valid IGD(s) YES
[1613568187.610|27015|upnp_context.cpp :541 ] Mapping status [TCP] - overall 0: 0 open (0 ready + 0 in use), 0 pending, 0 in-progress, 0 failed
[1613568187.610|27015|upnp_context.cpp :418 ] Provision 4 new mappings of type [TCP]
[1613568187.610|27015|upnp_context.cpp :370 ] Request mapping JAMI-TCP:13587 using protocol [UPNP]
[1613568187.610|27015|mapping.cpp :155 ] Changed mapping JAMI-TCP:13587 state from PENDING to IN_PROGRESS
[1613568187.610|27015|pupnp.cpp :446 ] PUPnP: Attempting to open port JAMI-TCP:13587
#0 0x7f663f5c7aa0 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xebaa0)
#1 0x55f876b1055d in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::deallocate(std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*, unsigned long) /usr/include/c++/8/ext/new_allocator.h:125
#2 0x55f876b1055d in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >&, std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*, unsigned long) /usr/include/c++/8/bits/alloc_traits.h:462
#3 0x55f876b1055d in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_put_node(std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*) /usr/include/c++/8/bits/stl_tree.h:603
#4 0x55f876b1055d in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_drop_node(std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*) /usr/include/c++/8/bits/stl_tree.h:670
#5 0x55f876b1055d in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*) /usr/include/c++/8/bits/stl_tree.h:1874
#6 0x55f876b1053e in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*) /usr/include/c++/8/bits/stl_tree.h:1872
#7 0x55f876b1053e in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >*) /usr/include/c++/8/bits/stl_tree.h:1872
#8 0x55f876b10779 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::~_Rb_tree() /usr/include/c++/8/bits/stl_tree.h:1872
#9 0x55f876b10779 in std::map<unsigned int, std::shared_ptr<dht::http::Request>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::~map() /usr/include/c++/8/bits/stl_map.h:300
#10 0x55f876b10779 in jami::NameDirectory::~NameDirectory() daemon/src/jamidht/namedirectory.h:49
#11 0x55f876b10779 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory>::~pair() /usr/include/c++/8/bits/stl_pair.h:208
#12 0x55f876b10779 in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory>*) /usr/include/c++/8/ext/new_allocator.h:140
#13 0x55f876b10779 in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory>*) /usr/include/c++/8/bits/alloc_traits.h:487
#14 0x55f876b10779 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >*) /usr/include/c++/8/bits/stl_tree.h:661
#15 0x55f876b10779 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >*) /usr/include/c++/8/bits/stl_tree.h:669
#16 0x55f876b10779 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, jami::NameDirectory> >*) /usr/include/c++/8/bits/stl_tree.h:1874
#17 0x7f663de31d8b in __run_exit_handlers /build/glibc-vjB4T1/glibc-2.28/stdlib/exit.c:108
#18 0x7f663de31eb9 in __GI_exit /build/glibc-vjB4T1/glibc-2.28/stdlib/exit.c:139
#19 0x7f663de1c0a1 in __libc_start_main ../csu/libc-start.c:342
#20 0x55f87694d479 (/usr/lib/ring/dring+0x158479)
0x60600010da20 is located 0 bytes inside of 56-byte region [0x60600010da20,0x60600010da58)
freed by thread T0 here:
#0 0x7f663f5c7aa0 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xebaa0)
#1 0x55f876b10bf7 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::erase(unsigned int const&) /usr/include/c++/8/ext/new_allocator.h:125
previously allocated by thread T0 here:
#0 0x7f663f5c6d30 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xead30)
#1 0x55f876b11876 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::allocate(unsigned long, void const*) /usr/include/c++/8/ext/new_allocator.h:111
#2 0x55f876b11876 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >&, unsigned long) /usr/include/c++/8/bits/alloc_traits.h:436
#3 0x55f876b11876 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_get_node() /usr/include/c++/8/bits/stl_tree.h:599
#4 0x55f876b11876 in std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >* std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<unsigned int const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<unsigned int const&>&&, std::tuple<>&&) /usr/include/c++/8/bits/stl_tree.h:653
#5 0x55f876b11876 in std::_Rb_tree_iterator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<dht::http::Request> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > >, std::piecewise_construct_t const&, std::tuple<unsigned int const&>&&, std::tuple<>&&) /usr/include/c++/8/bits/stl_tree.h:2414
#6 0x55f876b11876 in std::map<unsigned int, std::shared_ptr<dht::http::Request>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<dht::http::Request> > > >::operator[](unsigned int const&) /usr/include/c++/8/bits/stl_map.h:499
#7 0x61500002330f (<unknown module>)
SUMMARY: AddressSanitizer: double-free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xebaa0) in operator delete(void*)
==27014==ABORTING
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/439Conference: Show remote recording indication for non-host in a conference2021-12-29T19:11:48ZSébastien BlinConference: Show remote recording indication for non-host in a conference# Scenario
+ Start a conf A(host),B,C
+ B start to record
# Current result
only A,B have the remote recording indication
# Expected
C show the remote recording# Scenario
+ Start a conf A(host),B,C
+ B start to record
# Current result
only A,B have the remote recording indication
# Expected
C show the remote recordingBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/437[To test]Swarm: Still some "could not fetch commit..."2021-03-02T15:48:33ZSébastien Blin[To test]Swarm: Still some "could not fetch commit..."Sometimes, when android sends a message, the message is not received by the other peer, with "could not fetch commit..". This needs some investigation. all messages should pass directlySometimes, when android sends a message, the message is not received by the other peer, with "could not fetch commit..". This needs some investigation. all messages should pass directlySwarm-chatSébastien BlinSébastien Blin2021-03-03https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/436Crash in PUPnP and UPnPContext classes2021-05-25T20:52:40ZMohamed ChibaniCrash in PUPnP and UPnPContext classesOccurs when closing Jami. See callstack:
```
[Thread 0x7fffa7fff640 (LWP 85247) exited]
[1613437562.277|19688|pupnp.cpp :165 ] PUPnP: Destroying instance 0x7fffac0010f0
malloc_consolidate(): unaligned fastbin chunk detected
--T...Occurs when closing Jami. See callstack:
```
[Thread 0x7fffa7fff640 (LWP 85247) exited]
[1613437562.277|19688|pupnp.cpp :165 ] PUPnP: Destroying instance 0x7fffac0010f0
malloc_consolidate(): unaligned fastbin chunk detected
--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "dring" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 ../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007ffff6e40864 in __GI_abort () at abort.c:79
#2 0x00007ffff6ea3af6 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff6fcb128 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff6eac46c in malloc_printerr (str=str@entry=0x7ffff6fcd4b8 "malloc_consolidate(): unaligned fastbin chunk detected") at malloc.c:5389
#4 0x00007ffff6eadb4c in malloc_consolidate (av=av@entry=0x7ffff6ffdba0 <main_arena>) at malloc.c:4509
#5 0x00007ffff6eaf023 in _int_malloc (av=av@entry=0x7ffff6ffdba0 <main_arena>, bytes=bytes@entry=2000) at malloc.c:3727
#6 0x00007ffff6eb1721 in GI_libc_malloc (bytes=2000) at malloc.c:3086
#7 0x00007ffff7d7dbef in ?? () from /lib/x86_64-linux-gnu/libupnp.so.13
#8 0x0000555555b04d85 in jami::upnp::PUPnP::actionDeletePortMappingsByDesc (this=0x7fffac0010f0, igd=..., description="JAMI") at pupnp.cpp:1304
#9 0x0000555555b00eee in jami::upnp::PUPnP::removeAllLocalMappings (this=0x7fffac0010f0,
igd=std::shared_ptr<class jami::upnp::IGD> (use count 2, weak count 0) = {...}) at pupnp.cpp:608
#10 0x0000555555afe4e7 in jami::upnp::PUPnP::~PUPnP (this=0x7fffac0010f0, __in_chrg=<optimized out>) at pupnp.cpp:171
#11 0x00005555557ada9f in gnu_cxx::new_allocator<jami::upnp::PUPnP>::destroy<jami::upnp::PUPnP> (this=0x7fffac0010f0, p=0x7fffac0010f0)
at /usr/include/c++/10/ext/new_allocator.h:156
#12 0x00005555557ad99d in std::allocator_traits<std::allocator<jami::upnp::PUPnP> >::destroy<jami::upnp::PUPnP> (a=..., p=0x7fffac0010f0)
at /usr/include/c++/10/bits/alloc_traits.h:531
#13 0x00005555557ad4c1 in std::_Sp_counted_ptr_inplace<jami::upnp::PUPnP, std::allocator<jami::upnp::PUPnP>, (__gnu_cxx::_Lock_policy)2>::Mdispose
(this=0x7fffac0010e0) at /usr/include/c++/10/bits/shared_ptr_base.h:560
#14 0x00005555556986fb in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::Mrelease (this=0x7fffac0010e0)
at /usr/include/c++/10/bits/shared_ptr_base.h:158
#15 0x0000555555698283 in std::shared_count<(gnu_cxx::_Lock_policy)2>::~shared_count (this=0x7fffac002550, in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr_base.h:733
#16 0x000055555579d6fc in std::shared_ptr<jami::upnp::UPnPProtocol, (gnu_cxx::_Lock_policy)2>::~shared_ptr (this=0x7fffac002548,
in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:1183
#17 0x000055555579d71c in std::shared_ptr<jami::upnp::UPnPProtocol>::~shared_ptr (this=0x7fffac002548, __in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr.h:121
#18 0x00005555557ab022 in std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >::~pair (this=0x7fffac002540,
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_pair.h:211
#19 0x00005555557ab046 in gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::destroy<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > (this=0x7fffd80064c0,
p=0x7fffac002540) at /usr/include/c++/10/ext/new_allocator.h:156
#20 0x00005555557a9a87 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > > >::destroy<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > (a=...,
p=0x7fffac002540) at /usr/include/c++/10/bits/alloc_traits.h:531
#21 0x00005555557a6eb9 in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::Mdestroy_node (
this=0x7fffd80064c0, __p=0x7fffac002520) at /usr/include/c++/10/bits/stl_tree.h:646
#22 0x00005555557a3645 in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::Mdrop_node (
this=0x7fffd80064c0, __p=0x7fffac002520) at /usr/include/c++/10/bits/stl_tree.h:654
#23 0x00005555557a08fa in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocol--Type <RET> for more, q to quit, c to continue without paging--
Type>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::Merase (this=0x7fffd80064c0,
__x=0x7fffac002520) at /usr/include/c++/10/bits/stl_tree.h:1921
#24 0x000055555579e65c in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::~_Rb_tree (this=0x7fffd80064c0,
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_tree.h:991
#25 0x000055555579da1a in std::map<jami::upnp::NatProtocolType, std::shared_ptr<jami::upnp::UPnPProtocol>, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::~map (this=0x7fffd80064c0,
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_map.h:302
#26 0x00005555557901c1 in jami::upnp::UPnPContext::~UPnPContext (this=0x7fffd8006460, __in_chrg=<optimized out>) at upnp_context.cpp:47
#27 0x00005555557adb17 in gnu_cxx::new_allocator<jami::upnp::UPnPContext>::destroy<jami::upnp::UPnPContext> (this=0x7fffd8006460,
p=0x7fffd8006460) at /usr/include/c++/10/ext/new_allocator.h:156
#28 0x00005555557ada2d in std::allocator_traits<std::allocator<jami::upnp::UPnPContext> >::destroy<jami::upnp::UPnPContext> (a=...,
p=0x7fffd8006460) at /usr/include/c++/10/bits/alloc_traits.h:531
#29 0x00005555557ad811 in std::_Sp_counted_ptr_inplace<jami::upnp::UPnPContext, std::allocator<jami::upnp::UPnPContext>, (__gnu_cxx::_Lock_policy)2>::Mdispose (this=0x7fffd8006450) at /usr/include/c++/10/bits/shared_ptr_base.h:560
#30 0x00005555556986fb in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::Mrelease (this=0x7fffd8006450)
at /usr/include/c++/10/bits/shared_ptr_base.h:158
#31 0x0000555555698283 in std::shared_count<(gnu_cxx::_Lock_policy)2>::~shared_count (
this=0x555556c31bf8 <jami::upnp::UPnPContext::getUPnPContext()::context+8>, in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr_base.h:733
#32 0x000055555574413c in std::shared_ptr<jami::upnp::UPnPContext, (gnu_cxx::_Lock_policy)2>::~shared_ptr (
this=0x555556c31bf0 <jami::upnp::UPnPContext::getUPnPContext()::context>, in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr_base.h:1183
#33 0x000055555574415c in std::shared_ptr<jami::upnp::UPnPContext>::~shared_ptr (
this=0x555556c31bf0 <jami::upnp::UPnPContext::getUPnPContext()::context>, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr.h:121
#34 0x00007ffff6e5ea57 in run_exit_handlers (status=0, listp=0x7ffff6ffd738 <exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
run_dtors=run_dtors@entry=true) at exit.c:108
#35 0x00007ffff6e5ec00 in __GI_exit (status=<optimized out>) at exit.c:139
#36 0x00007ffff6e42cb9 in __libc_start_main (main=0x555555697bc3 <main(int, char**)>, argc=2, argv=0x7fffffffe038, init=<optimized out>,
```Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/435Crash in PUNP/IGD - from Google Play Store2021-02-24T20:52:31ZMohamed ChibaniCrash in PUNP/IGD - from Google Play StoreThe crash occurred on a Huawei Mate 10 lite, Android 8.0 device.
Provided BT:
```
/ring-project/client-android/../daemon/src/upnp/upnp_context.cpp:840)
#00 pc 00000000003bdfac /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/lib...The crash occurred on a Huawei Mate 10 lite, Android 8.0 device.
Provided BT:
```
/ring-project/client-android/../daemon/src/upnp/upnp_context.cpp:840)
#00 pc 00000000003bdfac /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (jami::upnp::UPnPContext::onRequestTimeOut(std::__ndk1::shared_ptr<jami::upnp::IGD> const&, std::__ndk1::shared_ptr<jami::upnp::Mapping> const&)) (SourceCode: /var/lib/jenkins/workspace/packaging-deploy-android-pipeline/ring-project/client-android/../daemon/src/upnp/upnp_context.cpp:1224)
#00 pc 00000000004ebcb4 /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (std::__ndk1::__function::__value_func<void ()>::operator()() const) (SourceCode: /opt/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/functional:1867)
#00 pc 00000000004ebcb4 /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (std::__ndk1::function<void ()>::operator()() const) (SourceCode: /opt/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/functional:2473)
#00 pc 00000000004ebcb4 /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (jami::ScheduledExecutor::loop()) (SourceCode: /var/lib/jenkins/workspace/packaging-deploy-android-pipeline/ring-project/client-android/../daemon/src/scheduled_executor.cpp:124)
#00 pc 00000000004ebe4c /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (jami::ScheduledExecutor::ScheduledExecutor()::$_0::operator()() const) (SourceCode: /var/lib/jenkins/workspace/packaging-deploy-android-pipeline/ring-project/client-android/../daemon/src/scheduled_executor.cpp:28)
#00 pc 00000000004ebe4c /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (decltype(std::__ndk1::forward<jami::ScheduledExecutor::ScheduledExecutor()::$_0>(fp)()) std::__ndk1::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::$_0>(jami::ScheduledExecutor::ScheduledExecutor()::$_0&&)) (SourceCode: /opt/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/type_traits:3501)
#00 pc 00000000004ebe4c /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (void std::__ndk1::__thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::ScheduledExecutor::ScheduledExecutor()::$_0>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, jami::ScheduledExecutor::ScheduledExecutor()::$_0>&, std::__ndk1::__tuple_indices<>)) (SourceCode: /opt/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/thread:273)
#00 pc 00000000004ebe4c /data/app/cx.ring-fYiPHgXqCFheTgkGXo7xxg==/lib/arm64/libring.so (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::ScheduledExecutor::ScheduledExecutor()::$_0> >(void*)) (SourceCode: /opt/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/thread:283)
#00 pc 00000000000671b8 /system/lib64/libc.so (__pthread_start(void*)+36)
#00 pc 000000000001eee4 /system/lib64/libc.so (__start_thread+68)`
```Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/434UPNP/NAT-PMP - Enable NAT-PMP on Android2023-09-29T09:59:34ZMohamed ChibaniUPNP/NAT-PMP - Enable NAT-PMP on AndroidBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/433x264 contrib doesn't build on Debian 92021-02-09T17:54:38ZMaxim Cournoyerx264 contrib doesn't build on Debian 9The nasm version is too old on Debian 9 for our current version of x264, whose build fails with:
```
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
```The nasm version is too old on Debian 9 for our current version of x264, whose build fails with:
```
Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.
```Maxim CournoyerMaxim Cournoyerhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/432UPNP/ICE/TCP - ICE/TCP connection using relay should be reset if a UPNP/NAT-P...2021-12-29T19:21:54ZMohamed ChibaniUPNP/ICE/TCP - ICE/TCP connection using relay should be reset if a UPNP/NAT-PMP is availableBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/431ASAN crash in tls_session2021-02-11T00:20:24ZSébastien BlinASAN crash in tls_session```
[1612800089.886|61512|ice_transport.cpp :763 ] [ice:0x627000261100]: Setup default candidates
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_tr...```
[1612800089.886|61512|ice_transport.cpp :763 ] [ice:0x627000261100]: Setup default candidates
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_transport.cpp :888 ] [ice:0x627000261100]: Add generic local reflexive candidates [172.16.21.46:9 : 208.88.110.46:9] for comp 1
[1612800089.886|61512|ice_transport.cpp :753 ] [ice:0x627000261100] added host stun config for TCP transport
[1612800089.886|61512|ice_transport.cpp :289 ] [ice (TCP)] added turn server '158.69.203.11', port 3478
[1612800089.895|62703|sip_utils.cpp :252 ] Registered thread 0x7f6dd193c4f8 (0x3F01D)
[1612800089.928|61471|ice_transport.cpp :1467 ] [ice:0x627000081900] ice send failed: Ignored (PJ_EIGNORED)
[1612800089.928|62270|tls_session.cpp :1675 ] [TLS] fatal error in recv: The TLS connection was non-properly terminated.
[1612800089.928|62262|tls_session.cpp :1532 ] [TLS] shutdown
[1612800089.928|62262|ice_transport.cpp :1467 ] [ice:0x627000081900] ice send failed: Ignored (PJ_EIGNORED)
[1612800089.928|62262|tls_session.cpp :903 ] [TLS] transport failure on tx: errno = 5
AddressSanitizer:DEADLYSIGNAL
=================================================================
==258077==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000694 (pc 0x7f6e3292ce44 bp 0x7f6e2d9f9090 sp 0x7f6e2d9f8a08 T1)
==258077==The signal is caused by a WRITE memory access.
==258077==Hint: address points to the zero page.
#0 0x7f6e3292ce43 in gnutls_transport_set_errno (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x76e43)
#1 0x557f564ef0e3 in jami::tls::TlsSession::TlsSessionImpl::sendRaw(void const*, unsigned long) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:902
#2 0x557f564ef41a in jami::tls::TlsSession::TlsSessionImpl::sendRawVec(iovec const*, int) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:915
#3 0x557f564e9a8e in operator() /home/sblin/ring-project/daemon/src/security/tls_session.cpp:607
#4 0x557f564e9abf in _FUN /home/sblin/ring-project/daemon/src/security/tls_session.cpp:608
#5 0x7f6e328f0ea8 (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x3aea8)
#6 0x7f6e328e7240 (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x31240)
#7 0x7f6e328ea68f in gnutls_record_send2 (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x3468f)
#8 0x557f564ee6a3 in jami::tls::TlsSession::TlsSessionImpl::send(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:854
#9 0x557f564f6ce7 in jami::tls::TlsSession::write(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/security/tls_session.cpp:1632
#10 0x557f5628b2da in jami::TlsSocketEndpoint::write(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/peer_connection.cpp:366
#11 0x557f55fc3bd7 in jami::MultiplexedSocket::write(unsigned short const&, unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:471
#12 0x557f55fc5ec6 in jami::ChannelSocket::write(unsigned char const*, unsigned long, std::error_code&) /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:679
#13 0x557f565e08e6 in jami::tls::ChanneledSIPTransport::send(pjsip_tx_data*, void const*, int, void*, void (*)(pjsip_transport*, void*, long)) /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:298
#14 0x557f565dc2e3 in operator() /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:103
#15 0x557f565dc335 in _FUN /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:104
#16 0x557f566f81b2 in pjsip_transport_send (/home/sblin/ring-project/daemon/bin/dring+0xf781b2)
#17 0x557f566f24d8 in stateless_send_transport_cb (/home/sblin/ring-project/daemon/bin/dring+0xf724d8)
#18 0x557f566f2839 in stateless_send_resolver_callback (/home/sblin/ring-project/daemon/bin/dring+0xf72839)
#19 0x557f566f6087 in pjsip_resolve (/home/sblin/ring-project/daemon/bin/dring+0xf76087)
#20 0x557f566f4525 in pjsip_endpt_send_request_stateless (/home/sblin/ring-project/daemon/bin/dring+0xf74525)
#21 0x557f56704600 in tsx_send_msg (/home/sblin/ring-project/daemon/bin/dring+0xf84600)
#22 0x557f56704911 in tsx_on_state_null (/home/sblin/ring-project/daemon/bin/dring+0xf84911)
#23 0x557f56707d2e in pjsip_tsx_send_msg (/home/sblin/ring-project/daemon/bin/dring+0xf87d2e)
#24 0x557f5670a327 in pjsip_dlg_send_request (/home/sblin/ring-project/daemon/bin/dring+0xf8a327)
#25 0x557f560808a8 in jami::im::sendSipMessage(pjsip_inv_session*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) /home/sblin/ring-project/daemon/src/im/instant_messaging.cpp:167
[1612800090.220|62703|ice_transport.cpp :561 ] [ice:0x627000261100] TCP initialization success
[1612800090.220|62703|ice_transport.cpp :623 ] [ice:0x627000261100] as master
[1612800090.220|62703|ice_transport.cpp :729 ] [ice:0x627000261100] (local) ufrag=1ca60700, pwd=549c8e553e8b102d45c70f4a
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hc0a80252 1 TCP 2130706431 192.168.2.82 65301 typ host tcptype passive
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hc0a80252 1 TCP 2130706175 192.168.2.82 9 typ host tcptype active
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hd0b6f662 1 TCP 2130706431 fe80::aede:48ff:fe00:1122 65302 typ host tcptype passive
[1612800090.220|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hd0b6f662 1 TCP 2130706175 fe80::aede:48ff:fe00:1122 9 typ host tcptype active
[1612800090.221|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Sc0a80252 1 TCP 1694498303 184.144.159.132 9 typ srflx tcptype active
[1612800090.221|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Hc0a80252 1 TCP 2130706431 192.168.2.82 9 typ host tcptype active
[1612800090.221|62201|ice_transport.cpp :1572 ] Add remote ICE candidate: Rc0fc8cec 1 TCP 16777215 192.252.140.236 10452 typ relay tcptype passive
[1612800090.221|62201|ice_transport.cpp :1075 ] [ice:0x627000261100] negotiation starting (7 remote candidates)
[1612800090.221|62201|connectionmanager.cpp:585 ] [Account e77342fdc0671835] [CNX] connection accepted, DHT reply to d5e472a00e9bce0e716054efda72f46fb3092817
#26 0x557f56342ec7 in jami::SIPCall::sendTextMessage(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:943
#27 0x557f56160688 in operator() /home/sblin/ring-project/daemon/src/conference.cpp:293
#28 0x557f5616a676 in operator() /home/sblin/ring-project/daemon/src/manager.h:975
#29 0x557f5616c070 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#30 0x557f55cd7c3b in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#31 0x557f562be79d in jami::ScheduledExecutor::loop() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:124
#32 0x557f562bccb4 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:28
#33 0x557f562c13dd in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60
#34 0x557f562c1392 in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95
#35 0x557f562c133f in _M_invoke<0> /usr/include/c++/9/thread:244
#36 0x557f562c1315 in operator() /usr/include/c++/9/thread:251
#37 0x557f562c12f9 in _M_run /usr/include/c++/9/thread:195
#38 0x7f6e320f8d83 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6d83)
#39 0x7f6e3271b608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
#40 0x7f6e31de6292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/lib/x86_64-linux-gnu/libgnutls.so.30+0x76e43) in gnutls_transport_set_errno
Thread T1 created by T0 here:
#0 0x7f6e32d16805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f6e320f9048 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd7048)
#2 0x557f562bcf1c in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
#3 0x557f561a69ae in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/sblin/ring-project/daemon/src/manager.cpp:451
#4 0x557f561aa13e in jami::Manager::Manager() /home/sblin/ring-project/daemon/src/manager.cpp:730
#5 0x557f561a9f05 in jami::Manager::instance() /home/sblin/ring-project/daemon/src/manager.cpp:706
#6 0x557f55d05ccd in DRing::init(DRing::InitFlag) /home/sblin/ring-project/daemon/src/ring_api.cpp:57
#7 0x557f55bdb71f in DBusClient::initLibrary(int) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:245
#8 0x557f55bd02a1 in DBusClient::DBusClient(int, bool) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:108
#9 0x557f55bcf9af in void __gnu_cxx::new_allocator<DBusClient>::construct<DBusClient, int&, bool&>(DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44f9af)
#10 0x557f55bcf773 in void std::allocator_traits<std::allocator<DBusClient> >::construct<DBusClient, int&, bool&>(std::allocator<DBusClient>&, DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44f773)
#11 0x557f55bcf3a4 in std::_Sp_counted_ptr_inplace<DBusClient, std::allocator<DBusClient>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<int&, bool&>(std::allocator<DBusClient>, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44f3a4)
#12 0x557f55bced6a in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<DBusClient, std::allocator<DBusClient>, int&, bool&>(DBusClient*&, std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44ed6a)
#13 0x557f55bce8bd in std::__shared_ptr<DBusClient, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44e8bd)
#14 0x557f55bcdd7e in std::shared_ptr<DBusClient>::shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44dd7e)
#15 0x557f55bcd2ae in std::shared_ptr<DBusClient> std::allocate_shared<DBusClient, std::allocator<DBusClient>, int&, bool&>(std::allocator<DBusClient> const&, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44d2ae)
#16 0x557f55bcc8de in std::shared_ptr<DBusClient> std::make_shared<DBusClient, int&, bool&>(int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x44c8de)
#17 0x557f55bcb651 in main /home/sblin/ring-project/daemon/bin/main.cpp:218
#18 0x7f6e31ceb0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
==258077==ABORTING
✘ sblin@sblin-pbody ~/ring-project/daemon master
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/430macOs/Daemon - Account can not re-register to DHT using the same port2021-12-29T20:34:12ZSébastien BlinmacOs/Daemon - Account can not re-register to DHT using the same portOn macOs, registering the account to the DHT sometimes fail with "Address already in use".
The client/system seems to fail to close the DHT socket, or does not close it fast enough.On macOs, registering the account to the DHT sometimes fail with "Address already in use".
The client/system seems to fail to close the DHT socket, or does not close it fast enough.Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/429Question: possible reliability issues2021-08-17T20:11:48ZArtemy GavrelyukQuestion: possible reliability issuesHi!
I'm a huge Jami enthusiast, but I'm struggling with a big problems with sending and receiving messages. So I've spent a couple of days at reading the docs and trying to investigate the problem using adb and own TURN-server logs.
I'm...Hi!
I'm a huge Jami enthusiast, but I'm struggling with a big problems with sending and receiving messages. So I've spent a couple of days at reading the docs and trying to investigate the problem using adb and own TURN-server logs.
I'm a completely newbie to the OpenDHT, TURN and Jami, so it's a little bit hard to get everything right so fast for me. I have some suggestions about the potential cause of my problems, so I ask for your help with clarification on how Jami works.
**Given:**
Alice and Bob want to communicate. Both of them are behind the NAT, so they have to use TURN.
Both Alice and Bob periodically announce their public IP-addresses to the OpenDHT, let's call this periods `t_an_a` and `t_an_b` respectively. So, I guess, it looks like:
```
Alice --> TURN_a : gets a public address and port
Bob --> TURN_b : gets a public address and port
Alice --> DHT_node_x : publish her public address and port
Bob --> DHT_node_y : publish his public address and port
```
DHT nodes are replicating to each other, so there's a potential little lag.
Further Alice wants to message Bob, so she has to discover Bob's addresses in the OpenDHT and then connect to him and send message
```
Alice --> DHT_node_1 : where's Bob's address?
Alice <-- DHT_node_1 : it's at DHT_node_2
Alice --> DHT_node_2 : gets Bob's address
Alice --> (TURN_b) --> Bob : sends the message
```
But, as I understand, TURN sessions have a limited lifetime, let's call it `t_tu_b` for Bob. So, if `t_an_b > t_tu_b`, it may cause the next situation:
```
Bob --> TURN_b : gets a public address and port
Bob --> DHT_node_y : publish his address and port
Alice --> DHT_node_1 : where's Bob's address?
Alice <-- DHT_node_1 : it's at DHT_node_2
Bob <-- TURN_b : session expired
Bob --> TURN_b : makes a new connection with a new port
Bob --> DHT_node_y : publish his address and a new port
Alice --> DHT_node_2 : gets Bob's address and _old_ port
Alice --> (TURN_b) : tries to connect to the closed old port
Alice <-- (TURN_b) : connection refused
_REPEAT_
```
**Questions:**
* what are my mistakes in the understanding of the Jami mechanism?
* if I am close to the truth, how is this situation mitigated? Can it be a real problem?