jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2020-11-03T23:46:21Zhttps://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/264dring segfaults when trying to use the webcam with hardware acceleration enabled2020-11-03T23:47:45ZHussein Abdallahdring segfaults when trying to use the webcam with hardware acceleration enabledI am unable to use my webcam on a Thinkpad T460s laptop with Ubuntu 20.04 and the latest version of Jami when hardware acceleration is enabled. When I click on the gear to configure my Jami account and go to the Media tab, I see a black ...I am unable to use my webcam on a Thinkpad T460s laptop with Ubuntu 20.04 and the latest version of Jami when hardware acceleration is enabled. When I click on the gear to configure my Jami account and go to the Media tab, I see a black rectangle instead of my camera's video feed. dring will crash shortly after with the following message in the syslog:
```
ul 14 20:04:13 zone3 dring[2636]: -- Starting decoding init for cuda with default device.
Jul 14 20:04:13 zone3 dring[2636]: -- Init decoding for cuda with device 0.
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd940041c0] Cannot load libcuda.so.1
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd940041c0] Could not dynamically load CUDA
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd940041c0] Cannot load libcuda.so.1
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd940041c0] Could not dynamically load CUDA
Jul 14 20:04:13 zone3 dring[2636]: -- Init decoding for cuda with device 1.
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd94003200] Cannot load libcuda.so.1
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd94003200] Could not dynamically load CUDA
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd94006380] Cannot load libcuda.so.1
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWDeviceContext @ 0x7efd94006380] Could not dynamically load CUDA
Jul 14 20:04:13 zone3 dring[2636]: -- Init decoding for cuda with device 2.
Jul 14 20:04:13 zone3 dring[2636]: -- Starting decoding init for vaapi with default device.
Jul 14 20:04:13 zone3 dring[2636]: Using hardware decoding for mjpeg with vaapi
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [AVHWFramesContext @ 0x7efd94006040] Failed to read image from surface 0x19: -1 (unknown libva error).
Jul 14 20:04:13 zone3 dring[2636]: Start sink <local / Jami Daemon_shm_2636_0>, size=848x480, mixer=0
Jul 14 20:04:13 zone3 dring[2636]: Unable to create a scaler context
Jul 14 20:04:13 zone3 cx.ring.Ring[2636]: [swscaler @ 0x7efd94289580] vaapi_vld is not supported as input pixel format
Jul 14 20:04:13 zone3 dring[2636]: Start sink <local / Jami Daemon_shm_2636_0>, size=848x480, mixer=0
Jul 14 20:04:13 zone3 kernel: dring[2717]: segfault at 0 ip 00007efe053db1c5 sp 00007efdfd7f7a30 error 4 in iHD_drv_video.so[7efe052b2000+36b000]
Jul 14 20:04:13 zone3 kernel: Code: 01 48 83 f8 42 75 e6 31 db 66 41 89 9f 58 0c 00 00 49 8b 5f 28 8b 83 f0 1d 00 00 85 c0 0f 84 ba 01 00 00 48 8b b3 e8 1d 00 00 <81> 3e 00 00 01 00 48 89 75 c8 0f 85 a3 01 00 00 44 8d 70 f0 4d 63
```
I am able to reproduce this bug every time I open the Media tab or I try to make or receive a video call in Jami.
If I disable the hardware acceleration under the Video section (Media tab), dring is no longer crashing and I can make video calls.
* jami package version: 20200708.1.398241e~dfsg1-1
* graphics adapter: 00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
(kernel module: i915)
* webcam: Bus 001 Device 003: ID 04f2:b52c Chicony Electronics Co., Ltd Integrated Camera
Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/277The daemon crash with VAAPI drivers on Ubuntu 20.042020-11-03T23:47:52ZPierre LespagnolThe daemon crash with VAAPI drivers on Ubuntu 20.04Pierre LespagnolPierre Lespagnolhttps://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/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/187TLSSession + ICETransport make the API async2020-11-10T21:44:34ZSébastien BlinTLSSession + ICETransport make the API asyncReplace all waitxxx in the API by something asyncReplace all waitxxx in the API by something asynchttps://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/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/213No SIP registration2020-11-20T00:22:23Zedonkey2001-jamiNo SIP registrationI'm running Fedora 31 x86_64, and I've installed Jami from the jami.net rpm repo, version 20200414.
I'm trying to use my SIP account with Jami. It is from an ISP also providing VoIP calls.
Since I don't know whether this is specific to ...I'm running Fedora 31 x86_64, and I've installed Jami from the jami.net rpm repo, version 20200414.
I'm trying to use my SIP account with Jami. It is from an ISP also providing VoIP calls.
Since I don't know whether this is specific to my provider, or a more general issue, I'm providing specific details about this setup.
My ISP setup is: UDP transport, no TLS nor SRTP, they provide an username/password and one should connect via their proxy. I'm not sure one can even connect to it from outside their network.
They have two proxies actually (IPv4 only):
srvrm.p.ims.tiscali.net (SRV record)
core1.p.ims.tiscali.net (A record)
213.205.21.8 (actual IP address)
srvmi.p.ims.tiscali.net (SRV record)
core2.p.ims.tiscali.net (A record)
94.32.130.112 (actual IP address)
These are the connection settings I'm using on a Grandstream ATA where I can place and receive calls:
Primary SIP Server: ims.tiscali.net
Outbound Proxy: 213.205.21.8
SIP User ID: $MYPHONENUMBER
Authenticate ID: $MYPHONENUMBER@ims.tiscali.net
Password: $MYPASSWORD
These are the connection settings I'm trying to use with Jami:
Name: $MYPHONENUMBER
SIP Server: I've tried using all of SRV name, A name and IP address.
Password: $MYPASSWORD
Proxy: I've tried using all of SRV name, A name and IP address.
What should happen: I should be able to register with my provider and be able to place and receive calls.
What happens actually: Jami is not sending a single SIP packet anywhere. At most it's performing DNS resolution via SRV or A records, receiving responses with the correct IP address.
I've started Jami with "jami-gnome -d" but I saw no relevant debug info. I'm running wireshark on the box running Jami, and by filtering for "udp.port==5060 || sip" I see no packets.Ming Rui ZhangMing Rui Zhanghttps://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/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/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/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/322Conference: moderators should be able to hangup a participant2020-12-10T16:57:26ZSébastien BlinConference: moderators should be able to hangup a participantAll is in the titleAll is in the titlehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/186SIP proxy field is not used correctly2020-12-13T23:57:25ZJami BotSIP proxy field is not used correctlyIssue generated from Tuleap's migration script.
**Originally submitted by: Raman Gupta (rocketraman)**
A detailed description of the bug. Use following fields for description field:
\* Environment:
Ring v1.0.0 on Linux Fedora 25 ...Issue generated from Tuleap's migration script.
**Originally submitted by: Raman Gupta (rocketraman)**
A detailed description of the bug. Use following fields for description field:
\* Environment:
Ring v1.0.0 on Linux Fedora 25
\* Reproduce steps:
Using the hostname and proxy fields to connect to a domain mydomain.com and proxy server proxy.versature.com. The configuration should set up Ring to connect to proxy.versature.com, passing the mydomain.com in the subsequent SIP request(s).
\* Expected result:
I would expect ring to connect successfully using this configuration. As a point of comparison, Zoiper will connect successfully.
\* Actual result:
The actual result is that Ring attempts to make a SIP connection to the hostname, ignoring the proxy field. The debug logs at SIPLOGLEVEL=4 are:
```
[1496261573.159|18869|sipaccount.cpp:698 ] doRegister mydomain.com
[1496261573.159|18869|sipvoiplink.cpp:1220 ] try to resolve 'mydomain.com' (port: 0)
16:12:53.159 resolver.c Transmitting 38 bytes to NS 0 (127.0.0.1:53): DNS SRV query for \_sip.\_udp.mydomain.com: Success
16:12:53.190 \_sip.\_udp.redo DNS SRV resolution failed for \_sip.\_udp.mydomain.com: DNS "Name Error" (PJLIB\_UTIL\_EDNS\_NXDOMAIN)
16:12:53.190 \_sip.\_udp.redo DNS SRV resolution failed for \_sip.\_udp.mydomain.com, trying resolving A/AAAA record for mydomain.com
16:12:53.190 resolver.c Transmitting 28 bytes to NS 0 (127.0.0.1:53): DNS A query for mydomain.com: Success
16:12:53.190 resolver.c Transmitting 28 bytes to NS 0 (127.0.0.1:53): DNS AAAA query for mydomain.com: Success
[1496261573.220|18869|sipaccount.cpp:815 ] Creating transport
16:12:53.220 udp0x18cc530 SIP UDP transport started, published address is 192.168.1.6:5062
[1496261573.220|18869|siptransport.cpp:357 ] Created UDP transport on default : 0.0.0.0:5062
[1496261573.221|18869|siptransport.cpp:82 ] SipTransport@0x190acc0 {tr=0x1919ec8 {rc=2}}
[1496261573.221|18869|sip\_utils.cpp:87 ] Adding route proxy.versature.com
[1496261605.223|18869|sipaccount.cpp:1033 ] SIP registration failed, status=408 (Request Timeout)
[1496261605.223|18869|sipaccount.cpp:2018 ] Scheduling re-registration retry in 53 seconds..
[1496261658.316|18869|sip\_utils.cpp:87 ] Adding route proxy.versature.com
[1496261690.321|18869|sipaccount.cpp:1033 ] SIP registration failed, status=408 (Request Timeout)
[1496261690.321|18869|sipaccount.cpp:2018 ] Scheduling re-registration retry in 302 seconds..
```
IF the system is configured with \_sip.\_udp SRV records on the domain provided in the hostname to point to the proxy, and the proxy field is left blank, then Ring successfully looks up the SRV record and connects to the proxy given there. Explicitly providing the proxy does not work as shown above.
The way I think it should work (and the way I think Zoiper works) is that you have a "domain/hostname" [1] setting and a "proxy" setting. The logic would be:
1) If proxy is set, Ring connects to the proxy and then passes username@domain in the SIP header.
2) If proxy is not set, then Ring looks for the proxy in the DNS SRV records for domain and if it exists, Ring connects to it and then passes username@domain to it.
3) Lastly, if the DNS SRV record does not exist, Ring attempts to connect to the A record of the domain/hostname setting, and again passes username@domain to it.
That way the auth information is completely configurable (username + domain) and the server that handles the request is completely configurable (proxy). The server to physically connect to is configurable either by DNS record on the domain, OR by explicit configuration in the proxy field.
[1] The "domain/hostname" config value would replace the current "hostname" config value.
The codepath to make the SIP connection as described above already exists -- its just that its impossible to configure the UI currently to trigger it. Given an SRV record of \_sip.\_udp.mydomain.com pointing to proxy.versature.com port 5060, Ring makes a connection to proxy.versature.com and passes all information with domain @mydomain.com. Here is a trace https://pastebin.com/raw/5z39MRu8.Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/180Missed call after one call2020-12-15T21:14:36ZMuhammad FattahiMissed call after one callUsing freepbx 15(using Asterisk 16)
After one call i must kill process jami then try to call.
Otherwise after one call any calls are missed call and nothing happened.
Other client like linphone work currectly.
OS: Ubuntu 18.04Using freepbx 15(using Asterisk 16)
After one call i must kill process jami then try to call.
Otherwise after one call any calls are missed call and nothing happened.
Other client like linphone work currectly.
OS: Ubuntu 18.04Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/110Wrong settings can cause crashes at start, or block and prevent use of client2020-12-18T19:24:53ZMaxim CournoyerWrong settings can cause crashes at start, or block and prevent use of clientReproduction steps are unclear, but:
1. There was 3 accounts configured, one SIP and two Jami
2. I disabled both the Jami accounts.
3. I modified the SIP account, attempting to make it use TLS
The client froze on the settings. Attempti...Reproduction steps are unclear, but:
1. There was 3 accounts configured, one SIP and two Jami
2. I disabled both the Jami accounts.
3. I modified the SIP account, attempting to make it use TLS
The client froze on the settings. Attempting to restart it didn't help much, the client did not come back (I presume the settings were causing the SIP account to be waiting on some event/timing out before the client would be drawn).
Eventually the client came up, but was unusable. Attempting to restart it returned me to the previous situation (client is not drawn/hung by something).
Bad settings and other events in the daemon should not block the rendering of client.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/260A client should be able to answer a call multiple times without weird results2020-12-18T19:26:47ZSébastien BlinA client should be able to answer a call multiple times without weird results# Reproduce steps
+ Launch 2 clients with auto answer (client-gnome + python) for example or (daemon with --auto-answer + client gnome)
+ Receive a call
+ Both clients are answering => Video not ok sometimes, or no hangup available, etc...# Reproduce steps
+ Launch 2 clients with auto answer (client-gnome + python) for example or (daemon with --auto-answer + client gnome)
+ Receive a call
+ Both clients are answering => Video not ok sometimes, or no hangup available, etc
# Expected result
+ The daemon should ignore answer request if already answered, video should work and hangup toohttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/251compile nettle 3.5.1 error2020-12-18T19:32:03Ztomcompile nettle 3.5.1 errorcommand: ./make-ring.py --install --distribution=Android
code: release/202005
os: macos 10.15.2
export ANDROID_NDK_ROOT=/Users/tom/Library/Android/sdk/ndk/20.1.5948944
export ANDROID_NDK=/Users/tom/Library/Android/sdk/ndk/20.1...command: ./make-ring.py --install --distribution=Android
code: release/202005
os: macos 10.15.2
export ANDROID_NDK_ROOT=/Users/tom/Library/Android/sdk/ndk/20.1.5948944
export ANDROID_NDK=/Users/tom/Library/Android/sdk/ndk/20.1.5948944
export ANDROID_HOME=/Users/tom/Library/Android/sdk
export ANDROID_SDK=/Users/tom/Library/Android/sdk
export PATH=$PATH:$ANDROID_SDK/platform-tools
export ANDROID_ABI="armeabi-v7a"
configure: summary of build options:
Version: nettle 3.5.1
Host type: arm-unknown-linux-androideabi
ABI: standard
Assembly files: arm
Install prefix: /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi
Library directory: /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/lib
Compiler: /Users/tom/Documents/project/workspace-antudio/ring-project/client-android/android-toolchain-21-arm/bin/arm-linux-androideabi-clang
Static libraries: yes
Shared libraries: no
Public key crypto: yes
Using mini-gmp: no
Documentation: no
cd nettle && make install
make[1]: Entering directory `/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/native-arm-linux-androideabi/nettle'
make install-here
make[2]: Entering directory `/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/native-arm-linux-androideabi/nettle'
./install-sh -c -d /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include/nettle
/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/extras/tools/build/bin/m4 ./asm.m4 machine.m4 config.m4 aes-decrypt-internal.asm >aes-decrypt-internal.s
/Users/tom/Documents/project/workspace-antudio/ring-project/client-android/android-toolchain-21-arm/bin/arm-linux-androideabi-clang -I. -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -fPIC -DHAVE_CONFIG_H -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -DNDEBUG=1 -O3 -fPIC -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -fpic -c aes-decrypt.c \
&& true
/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/extras/tools/build/bin/m4 ./asm.m4 machine.m4 config.m4 aes-encrypt-internal.asm >aes-encrypt-internal.s
/Users/tom/Documents/project/workspace-antudio/ring-project/client-android/android-toolchain-21-arm/bin/arm-linux-androideabi-clang -I. -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -fPIC -DHAVE_CONFIG_H -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -DNDEBUG=1 -O3 -fPIC -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -fpic -c aes-encrypt.c \
&& true
/Users/tom/Documents/project/workspace-antudio/ring-project/client-android/android-toolchain-21-arm/bin/arm-linux-androideabi-clang -I. -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -fPIC -DHAVE_CONFIG_H -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -DNDEBUG=1 -O3 -fPIC -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -fpic -c aes-encrypt-table.c \
&& true
/Users/tom/Documents/project/workspace-antudio/ring-project/client-android/android-toolchain-21-arm/bin/arm-linux-androideabi-clang -I. -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -fPIC -DHAVE_CONFIG_H -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -DNDEBUG=1 -O3 -fPIC -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -fpic -c aes-invert-internal.c \
&& true
/Users/tom/Documents/project/workspace-antudio/ring-project/client-android/android-toolchain-21-arm/bin/arm-linux-androideabi-clang -I. -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -fPIC -DHAVE_CONFIG_H -I/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include -DNDEBUG=1 -O3 -fPIC -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -fpic -c aes-set-key-internal.c \
&& true
/bin/sh: line 1: 74038 Abort trap: 6 /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/extras/tools/build/bin/m4 ./asm.m4 machine.m4 config.m4 aes-decrypt-internal.asm > aes-decrypt-internal.s
make[2]: *** [aes-decrypt-internal.o] Error 134
make[2]: *** Waiting for unfinished jobs....
/bin/sh: line 1: 74040 Abort trap: 6 /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/extras/tools/build/bin/m4 ./asm.m4 machine.m4 config.m4 aes-encrypt-internal.asm > aes-encrypt-internal.s
make[2]: *** [aes-encrypt-internal.o] Error 134
for f in aes.h arcfour.h arctwo.h asn1.h blowfish.h base16.h base64.h bignum.h buffer.h camellia.h cast128.h cbc.h ccm.h cfb.h chacha.h chacha-poly1305.h ctr.h curve25519.h des.h dsa.h dsa-compat.h eax.h ecc-curve.h ecc.h ecdsa.h eddsa.h gcm.h gosthash94.h hmac.h knuth-lfib.h hkdf.h macros.h cmac.h md2.h md4.h md5.h md5-compat.h memops.h memxor.h nettle-meta.h nettle-types.h pbkdf2.h pgp.h pkcs1.h pss.h pss-mgf1.h realloc.h ripemd160.h rsa.h salsa20.h sexp.h serpent.h sha.h sha1.h sha2.h sha3.h twofish.h umac.h yarrow.h xts.h poly1305.h version.h ; do \
if [ -f "$f" ] ; then \
/usr/bin/install -c -m 644 "$f" /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include/nettle ; \
else \
/usr/bin/install -c -m 644 "./$f" /Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/arm-linux-androideabi/include/nettle ; \
fi ; done
make[2]: Leaving directory `/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/native-arm-linux-androideabi/nettle'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/Users/tom/Documents/project/workspace-antudio/ring-project/daemon/contrib/native-arm-linux-androideabi/nettle'
make: *** [.nettle] Error 2
armeabi-v7a build KO
Traceback (most recent call last):
File "./make-ring.py", line 528, in <module>
main()
File "./make-ring.py", line 515, in main
run_install(parsed_args)
File "./make-ring.py", line 283, in run_install
return subprocess.run(["./compile.sh"], cwd="./client-android", check=True)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/subprocess.py", line 487, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['./compile.sh']' returned non-zero exit status 1.