jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2020-07-29T18:06:13Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/271Sound & Conference: jerky sound when mixing2020-07-29T18:06:13ZSébastien BlinSound & Conference: jerky sound when mixing**TODO** I am investigating this to understand what's the real problem**TODO** I am investigating this to understand what's the real problemItération 20Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/269[POC] Account with mixing options2020-08-13T17:33:01ZSébastien Blin[POC] Account with mixing options2 users, 1 leave = freeze
mixer hears everything2 users, 1 leave = freeze
mixer hears everythingItération 20Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/266Add RTP packet pacer2020-09-04T19:14:39ZMohamed ChibaniAdd RTP packet pacerExperiments showed that some network links are sensitive to transmission bursts which cause packet losses. Currently, encoded media (audio/video) are sent on the network as soon as they are delivered by the encoders. For instance, when a...Experiments showed that some network links are sensitive to transmission bursts which cause packet losses. Currently, encoded media (audio/video) are sent on the network as soon as they are delivered by the encoders. For instance, when a video encoder delivers key-frames, the RTP sender will typically receive many RTP packets representing a single frame, which will cause a transmission burst if sent as they arrive.
The purpose of this item is to design and implement a transmission pacer to flatten the bitrate curve in order to reduce packet losses caused by transmission bursts. The pacer will limit the rate at which the RPT packets are sent. The pacer will obviously add some delay but its impact should not be noticeable.Itération 20Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/239[daemon/ios]iPad stuck during long minutes2020-09-04T19:09:50ZSébastien Blin[daemon/ios]iPad stuck during long minutesRelated to https://git.jami.net/savoirfairelinux/ring-daemon/issues/227
# Observations
Making calls to an ipad device. The connection is generally made without issue. But sometimes, the device is just not answering to any request durin...Related to https://git.jami.net/savoirfairelinux/ring-daemon/issues/227
# Observations
Making calls to an ipad device. The connection is generally made without issue. But sometimes, the device is just not answering to any request during 10/15 minutes. Then it works like before
# Hypotheses
+ Don't receive anything from the proxy during X minutes?
+ Daemon locked?Itération 20Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/265video_mixer: do not use camera resolution as width/height2020-11-03T23:46:21ZSébastien Blinvideo_mixer: do not use camera resolution as width/height# Reproduce steps
1. Set camera to low resolution (160x120)
2. Create a conference with high res medias
# Expected result
The conference should get a correct video
# Actual result
The whole grid is 160x120, resulting in hideous videos# Reproduce steps
1. Set camera to low resolution (160x120)
2. Create a conference with high res medias
# Expected result
The conference should get a correct video
# Actual result
The whole grid is 160x120, resulting in hideous videosIteration 22Sébastien BlinPierre LespagnolSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/343multi device & file transfer.2020-11-10T20:48:59ZSébastien Blinmulti device & file transfer.# Scenario
+ A got 2 devices
+ B sends a file to A
# Expected
A should receives the file on both devices
# Current
One device is cut when the other one received the whole file# Scenario
+ A got 2 devices
+ B sends a file to A
# Expected
A should receives the file on both devices
# Current
One device is cut when the other one received the whole fileIteration 22Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/341Still some ice nego failures2020-11-09T17:10:15ZSébastien BlinStill some ice nego failuresIteration 22Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/338Add DRing API to control conference moderators2020-11-12T15:45:46ZAdrien BéraudAdd DRing API to control conference moderatorsIteration 22Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/352camera stays open after a call disconnects2020-11-23T22:14:20ZAdrien Béraudcamera stays open after a call disconnectsIteration 23Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/347Use keep alive mechanism to auto re-register sip account2020-11-19T16:31:25ZMing Rui ZhangUse keep alive mechanism to auto re-register sip accountIteration 23Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/346Use outbound proxy server address when it is specified2021-02-22T21:57:03ZMing Rui ZhangUse outbound proxy server address when it is specifiedCurrently, the proxy address in the SIP client does not have an impact,
when the user specifies that, it should use that address as the destination addressCurrently, the proxy address in the SIP client does not have an impact,
when the user specifies that, it should use that address as the destination addressIteration 23Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/339When the Jami android app uses a "DHT proxy" host-name different than the def...2020-11-25T15:59:10ZCarloWhen the Jami android app uses a "DHT proxy" host-name different than the default one it does not connect.Bug report
---------------
## Test environment
Android mobile setup:
- Ring version: 20190706-01
- Device model:
- Android version: 7.0
- What build you are using: Play Store
## Steps to reproduce
- Can you reproduce the...Bug report
---------------
## Test environment
Android mobile setup:
- Ring version: 20190706-01
- Device model:
- Android version: 7.0
- What build you are using: Play Store
## Steps to reproduce
- Can you reproduce the bug: yes at will.
The Jami app default/preset proxy server connection string is "dhtproxy.jami.net:[80-100]", with [80-100] being a range of possible service ports .
- Steps:
1. The current IP address of of dhtproxy.jami.net resolved with nslookup is 54.36.178.20 .
2. Enabling the use of "dhtproxy.jami.net:[80-100]" the jami account goes online correctly.
3. Making a traceroute --resolve-hostnames dhtproxy.jami.net, on a Linux host, I get at the end of the trace list a name alias of the same ip (54.36.178.20) "ns3102173.ip-54-36-178.eu". I can make the same using an app ("Ping & Net") directly on the mobile and I obtain the same results.
4. Using nslookup I verify that the two host names dhtproxy.jami.net and ns3102173.ip-54-36-178.eu resolve to the same ip : 54.36.178.20 . Also on the Android mobile I obtain the same results using the app "Ping & Net".
5. If on the android mobile I point Firefox to the url http://dhtproxy.jami.net or to http://ns3102173.ip-54-36-178.eu I get the same dhtproxy report JSON text: this means that the two host names can be used to open at least the same port 80 \`web page\`.
6. In the Jami application I substituted the dafault/preset host namedhtproxy.jami.net with it's alias ns3102173.ip-54-36-178.eu, I obtain the connection string "ns3102173.ip-54-36-178.eu:[80-100]"; doing so the Jami account no more connects. It seems quite that "the application" is not resolving the IP address for the new host name or it cuts out any other server name to use/resolve different than dhtproxy.jami.net.
7. Using directly the ip address in the connection string makes Jami to connect : "54.36.178.20:[80-100]" .
- Actual result: the Jami Android OS app does not connect to a "DHT proxy" string that has a literal hostname different than "dhtproxy.jami.net". It does connect if the "DHT proxy" is identified using its IP address .
- Expected result: the the Jami Android OS app should connect with any "DHT proxy" using in the connection string its DNS name to be resolved.
## Additional information
I encountered this bug verifying the connection to an OpenDHT (dhtnode) instance I setup; using this setup the Jami app connects to the "DHT proxy" from the Internet only when using the the IP host number in the connection string.
OpenDHT instance, compiled from source baseline version 1.10.0 (https://github.com/savoirfairelinux/opendht.git), running on Linux OS.Iteration 23Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/359ASAN: double free on SIPCall::callAVStreams2020-11-27T18:37:46ZSébastien BlinASAN: double free on SIPCall::callAVStreams```
[1606406397.973|59233|manager.cpp :1657 ] [call:7407141028308407] Remove local audio
[1606406397.973|59233|ringbufferpool.cpp:242 ] Unbind call 7407141028308407 from all bound calls
==2090849==ERROR: AddressSanitizer: attempti...```
[1606406397.973|59233|manager.cpp :1657 ] [call:7407141028308407] Remove local audio
[1606406397.973|59233|ringbufferpool.cpp:242 ] Unbind call 7407141028308407 from all bound calls
==2090849==ERROR: AddressSanitizer: attempting double-free on 0x6030000dd2c0 in thread T1:
#0 0x7fc638ccd8df in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x1108df)
#1 0x55a41046a4f3 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >::~pair() /usr/include/c++/9/bits/stl_pair.h:208
#2 0x55a41046a517 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >*) /usr/include/c++/9/ext/new_allocator.h:153
#3 0x55a410468fce 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >*) /usr/include/c++/9/bits/alloc_traits.h:497
#4 0x55a410466566 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*) /usr/include/c++/9/bits/stl_tree.h:642
#5 0x55a4104630c2 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*) /usr/include/c++/9/bits/stl_tree.h:650
#6 0x55a41045f2f1 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915
#7 0x55a410467e6b 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::clear() /usr/include/c++/9/bits/stl_tree.h:1266
#8 0x55a4104654d6 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >) /usr/include/c++/9/bits/stl_tree.h:2522
#9 0x55a410460a16 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/home/sblin/ring-project/daemon/bin/dring+0xad0a16)
#10 0x55a41045d6d4 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:1068
#11 0x55a4104463ca in jami::SIPCall::stopAllMedia() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1255
#12 0x55a410440f5d in jami::SIPCall::peerHungup() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:837
#13 0x55a4102b6644 in jami::Manager::peerHungupCall(jami::Call&) /home/sblin/ring-project/daemon/src/manager.cpp:2063
#14 0x55a410442548 in operator() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:956
#15 0x55a41044d320 in operator() /home/sblin/ring-project/daemon/src/manager.h:964
#16 0x55a410454bf8 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#17 0x55a40fe2d717 in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#18 0x55a4103bf469 in jami::ScheduledExecutor::loop() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:124
#19 0x55a4103bd980 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:28
#20 0x55a4103c20a9 in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60
#21 0x55a4103c205e in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95
#22 0x55a4103c200b in _M_invoke<0> /usr/include/c++/9/thread:244
#23 0x55a4103c1fe1 in operator() /usr/include/c++/9/thread:251
#24 0x55a4103c1fc5 in _M_run /usr/include/c++/9/thread:195
#25 0x7fc63642dd83 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6d83)
#26 0x7fc63838c608 in start_thread /build/glibc-ZN95T4/glibc-2.31/nptl/pthread_create.c:477
#27 0x7fc63611b292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
0x6030000dd2c0 is located 0 bytes inside of 18-byte region [0x6030000dd2c0,0x6030000dd2d2)
freed by thread T0 here:
#0 0x7fc638ccd8df in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x1108df)
#1 0x55a41046a4f3 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >::~pair() /usr/include/c++/9/bits/stl_pair.h:208
#2 0x55a41046a517 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >*) /usr/include/c++/9/ext/new_allocator.h:153
#3 0x55a410468fce 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >*) /usr/include/c++/9/bits/alloc_traits.h:497
#4 0x55a410466566 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*) /usr/include/c++/9/bits/stl_tree.h:642
#5 0x55a4104630c2 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*) /usr/include/c++/9/bits/stl_tree.h:650
#6 0x55a41045f2f1 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*) /usr/include/c++/9/bits/stl_tree.h:1915
#7 0x55a410467e6b 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::clear() /usr/include/c++/9/bits/stl_tree.h:1266
#8 0x55a4104654d6 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >) /usr/include/c++/9/bits/stl_tree.h:2522
#9 0x55a410460a16 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/home/sblin/ring-project/daemon/bin/dring+0xad0a16)
#10 0x55a41045d6d4 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:1068
#11 0x55a4104463ca in jami::SIPCall::stopAllMedia() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1255
#12 0x55a410440422 in jami::SIPCall::hold() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:739
#13 0x55a4104403b4 in jami::SIPCall::onhold(std::function<void (bool)>&&) /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:725
#14 0x55a4102a8c5e in jami::Manager::onHoldCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sblin/ring-project/daemon/src/manager.cpp:1094
#15 0x55a40fe5c8d1 in DRing::hold(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sblin/ring-project/daemon/src/client/callmanager.cpp:99
#16 0x55a40fdddeb1 in DBusCallManager::hold(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sblin/ring-project/daemon/bin/dbus/dbuscallmanager.cpp:62
#17 0x55a40fde51ed in cx::ring::Ring::CallManager_adaptor::_hold_stub(DBus::CallMessage const&) /home/sblin/ring-project/daemon/bin/dbus/dbuscallmanager.adaptor.h:855
#18 0x55a40fdeec89 in DBus::Callback<cx::ring::Ring::CallManager_adaptor, DBus::Message, DBus::CallMessage const&>::call(DBus::CallMessage const&) const /home/sblin/ring-project/daemon/contrib/x86_64-linux-gnu/include/dbus-c++-1/dbus-c++/util.h:283
#19 0x55a40fe32cf9 in DBus::InterfaceAdaptor::dispatch_method(DBus::CallMessage const&) (/home/sblin/ring-project/daemon/bin/dring+0x4a2cf9)
#20 0x6150000130c7 (<unknown module>)
previously allocated by thread T1 here:
#0 0x7fc638ccc947 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
#1 0x55a40fed6453 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/include/c++/9/bits/basic_string.tcc:219
#2 0x55a41046cae9 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 0ul>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) /usr/include/c++/9/tuple:1674
#3 0x55a41046be1b in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::piecewise_construct_t, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<>) (/home/sblin/ring-project/daemon/bin/dring+0xadbe1b)
#4 0x55a41046ae42 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >*, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) (/home/sblin/ring-project/daemon/bin/dring+0xadae42)
#5 0x55a4104696db 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > > >::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >*, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) (/home/sblin/ring-project/daemon/bin/dring+0xad96db)
#6 0x55a410466bb9 in void 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_construct_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >*, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) (/home/sblin/ring-project/daemon/bin/dring+0xad6bb9)
#7 0x55a4104636bf in std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >* 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) (/home/sblin/ring-project/daemon/bin/dring+0xad36bf)
#8 0x55a41045fa69 in std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > 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, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) (/home/sblin/ring-project/daemon/bin/dring+0xacfa69)
#9 0x55a41045cb13 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> >, 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::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > > > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/home/sblin/ring-project/daemon/bin/dring+0xaccb13)
#10 0x55a410439fc9 in jami::SIPCall::createCallAVStream(StreamData const&, jami::Observable<std::shared_ptr<DRing::MediaFrame> >&, std::shared_ptr<jami::PublishMapSubject<std::shared_ptr<DRing::MediaFrame>, AVFrame*> > const&) /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:165
#11 0x55a410439be8 in jami::SIPCall::createCallAVStreams() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:154
#12 0x55a410445bdf in jami::SIPCall::startAllMedia() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1227
#13 0x55a41044771d in operator() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1382
#14 0x55a410452700 in _M_invoke /usr/include/c++/9/bits/std_function.h:285
#15 0x55a410339fdf in std::function<bool ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#16 0x55a4103c22bf in jami::RepeatedTask::run() /home/sblin/ring-project/daemon/src/scheduled_executor.h:76
#17 0x55a4103be706 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:87
#18 0x55a4103c1a29 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#19 0x55a40fe2d717 in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#20 0x55a4103c216b in jami::Task::run() /home/sblin/ring-project/daemon/src/scheduled_executor.h:55
#21 0x55a4103bec10 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:98
#22 0x55a4103c0e86 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#23 0x55a40fe2d717 in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#24 0x55a4103bf469 in jami::ScheduledExecutor::loop() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:124
#25 0x55a4103bd980 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:28
#26 0x55a4103c20a9 in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60
#27 0x55a4103c205e in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95
#28 0x55a4103c200b in _M_invoke<0> /usr/include/c++/9/thread:244
#29 0x55a4103c1fe1 in operator() /usr/include/c++/9/thread:251
Thread T1 created by T0 here:
#0 0x7fc638bf7805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7fc63642e048 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 0x55a4103bdbe8 in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
#3 0x55a4102a1296 in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/sblin/ring-project/daemon/src/manager.cpp:447
#4 0x55a4102a4a26 in jami::Manager::Manager() /home/sblin/ring-project/daemon/src/manager.cpp:726
#5 0x55a4102a47ed in jami::Manager::instance() /home/sblin/ring-project/daemon/src/manager.cpp:702
#6 0x55a40fe5b7ad in DRing::init(DRing::InitFlag) /home/sblin/ring-project/daemon/src/ring_api.cpp:57
#7 0x55a40fd34c1f in DBusClient::initLibrary(int) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:245
#8 0x55a40fd297a1 in DBusClient::DBusClient(int, bool) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:108
#9 0x55a40fd28eaf in void __gnu_cxx::new_allocator<DBusClient>::construct<DBusClient, int&, bool&>(DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x398eaf)
#10 0x55a40fd28c73 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+0x398c73)
#11 0x55a40fd288a4 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+0x3988a4)
#12 0x55a40fd2826a 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+0x39826a)
#13 0x55a40fd27dbd 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+0x397dbd)
#14 0x55a40fd2727e 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+0x39727e)
#15 0x55a40fd267ae 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+0x3967ae)
#16 0x55a40fd25dde in std::shared_ptr<DBusClient> std::make_shared<DBusClient, int&, bool&>(int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x395dde)
#17 0x55a40fd24b51 in main /home/sblin/ring-project/daemon/bin/main.cpp:218
#18 0x7fc6360200b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
SUMMARY: AddressSanitizer: double-free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x1108df) in operator delete(void*)
==2090849==ABORTING
```Iteration 24Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/355ASAN issue on SDP2020-12-01T18:55:05ZSébastien BlinASAN issue on SDP```
=================================================================
==1914124==ERROR: AddressSanitizer: heap-use-after-free on address 0x61900074d460 at pc 0x55b7feb157df bp 0x7f2bedcfae40 sp 0x7f2bedcfae30
READ of size 4 at 0x61900074...```
=================================================================
==1914124==ERROR: AddressSanitizer: heap-use-after-free on address 0x61900074d460 at pc 0x55b7feb157df bp 0x7f2bedcfae40 sp 0x7f2bedcfae30
READ of size 4 at 0x61900074d460 thread T1
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#0 0x55b7feb157de in jami::Sdp::getIceCandidates[abi:cxx11](unsigned int) const /home/sblin/ring-project/daemon/src/sip/sdp.cpp:740
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#1 0x55b7feb7e12f in operator() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1047
#2 0x55b7feb7e67e in jami::SIPCall::getAllRemoteCandidates() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1060
#3 0x55b7feb82262 in operator() /home/sblin/ring-project/daemon/src/sip/sipcall.cpp:1346
#4 0x55b7feb8cf67 in _M_invoke /usr/include/c++/9/bits/std_function.h:285
#5 0x55b7fea7452f in std::function<bool ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#6 0x55b7feafc80f in jami::RepeatedTask::run() /home/sblin/ring-project/daemon/src/scheduled_executor.h:76
#7 0x55b7feaf8c56 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:87
#8 0x55b7feafbf79 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#9 0x55b7fe56c807 in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#10 0x55b7feafc6bb in jami::Task::run() /home/sblin/ring-project/daemon/src/scheduled_executor.h:55
#11 0x55b7feaf9160 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:98
#12 0x55b7feafb3d6 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#13 0x55b7fe56c807 in std::function<void ()>::operator()() const /usr/include/c++/9/bits/std_function.h:688
#14 0x55b7feaf99b9 in jami::ScheduledExecutor::loop() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:124
#15 0x55b7feaf7ed0 in operator() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:28
#16 0x55b7feafc5f9 in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:60
#17 0x55b7feafc5ae in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/9/bits/invoke.h:95
#18 0x55b7feafc55b in _M_invoke<0> /usr/include/c++/9/thread:244
#19 0x55b7feafc531 in operator() /usr/include/c++/9/thread:251
#20 0x55b7feafc515 in _M_run /usr/include/c++/9/thread:195
#21 0x7f2bfc44bd83 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6d83)
#22 0x7f2bfe3a9608 in start_thread /build/glibc-ZN95T4/glibc-2.31/nptl/pthread_create.c:477
#23 0x7f2bfc139292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)
0x61900074d460 is located 736 bytes inside of 1024-byte region [0x61900074d180,0x61900074d580)
freed by thread T1005 here:
#0 0x7f2bfece77cf in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf)
#1 0x55b7fef7f1d2 in pj_pool_destroy_int (/home/sblin/ring-project/daemon/bin/dring+0xead1d2)
previously allocated by thread T1005 here:
#0 0x7f2bfece7bc8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
#1 0x55b7fef77d27 in default_block_alloc (/home/sblin/ring-project/daemon/bin/dring+0xea5d27)
Thread T1 created by T0 here:
#0 0x7f2bfec14805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f2bfc44c048 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 0x55b7feaf8138 in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#3 0x55b7fe9db7e6 in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/sblin/ring-project/daemon/src/manager.cpp:447
#4 0x55b7fe9def76 in jami::Manager::Manager() /home/sblin/ring-project/daemon/src/manager.cpp:726
#5 0x55b7fe9ded3d in jami::Manager::instance() /home/sblin/ring-project/daemon/src/manager.cpp:702
#6 0x55b7fe59a89d in DRing::init(DRing::InitFlag) /home/sblin/ring-project/daemon/src/ring_api.cpp:57
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#7 0x55b7fe473d0f in DBusClient::initLibrary(int) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:245
#8 0x55b7fe468891 in DBusClient::DBusClient(int, bool) /home/sblin/ring-project/daemon/bin/dbus/dbusclient.cpp:108
#9 0x55b7fe467f9f in void __gnu_cxx::new_allocator<DBusClient>::construct<DBusClient, int&, bool&>(DBusClient*, int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x395f9f)
#10 0x55b7fe467d63 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+0x395d63)
#11 0x55b7fe467994 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+0x395994)
#12 0x55b7fe46735a 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+0x39535a)
#13 0x55b7fe466ead 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+0x394ead)
#14 0x55b7fe46636e 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+0x39436e)
#15 0x55b7fe46589e 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+0x39389e)
#16 0x55b7fe464ece in std::shared_ptr<DBusClient> std::make_shared<DBusClient, int&, bool&>(int&, bool&) (/home/sblin/ring-project/daemon/bin/dring+0x392ece)
#17 0x55b7fe463c41 in main /home/sblin/ring-project/daemon/bin/main.cpp:218
#18 0x7f2bfc03e0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
Thread T1005 created by T26 here:
#0 0x7f2bfec14805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f2bfc44c048 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 0x55b7feaf8138 in jami::ScheduledExecutor::ScheduledExecutor() /home/sblin/ring-project/daemon/src/scheduled_executor.cpp:29
#3 0x55b7fee0255b in jami::tls::ChanneledSIPTransport::ChanneledSIPTransport(pjsip_endpoint*, int, std::shared_ptr<jami::ChannelSocket> const&, jami::IpAddr const&, jami::IpAddr const&, std::function<void ()>&&) /home/sblin/ring-project/daemon/src/jamidht/channeled_transport.cpp:46
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#4 0x55b7febc0133 in std::_MakeUniq<jami::tls::ChanneledSIPTransport>::__single_object std::make_unique<jami::tls::ChanneledSIPTransport, pjsip_endpoint*&, pjsip_transport_type_e&, std::shared_ptr<jami::ChannelSocket> const&, jami::IpAddr&, jami::IpAddr&, std::function<void ()> >(pjsip_endpoint*&, pjsip_transport_type_e&, std::shared_ptr<jami::ChannelSocket> const&, jami::IpAddr&, jami::IpAddr&, std::function<void ()>&&) /usr/include/c++/9/bits/unique_ptr.h:857
#5 0x55b7febbafd2 in jami::SipTransportBroker::getChanneledTransport(std::shared_ptr<jami::ChannelSocket> const&, std::function<void ()>&&) /home/sblin/ring-project/daemon/src/sip/siptransport.cpp:452
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#6 0x55b7fe6e2e01 in jami::JamiAccount::cacheSIPConnection(std::shared_ptr<jami::ChannelSocket>&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, dht::Hash<20ul> const&) /home/sblin/ring-project/daemon/src/jamidht/jamiaccount.cpp:3776
#7 0x55b7fe6be1cd in operator() /home/sblin/ring-project/daemon/src/jamidht/jamiaccount.cpp:2229
#8 0x55b7fe6f809e in _M_invoke /usr/include/c++/9/bits/std_function.h:300
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#9 0x55b7fee32f69 in std::function<void (dht::Hash<20ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<jami::ChannelSocket>)>::operator()(dht::Hash<20ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<jami::ChannelSocket>) const /usr/include/c++/9/bits/std_function.h:688
#10 0x55b7fee1b62a in operator() /home/sblin/ring-project/daemon/src/jamidht/connectionmanager.cpp:774
#11 0x55b7fee233eb in _M_invoke /usr/include/c++/9/bits/std_function.h:300
[mjpeg @ 0x6190002b4380] unable to decode APP fields: Invalid data found when processing input
#12 0x55b7fe84fe28 in std::function<void (dht::Hash<20ul> const&, std::shared_ptr<jami::ChannelSocket> const&)>::operator()(dht::Hash<20ul> const&, std::shared_ptr<jami::ChannelSocket> const&) const /usr/include/c++/9/bits/std_function.h:688
#13 0x55b7fe841fe4 in operator() /home/sblin/ring-project/daemon/src/jamidht/multiplexed_socket.cpp:267
#14 0x55b7fe848508 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
#15 0x55b7fefbd369 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::ThreadPool::run(std::function<void ()>&&)::{lambda()#1}> > >::_M_run() (/home/sblin/ring-project/daemon/bin/dring+0xeeb369)
#16 0x7f2b8309c507 (<unknown module>)
Thread T26 created by T0 here:
#0 0x7f2bfec14805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
#1 0x7f2bfc44c048 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 0x62300004f8e7 (<unknown module>)
SUMMARY: AddressSanitizer: heap-use-after-free /home/sblin/ring-project/daemon/src/sip/sdp.cpp:740 in jami::Sdp::getIceCandidates[abi:cxx11](unsigned int) const
Shadow bytes around the buggy address:
0x0c32800e1a30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c32800e1a40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c32800e1a50: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c32800e1a60: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c32800e1a70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c32800e1a80: fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd
0x0c32800e1a90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c32800e1aa0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0c32800e1ab0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c32800e1ac0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c32800e1ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==1914124==ABORTING
```Iteration 24Sébastien BlinMohamed ChibaniSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/340Certificate verification and OCSP support on every platform2020-11-27T05:00:52ZAdrien BéraudCertificate verification and OCSP support on every platformIteration 24Adrien BéraudKateryna KostiukAndreas TraczykAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/329Video-conference: Make moderators able to hang up a call2021-01-06T14:55:46ZSébastien BlinVideo-conference: Make moderators able to hang up a callA moderator is only able to change the layout currently, only the host can hang up calls. This needs some change:
+ Add a hangupParticipant API for the daemon which takes the URI of the participant to hang
+ If it's the host, just ha...A moderator is only able to change the layout currently, only the host can hang up calls. This needs some change:
+ Add a hangupParticipant API for the daemon which takes the URI of the participant to hang
+ If it's the host, just hang up the call
+ If not, send to the host of the call a confOrder (https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/6.1.-Conference-Protocol) to ask the host to hang up the call for this participant
+ Clients should show hangup if they are moderatorIteration 25Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/369Swarm: Christmas edition - beta build2021-01-04T20:00:06ZSébastien BlinSwarm: Christmas edition - beta buildIteration 25Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/337allow moderators to hangup a participant2021-01-06T14:55:39ZAdrien Béraudallow moderators to hangup a participantIteration 25Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/384Call: deadlock in SIPCall::SIPSessionReinvite()2021-01-20T15:17:07ZAmirhossein NaghshzanCall: deadlock in SIPCall::SIPSessionReinvite()Just after the peer accepted the call:
```
thread #14, name = 'DRing'
frame #0: 0x00007b569ab2e2a8 libc.so`syscall + 24
frame #1: 0x00007b569ab31f03 libc.so`__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + ...Just after the peer accepted the call:
```
thread #14, name = 'DRing'
frame #0: 0x00007b569ab2e2a8 libc.so`syscall + 24
frame #1: 0x00007b569ab31f03 libc.so`__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 147
frame #2: 0x00007b569ab9cb4d libc.so`NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*) + 541
frame #3: 0x00007b53ade1d6c6 libc++_shared.so`std::__ndk1::recursive_mutex::lock() [inlined] std::__ndk1::__libcpp_recursive_mutex_lock(__m=<unavailable>) at __threading_support:244
frame #4: 0x00007b53ade1d6c1 libc++_shared.so`std::__ndk1::recursive_mutex::lock(this=<unavailable>) at mutex.cpp:71
frame #5: 0x00007b53ae257503 libring.so`std::__ndk1::lock_guard<std::__ndk1::recursive_mutex>::lock_guard(this=0x00007b53b03369b0, __m=0x00007b5518d611b0) at __mutex_base:99
frame #6: 0x00007b53ae626e9a libring.so`jami::SIPCall::~SIPCall(this=0x00007b5518d61100) at sipcall.cpp:112
frame #7: 0x00007b53ae3b6a28 libring.so`std::__ndk1::shared_ptr<jami::SIPCall> jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(this=0x00007b5518d61100)::ConcreteCall::~ConcreteCall() at call_factory.h:89
frame #8: 0x00007b53ae3b63d6 libring.so`std::__ndk1::__shared_ptr_emplace<std::__ndk1::shared_ptr<jami::SIPCall> jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(std::__ndk1::shared_ptr<jami::JamiAccount>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::Call::CallType, std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > const&)::ConcreteCall, std::__ndk1::allocator<std::__ndk1::shared_ptr<jami::SIPCall> jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(std::__ndk1::shared_ptr<jami::JamiAccount>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::Call::CallType, std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > > > const&)::ConcreteCall> >::__on_zero_shared(this=0x00007b5518d610e0) at memory:3581
frame #9: 0x00007b53ae246fdd libring.so`std::__ndk1::__shared_count::__release_shared(this=0x00007b5518d610e0) at memory:3415
frame #10: 0x00007b53ae246f7f libring.so`std::__ndk1::__shared_weak_count::__release_shared(this=0x00007b5518d610e0) at memory:3457
frame #11: 0x00007b53ae263f1c libring.so`std::__ndk1::shared_ptr<jami::SIPCall>::~shared_ptr(this=0x00007b5458d4b208) at memory:4393
frame #12: 0x00007b53ae2e5dc6 libring.so`jami::JamiAccount::onConnectedOutgoingCall(this=0x00007b5458d4b1d8)::$_9::~$_9() at jamiaccount.cpp:664
frame #13: 0x00007b53ae30a855 libring.so`std::__ndk1::__compressed_pair_elem<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, 0, false>::~__compressed_pair_elem(this=0x00007b5458d4b1d8) at memory:2133
frame #14: 0x00007b53ae30a938 libring.so`std::__ndk1::__compressed_pair<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, std::__ndk1::allocator<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9> >::~__compressed_pair(this=0x00007b5458d4b1d8) at memory:2210
frame #15: 0x00007b53ae30b255 libring.so`std::__ndk1::__function::__alloc_func<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, std::__ndk1::allocator<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9>, void (bool)>::destroy(this=0x00007b5458d4b1d8) at functional:1559
frame #16: 0x00007b53ae30a45b libring.so`std::__ndk1::__function::__func<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9, std::__ndk1::allocator<jami::JamiAccount::onConnectedOutgoingCall(std::__ndk1::shared_ptr<jami::SIPCall> const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, jami::IpAddr)::$_9>, void (bool)>::destroy_deallocate(this=0x00007b5458d4b1d0) at functional:1706
frame #17: 0x00007b53ae25630a libring.so`std::__ndk1::__function::__value_func<void (bool)>::~__value_func(this=0x00007b5458d4ce70) at functional:1828
frame #18: 0x00007b53ae253e25 libring.so`std::__ndk1::function<void (bool)>::~function(this=0x00007b5458d4ce70) at functional:2460
frame #19: 0x00007b53ae6305f6 libring.so`jami::SIPCall::initIceMediaTransport(this=0x00007b5458d4ce60)::$_20::~$_20() at sipcall.cpp:1644
frame #20: 0x00007b53ae652285 libring.so`std::__ndk1::__compressed_pair_elem<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, 0, false>::~__compressed_pair_elem(this=0x00007b5458d4ce60) at memory:2133
frame #21: 0x00007b53ae652368 libring.so`std::__ndk1::__compressed_pair<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, std::__ndk1::allocator<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20> >::~__compressed_pair(this=0x00007b5458d4ce60) at memory:2210
frame #22: 0x00007b53ae652c85 libring.so`std::__ndk1::__function::__alloc_func<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, std::__ndk1::allocator<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20>, void (bool)>::destroy(this=0x00007b5458d4ce60) at functional:1559
frame #23: 0x00007b53ae651e8b libring.so`std::__ndk1::__function::__func<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20, std::__ndk1::allocator<jami::SIPCall::initIceMediaTransport(bool, std::__ndk1::optional<jami::IceTransportOptions>, unsigned int)::$_20>, void (bool)>::destroy_deallocate(this=0x00007b5458d4ce50) at functional:1706
frame #24: 0x00007b53ae25630a libring.so`std::__ndk1::__function::__value_func<void (bool)>::~__value_func(this=0x00007b5598d491b0) at functional:1828
frame #25: 0x00007b53ae253e25 libring.so`std::__ndk1::function<void (bool)>::~function(this=0x00007b5598d491b0) at functional:2460
frame #26: 0x00007b53ae58b7fd libring.so`jami::IceTransport::Impl::~Impl(this=0x00007b5598d49170) at ice_transport.cpp:465
frame #27: 0x00007b53ae5a443b libring.so`std::__ndk1::default_delete<jami::IceTransport::Impl>::operator(this=0x00007b5418d5b8b0, __ptr=0x00007b5598d49170)(jami::IceTransport::Impl*) const at memory:2338
frame #28: 0x00007b53ae5a43bf libring.so`std::__ndk1::unique_ptr<jami::IceTransport::Impl, std::__ndk1::default_delete<jami::IceTransport::Impl> >::reset(this=0x00007b5418d5b8b0, __p=0x0000000000000000) at memory:2593
frame #29: 0x00007b53ae597ed9 libring.so`std::__ndk1::unique_ptr<jami::IceTransport::Impl, std::__ndk1::default_delete<jami::IceTransport::Impl> >::~unique_ptr(this=0x00007b5418d5b8b0) at memory:2547
frame #30: 0x00007b53ae58de75 libring.so`jami::IceTransport::~IceTransport(this=0x00007b5418d5b8b0) at ice_transport.cpp:981
frame #31: 0x00007b53ae66164b libring.so`std::__ndk1::default_delete<jami::IceTransport>::operator(this=0x00007b5518d7b0e0, __ptr=0x00007b5418d5b8b0)(jami::IceTransport*) const at memory:2338
frame #32: 0x00007b53ae658dcf libring.so`std::__ndk1::unique_ptr<jami::IceTransport, std::__ndk1::default_delete<jami::IceTransport> >::reset(this=0x00007b5518d7b0e0, __p=0x00007b5418d61350) at memory:2593
frame #33: 0x00007b53ae65974d libring.so`std::__ndk1::unique_ptr<jami::IceTransport, std::__ndk1::default_delete<jami::IceTransport> >::operator=(this=0x00007b5518d7b0e0, __u=0x00007b53b0336ea0) at memory:2512
frame #34: 0x00007b53ae628d2f libring.so`jami::SIPCall::initIceMediaTransport(this=0x00007b5518d7ad00, master=true, options=optional<jami::IceTransportOptions> @ 0x00007b53b03371b0, channel_num=4) at sipcall.cpp:1680
frame #35: 0x00007b53ae62865e libring.so`jami::SIPCall::SIPSessionReinvite(this=0x00007b5518d7ad00) at sipcall.cpp:315
frame #36: 0x00007b53ae62c40b libring.so`jami::SIPCall::switchInput(this=0x00007b5518d7ad00, resource="camera://1") at sipcall.cpp:869
frame #37: 0x00007b53ae51d9f0 libring.so`jami::Manager::switchInput(this=0x00007b53afe24678, call_id="7987882540241637", res="camera://1") at manager.cpp:2369
frame #38: 0x00007b53ae244e75 libring.so`DRing::switchInput(callID="7987882540241637", resource="camera://1") at callmanager.cpp:332
frame #39: 0x00007b53ae20b814 libring.so`::Java_cx_ring_daemon_RingserviceJNI_switchInput_1_1SWIG_10(jenv=0x00007b54c8d40530, jcls=<unavailable>, jarg1=<unavailable>, jarg2=0x00007b53b0337444) at ring_wrapper.cpp:8173
frame #40: 0x00007b5408689ec8 libart.so`art_quick_generic_jni_trampoline + 216
frame #41: 0x00007b540868a350 libart.so
```Iteration 26Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/336allow moderators to mute individual conference participants2021-01-22T20:35:33ZAdrien Béraudallow moderators to mute individual conference participantsIteration 26Pierre LespagnolPierre Lespagnol