jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2024-03-08T19:26:15Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/16missing audio during call2024-03-08T19:26:15ZHugo Lefeuvremissing audio during call**Issue:** No audio during Ring video calls.
**Setup:** latest daemon + LRC + GNU/Linux GNOME client master. The other peer uses the MacOS client, latest stable version.
**Daemon logs:**
```
[1530368590.976|14825|accel.cpp :146...**Issue:** No audio during Ring video calls.
**Setup:** latest daemon + LRC + GNU/Linux GNOME client master. The other peer uses the MacOS client, latest stable version.
**Daemon logs:**
```
[1530368590.976|14825|accel.cpp :146 ] Not using hardware accelerated decoding
[1530368590.976|14825|media_decoder.cpp :224 ] Decoding audio using Opus (opus)
[1530368590.976|14825|media_decoder.cpp :489 ] Creating audio resampler
[1530368591.019|10763|sipvoiplink.cpp :1129 ] [INVITE:0x5576d3144508] RX SIP method 6 (INFO)
[1530368591.019|10763|sipvoiplink.cpp :1019 ] handling picture fast update request
[1530368591.019|10763|video_sender.cpp :87 ] Key frame requested
[1530368591.093|14826|media_decoder.cpp :131 ] Using format video4linux2
[1530368591.093|14826|media_decoder.cpp :172 ] Finding video stream info
[mjpeg @ 0x7f5f9c003060] unable to decode APP fields: Invalid data found when processing input
[1530368591.364|14826|accel.cpp :103 ] Using 'vaapi' hardware acceleration with device '/dev/dri/r
enderD128'
[1530368591.364|14826|media_decoder.cpp :224 ] Decoding video using MJPEG (Motion JPEG) (mjpeg)
[1530368591.364|14826|video_input.cpp :366 ] created decoder with video params : size=960X540, fps=30.00
0000
[1530368591.364|14826|sinkclient.cpp :372 ] Start sink <local / Ring Daemon_shm_10763_0>, size=960x540,
mixer=0
[mjpeg @ 0x7f5f9c004820] unable to decode APP fields: Invalid data found when processing input
[1530368591.370|14826|accel.cpp :64 ] Frame format mismatch: expected vaapi_vld, got yuv422p
[1530368591.377|14826|sip_utils.cpp :203 ] Registered thread 0x7f5feeccd130 (0x2A0B)
[1530368591.379|14826|sinkclient.cpp :182 ] ShmHolder[Ring Daemon_shm_10763_0]: new sizes: f=2073600, a
=4147303
[mjpeg @ 0x7f5f9c004820] unable to decode APP fields: Invalid data found when processing input
[1530368591.400|14826|accel.cpp :64 ] Frame format mismatch: expected vaapi_vld, got yuv422p
[mjpeg @ 0x7f5f9c004820] unable to decode APP fields: Invalid data found when processing input
[1530368591.435|14826|accel.cpp :64 ] Frame format mismatch: expected vaapi_vld, got yuv422p
[mjpeg @ 0x7f5f9c004820] unable to decode APP fields: Invalid data found when processing input
[1530368591.467|14826|accel.cpp :64 ] Frame format mismatch: expected vaapi_vld, got yuv422p
[mjpeg @ 0x7f5f9c004820] unable to decode APP fields: Invalid data found when processing input
[1530368591.498|14826|accel.cpp :64 ] Frame format mismatch: expected vaapi_vld, got yuv422p
[1530368591.498|14826|media_decoder.cpp :285 ] Hardware decoding failure
[1530368591.501|14826|media_decoder.cpp :114 ] Trying to open device /dev/video0 with format video4linux2,
pixel format mjpeg, size 960x540, rate 30.000000
[1530368591.537|14826|media_decoder.cpp :131 ] Using format video4linux2
[1530368591.537|14826|media_decoder.cpp :172 ] Finding video stream info
[mjpeg @ 0x7f5f9c0189e0] unable to decode APP fields: Invalid data found when processing input
[1530368591.731|14826|accel.cpp :103 ] Using 'vaapi' hardware acceleration with device '/dev/dri/r
enderD128'
[1530368591.731|14826|media_decoder.cpp :224 ] Decoding video using MJPEG (Motion JPEG) (mjpeg)
[1530368591.731|14826|video_input.cpp :366 ] created decoder with video params : size=960X540, fps=30.00
0000
[1530368591.731|14826|sinkclient.cpp :372 ] Start sink <local / Ring Daemon_shm_10763_0>, size=960x540,
mixer=0
[1530368591.731|14826|video_input.cpp :221 ] Disabling hardware decoding due to previous failure
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[1530368592.821|14835|accel.cpp :103 ] Using 'vaapi' hardware acceleration with device '/dev/dri/r
enderD128'
[1530368592.821|14835|media_decoder.cpp :224 ] Decoding video using H.264 / AVC / MPEG-4 AVC / MPEG-4 part
10 (h264)
[1530368592.821|14835|sinkclient.cpp :182 ] ShmHolder[Ring Daemon_shm_10763_1]: new sizes: f=0, a=103
[1530368592.821|14835|sinkclient.cpp :148 ] ShmHolder: new holder 'Ring Daemon_shm_10763_1'
[1530368592.822|14835|sinkclient.cpp :372 ] Start sink <2052679725649646304 / Ring Daemon_shm_10763_1>,
size=1280x720, mixer=0
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[1530368592.829|14835|sinkclient.cpp :182 ] ShmHolder[Ring Daemon_shm_10763_1]: new sizes: f=3686400, a
=7372903
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[1530368596.813|10763|manager.cpp :1657 ] [call:2052679725649646304] Remove local audio
[1530368596.813|10763|sipcall.cpp :294 ] [call:2052679725649646304] Terminate SIP session
[1530368596.814|10763|sipcall.cpp :940 ] [call:2052679725649646304] stopping all medias
[1530368596.814|14825|media_decoder.cpp :339 ] Couldn't read frame: Operation not permitted
[1530368596.814|14825|audio_rtp_session.cpp:333 ] fatal error, read failed
[libopus @ 0x7f5fa0002320] 1 frames left in the queue on closing
[1530368596.827|14835|sinkclient.cpp :377 ] Stop sink <2052679725649646304 / Ring Daemon_shm_10763_1>,
mixer=0
[mjpeg @ 0x7f5f9c018ec0] unable to decode APP fields: Invalid data found when processing input
[1530368596.839|14826|sinkclient.cpp :377 ] Stop sink <local / Ring Daemon_shm_10763_0>, mixer=0
[1530368596.839|14826|video_input.cpp :172 ] VideoInput closed
[1530368596.839|10763|call.cpp :198 ] [call:2052679725649646304] state change 1/1, cnx 4/0, code
0
[1530368596.839|10763|call.cpp :221 ] [call:2052679725649646304] emit client call state change HU
NGUP, code 0
[1530368596.839|10763|sipcall.cpp :703 ] [call:2052679725649646304] removeCall()
```
(slightly modified, removed some redundant lines)
**How to reproduce:** Don't know, it appears to happen randomly. Last time it worked.
Then I used my Android client and it worked perfectly.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/14Incoherent packet loss and call fail2024-03-08T19:26:15ZSébastien BlinIncoherent packet loss and call failSometimes, during the call connection, the daemon log an incoherent packet loss (integer overflow) and then the call fails.
This is due when `TlsSession::TlsSessionImpl::flushRxQueue()` receives the same packet sequence number twice.Sometimes, during the call connection, the daemon log an incoherent packet loss (integer overflow) and then the call fails.
This is due when `TlsSession::TlsSessionImpl::flushRxQueue()` receives the same packet sequence number twice.Gnome 2018.07.15Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/9dtmf tones do not work2024-03-08T19:26:14ZJami Botdtmf tones do not workIssue generated from Tuleap's migration script.
**Originally submitted by: Stepan Salenikovich (ssalenik)**
<p>A user reported that sending dtmf tones (SIP or RTP) does not work.<br />
<br />
I think RTP tones are broken in the daem...Issue generated from Tuleap's migration script.
**Originally submitted by: Stepan Salenikovich (ssalenik)**
<p>A user reported that sending dtmf tones (SIP or RTP) does not work.<br />
<br />
I think RTP tones are broken in the daemon since a while ago. Its also possible that SIP tones work, but are not accepted in all cases on the other end?</p>
<p>Also the gnome UI is not very nice for sending them, so could also be an input issue.</p>SIP support - first iterationSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/8Invalid conversation state2024-03-08T19:26:14ZPierre DucheminInvalid conversation state## Environment
- Ring version: 20180511
- Device model: Nvidia Shield Pro, LG G3
- Android version: 7 (shield), 6 (LG)
- What build you are using: debug build on 636a065f603447f6c8472befd93c6b52e74ebfe3
## Steps to reproduce
-...## Environment
- Ring version: 20180511
- Device model: Nvidia Shield Pro, LG G3
- Android version: 7 (shield), 6 (LG)
- What build you are using: debug build on 636a065f603447f6c8472befd93c6b52e74ebfe3
## Steps to reproduce
- I reproduce the bug: at will
- Steps:
1. Call a contact that is only connected with an Android Phone device
2. The call is establishing
3. At the same time,
- on AndroidTV: hang up call
- on Android Phone: pick up call
- Actual result: on AndroidTV, everything is fine: the conversation hanged up and smartlist is displayed, but on the phone, a call is ongoing with a black screen instead of the video from the Shield. Video from phone displays normally on phone.
- Expected result: both devices should hang up.
## Additional information
Tried to reproduce the other way: phone calling TV, but everything went fine.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/5daemon: call goes to failure instead of over2024-03-08T19:26:14ZJami Botdaemon: call goes to failure instead of overIssue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
<p>Steps to reproduce:</p>
<p>- make a call</p>
<p>- Bob hangs up</p>
<p>- Alice can go to Failure instead of Over (i...Issue generated from Tuleap's migration script.
**Originally submitted by: Alexandre Lision (alision)**
<p>Steps to reproduce:</p>
<p>- make a call</p>
<p>- Bob hangs up</p>
<p>- Alice can go to Failure instead of Over (it does not happen every time I think)</p>
<p> </p>
<p>This is the log generated:</p>
<pre>
<strong>1457970175.894|0x70000021d000|tls\_session.cpp:638 ] [TLS] shutdown
1457970175.894|0x1019b7000|siptransport.cpp:209 ] pjsip transport@0x1031c4088 TLS to 208.88.110.46:7170 -> DISCONNECTED
1457970175.894|0x1019b7000|sipcall.cpp:205 ] call:12405873968647423475] Ending call because underlying SIP transport was closed
1457970175.894|0x1019b7000|call.cpp:144 ] [call:12405873968647423475] state change 1/4, cnx 4/0, code 54
1457970175.894|0x1019b7000|call.cpp:163 ] [call:12405873968647423475] emit client call state change FAILURE, code 54
1457970175.894|0x1019b7000|manager.cpp:1778 ] [call:12405873968647423475] Failed
1457970175.894|0x1019b7000|corelayer.cpp:226 ] START STREAM
1457970175.894|0x1019b7000|call\_factory.cpp:39 ] Removing call 12405873968647423475
1457970175.894|0x1019b7000|call\_factory.cpp:43 ] Remaining 0 SIP call(s)
1457970175.895|0x1019b7000|call.cpp:144 ] [call:12405873968647423475] state change 4/5, cnx 0/0, code 0
1457970175.895|0x1019b7000|call.cpp:163 ] [call:12405873968647423475] emit client call state change OVER, code 0</strong></pre>
<p>The problem seems to be in the daemon, it emits first a FAILURE state changed before a OVER. LRC puts the call in failed and does nothing when the OVER signal is received:</p>
<p>Log in LRC:</p>
<pre>
<strong>Call State Changed for call "12405873968647423475" . New state : "FAILURE"
Call found Call(0x6000002321e0) "Talking"
Calling stateChanged "FAILURE" -> 6 on call with state "Talking" . Become "Failed"
Call State Changed for call "12405873968647423475" . New state : "OVER"
Call found Call(0x6000002321e0) "Failed"
Origin and destination states are identical "Failed" "Failed" doing nothing Call(0x6000002321e0)
Calling stateChanged "OVER" -> 7 on call with state "Failed" . Become "Failed"
</strong></pre>Guillaume RoguezGuillaume Roguezhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/2ring-daemon fails to build with opendht 1.2.1 using clang2024-03-08T19:26:13ZJami Botring-daemon fails to build with opendht 1.2.1 using clangIssue generated from Tuleap's migration script.
**Originally submitted by: Yuri (yurivict)**
I am getting these errors from clang-38 with both current ring-lrc and 1.0.0 ring-lrc:
```
In file included from configurationmanager.cpp:4...Issue generated from Tuleap's migration script.
**Originally submitted by: Yuri (yurivict)**
I am getting these errors from clang-38 with both current ring-lrc and 1.0.0 ring-lrc:
```
In file included from configurationmanager.cpp:40:
/usr/ports/net-im/ring-daemon/work/ring-daemon-56ec56f/src/ringdht/ringaccount.h:347:42: error: no member named 'Dht' in namespace 'dht'; did you mean 'dht'?
void saveNodes(const std::vector<dht::Dht::NodeExport>&) const;
\^\~\~\~\~\~\~\~
dht
/usr/local/include/opendht/default\_types.h:36:11: note: 'dht' declared here
namespace dht {
\^
In file included from configurationmanager.cpp:40:
/usr/ports/net-im/ring-daemon/work/ring-daemon-56ec56f/src/ringdht/ringaccount.h:348:43: error: no member named 'Dht' in namespace 'dht'; did you mean 'dht'?
void saveValues(const std::vector<dht::Dht::ValuesExport>&) const;
\^\~\~\~\~\~\~\~
dht
```
Spotted on FreeBSD.Adrien BéraudAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1daemon: account maintenance regression2024-03-08T19:26:13ZJami Botdaemon: account maintenance regressionIssue generated from Tuleap's migration script.
**Originally submitted by: Guillaume Roguez (guillaume)**
Migration/Maintenance system is broken: not able to recreate a new device if ring\_device.\* files missing (ex: filesystem corrupt...Issue generated from Tuleap's migration script.
**Originally submitted by: Guillaume Roguez (guillaume)**
Migration/Maintenance system is broken: not able to recreate a new device if ring\_device.\* files missing (ex: filesystem corruption).
Was tested on GNU/Linux-GNOME and Win32 platforms, using lasted sources.
I only indicate GNU/Linux-GNOME below.
\* Environment:
daemon: 1ed6a0f video: disable auto quality by default
lrc: 68c8ad0 AccountModel: separate selected and chosen account
gnome:
\* Reproduce steps:
- Create a new ring account
- stop ring
- delete ring\_device.\* files associated to this account
- restart ring
\* Expected result:
- the client ask for the password
- the client shows the normal screen after correct password given, with new ring device generated
\* Actual result:
- the client loops in password askingAdrien BéraudAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/855Issue if you add an unkown contact by sending text messages - Can't decline a...2024-02-19T16:14:56ZElysIssue if you add an unkown contact by sending text messages - Can't decline a contact request (same contact multiple times in contact list?) Multi-Device issue?using newest version of Jami Windows 10 and Android
just Windows 10 (="username1"): enable "Allow calls from unknown peers" AND "Allow incoming files from unknown contacts"
Steps to reproduce:
1. Windows 10: Remove (NOT block) a contac...using newest version of Jami Windows 10 and Android
just Windows 10 (="username1"): enable "Allow calls from unknown peers" AND "Allow incoming files from unknown contacts"
Steps to reproduce:
1. Windows 10: Remove (NOT block) a contact ("username2") from your contact list; Android keep the Windows 10 user ("username1") in the contact list
1. Android: Write a text message (Android -> Windows 10)
1. Windows 10: You get an invitation
1. Windows 10: Accept the invitation
1. Windows 10: You get an error message "An error occurred while fetching this repository"
1. Windows 10: You only view an invitation but the contact ("username2") won't move to the contact list
1. Windows 10: You have to delete the contact
Now exit Jami (Windows 10) and enter Jami again
Another option: Starting from step 5 mentioned above
1. Windows 10: Now instead of a username you get the identifier of the contact; you accept the contact request
1. Windows 10: You (also) get an error message "An error occurred while fetching this repository"
1. Now exit Jami (just Windows 10)
1. Windows 10: enter Jami again; you get the message "Waiting until [identifier] connects to synchronize the conversation." but after a few seconds still "An error occurred while fetching this repository"
1. Windows 10: Now remove the contact ("username2") it does NOT work
1. Just Windows 10: Exit Jami and enter Jami again: Contact ("username2") is still in the contact list; If you try to remove the contact again it's still not possible
You have to **block** (not delete!) the contact to get rid of it in the contact list
As soon as you unblock the contact you get the **same contact twice** in the contact list: One contact will show just "Swarm created", the other (same) contact will still show "An error occurred while fetching this repository"; If you make a call Android -> Windows 10 the second same contact will receive the call
However - now you can remove the contact and it will be goneSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/886Blocking contact does not work if you re-enable your own account after changi...2024-01-29T21:44:28ZElysBlocking contact does not work if you re-enable your own account after changing "allow calls from unknown contacts"Steps to reproduce (always using Jami accounts):
You have two contacts: Person A (uses desktop and useraccount1); Person B (uses Android and useraccount2)
* Person A has Person B in the contact list (and the other direction: Person B h...Steps to reproduce (always using Jami accounts):
You have two contacts: Person A (uses desktop and useraccount1); Person B (uses Android and useraccount2)
* Person A has Person B in the contact list (and the other direction: Person B has Person A in the contact list)
* Now Person A blocks Person B (settings "allow calls from unknown contacts" enabled)
* Person B can't make a call (B -\> A) anymore
HOWEVER:
* Now Person A disables "allow calls from unknown contacts" and after a few seconds also disables her own account
* Now Person A enables her own account and after a few second ENABLES "allow calls from unknown contacts"
* Now Person B makes a call (B -\> A)
* Suddenly Person A will receive the call and the blocked Person A is shown many times under "blocked contacts"
* Person A will view the chatview but Person B will never be shown in the contact list
* Person B can make a call anytime and Person A will receive it - receiving text messages doesn't work? - However the other direction is not possible: If Person A wants to make a video or audio call nothing will happen - the option for sending text messages isn't even shown.
---
If now Person A goes to settings and wants to DISABLE "allow calls from unknown contacts" Jami will crash ((also/only) after a sucessful call?)
* Jami on desktop crashes
* open Jami on desktop again
* Make a call Android -\> Desktop
* Android will show "ringing" although you'll never receive any call?Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/928heap-use-after-free in turn_sock (TCP)2024-01-09T16:26:58ZSébastien Blinheap-use-after-free in turn_sock (TCP)### Describe the bug
No precise scenario, but ASAN crash detected randomly:
```
=================================================================
==15049==ERROR: AddressSanitizer: heap-use-after-free on address 0x0002b00b5648 at pc 0x0...### Describe the bug
No precise scenario, but ASAN crash detected randomly:
```
=================================================================
==15049==ERROR: AddressSanitizer: heap-use-after-free on address 0x0002b00b5648 at pc 0x0001056f5610 bp 0x00029dd327b0 sp 0x00029dd327a8
#0 0x1056f560c in stun_on_request_complete+0xc8c (Jami:arm64+0x102a8560c)
#1 0x1056ea7f4 in stun_tsx_on_complete+0x2a8 (Jami:arm64+0x102a7a7f4)
#2 0x1056f2498 in retransmit_timer_callback+0x12c (Jami:arm64+0x102a82498)
#3 0x105685fec in pj_timer_heap_poll+0x468 (Jami:arm64+0x102a15fec)
#4 0x104a4acbc in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x110 (Jami:arm64+0x101ddacbc)
#5 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#6 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#7 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
0x0002b00b5648 is located 200 bytes inside of 256-byte region [0x0002b00b5580,0x0002b00b5680)
freed by thread T1102 here:
#0 0x111b5ace0 in wrap_free+0x98 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x52ce0)
#1 0x1056738d4 in pj_pool_destroy_int+0xbc (Jami:arm64+0x102a038d4)
#2 0x105674788 in cpool_release_pool+0xec (Jami:arm64+0x102a04788)
#3 0x105704130 in dataconn_on_data_read+0x180 (Jami:arm64+0x102a94130)
#4 0x105663b48 in ioqueue_on_read_complete+0x39c (Jami:arm64+0x1029f3b48)
#5 0x1056537a4 in ioqueue_dispatch_read_event+0x700 (Jami:arm64+0x1029e37a4)
#6 0x1056587bc in pj_ioqueue_poll+0x900 (Jami:arm64+0x1029e87bc)
#7 0x104a4ad9c in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x1f0 (Jami:arm64+0x101ddad9c)
#8 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#9 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#10 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
previously allocated by thread T1102 here:
#0 0x111b5aba4 in wrap_malloc+0x94 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x52ba4)
#1 0x105660234 in default_block_alloc+0x50 (Jami:arm64+0x1029f0234)
#2 0x105672d68 in pj_pool_allocate_find+0x110 (Jami:arm64+0x102a02d68)
#3 0x105672f94 in pj_pool_calloc+0x7c (Jami:arm64+0x102a02f94)
#4 0x1056633a4 in pj_activesock_create+0x254 (Jami:arm64+0x1029f33a4)
#5 0x105700f6c in turn_on_connection_attempt+0x9d0 (Jami:arm64+0x102a90f6c)
#6 0x1056f59e8 in stun_on_rx_indication+0xe4 (Jami:arm64+0x102a859e8)
#7 0x1056e9914 in pj_stun_session_on_rx_pkt+0x69c (Jami:arm64+0x102a79914)
#8 0x1056fb5e4 in pj_turn_session_on_rx_pkt2+0x1ec (Jami:arm64+0x102a8b5e4)
#9 0x1056fb2f8 in pj_turn_session_on_rx_pkt+0x10c (Jami:arm64+0x102a8b2f8)
#10 0x105703930 in on_data_read_asock+0x468 (Jami:arm64+0x102a93930)
#11 0x105663a5c in ioqueue_on_read_complete+0x2b0 (Jami:arm64+0x1029f3a5c)
#12 0x1056537a4 in ioqueue_dispatch_read_event+0x700 (Jami:arm64+0x1029e37a4)
#13 0x1056587bc in pj_ioqueue_poll+0x900 (Jami:arm64+0x1029e87bc)
#14 0x104a4ad9c in dhtnet::IceTransport::Impl::handleEvents(unsigned int)+0x1f0 (Jami:arm64+0x101ddad9c)
#15 0x104a65a5c in void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&)::$_6>>(void*)+0x154 (Jami:arm64+0x101df5a5c)
#16 0x186caf030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#17 0x186ca9e38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
```
What I see:
+ `turn_sock.c:dataconn_on_data_read` is called with status = 120054 & size = 0
+ This causes a dataconn_cleanup on the connection
+ `turn_session.c:stun_on_request_complete` is then called with method = PJ_STUN_CONNECTION_BIND_METHOD & status = 370004
I guess dataconn_cleanup is called again in turn_on_connection_bind_status but I'm not sure yet.
### Steps to reproduce
None detected yet
### PJSIP version
2.13
### Context
+ macOS, but I guess all platforms should get the same bug
+ Custom patched version, but turn_session/turn_sock should be the same.
### Log, call stack, etc
```shell
cf first part
```
https://github.com/pjsip/pjproject/issues/3776Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/779conference: detached host appearing2023-12-27T18:01:47ZAline Gondim Santosconference: detached host appearingJoin a rdv from two different devices;
Crash one of them (force jami quit without correctly ending the call)
On the other one you will see the host in the place of this crashed participant. If the crashed participant is still there (a ...Join a rdv from two different devices;
Crash one of them (force jami quit without correctly ending the call)
On the other one you will see the host in the place of this crashed participant. If the crashed participant is still there (a frozen component), you can change the layout one or two times and the host will take its place.
Expected: the crashed participant should disappear and the host should not take its place.Aline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/162Call-Swarm: link to current rdv2023-11-17T16:32:48ZSébastien BlinCall-Swarm: link to current rdv+ Modify messages to use the "rendezvous" word in non 1:1
+ Add a priority to get the best host (mobile/non mobile/ipv6/resources)
+ Maybe use the DRT to avoid to connect to a non connected mobile.+ Modify messages to use the "rendezvous" word in non 1:1
+ Add a priority to get the best host (mobile/non mobile/ipv6/resources)
+ Maybe use the DRT to avoid to connect to a non connected mobile.Swarm-chat2023-03-31https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/871Lock on long merge commits2023-10-26T17:52:03ZSébastien BlinLock on long merge commitsOn Jami:Core, sometimes, we can't send messages. A thread seems to be blocked on git_merge_commits (with a lot of merge_annotated_commit)
The reason is still unclear.On Jami:Core, sometimes, we can't send messages. A thread seems to be blocked on git_merge_commits (with a lot of merge_annotated_commit)
The reason is still unclear.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/878CPU rapidly increased during video call when video muted on another side2023-09-08T15:24:55ZKateryna KostiukCPU rapidly increased during video call when video muted on another sidesteps to reproduce:
- Start a video call between A and B.
- Monitor CPU usage on A.
- Mute video on B.
- On A, CPU usage increases and stays high.steps to reproduce:
- Start a video call between A and B.
- Monitor CPU usage on A.
- Mute video on B.
- On A, CPU usage increases and stays high.Adrien BéraudSébastien BlinAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/861Regression sdbus-cpp: Quit client doesn't leave daemon2023-06-15T19:17:20ZSébastien BlinRegression sdbus-cpp: Quit client doesn't leave daemon# Scenario
+ Launch client
+ Launch daemon
+ Quit client via systray
# Expected
Daemon should leave
# Current result
Daemon stays up# Scenario
+ Launch client
+ Launch daemon
+ Quit client via systray
# Expected
Daemon should leave
# Current result
Daemon stays upSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/327remote management2023-05-05T19:06:30Zevkogan1remote managementClient1-GTK. Client2-Android.
Video call, turn off the microphone on Client1. Switch the camera to client2. The microphone is turned on on Client1, and without indication.
Turn off the camera on client2 and turn off/on the microphone ...Client1-GTK. Client2-Android.
Video call, turn off the microphone on Client1. Switch the camera to client2. The microphone is turned on on Client1, and without indication.
Turn off the camera on client2 and turn off/on the microphone on Client1. The camera on client2 turns on.
Is this covert espionage SOFTWARE? :)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/727Camera not opening if rdv host joins2023-02-17T13:51:27ZSébastien BlinCamera not opening if rdv host joins# Scenario
+ Alice is a rdv host
+ Bob calls alice (he will be alone in a rdv)
+ Alice joins the call
# Expected
+ Alice and Bob should see their video in the rdv
# Current
+ Alice's camera is not opening and mute is broken
# Obser...# Scenario
+ Alice is a rdv host
+ Bob calls alice (he will be alone in a rdv)
+ Alice joins the call
# Expected
+ Alice and Bob should see their video in the rdv
# Current
+ Alice's camera is not opening and mute is broken
# Observation
+ Device is busy and not opening
+ The camera become unusable for all apps as busy, even after leaving jamihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/781TURN init add TURN after timeout2022-12-07T21:22:27ZSébastien BlinTURN init add TURN after timeout# Scenario
+ Set turnserver to 1.1.1.1
+ start a call => timeout 30 sec before initialization# Scenario
+ Set turnserver to 1.1.1.1
+ start a call => timeout 30 sec before initializationSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/56Enhance failure messages2022-11-26T22:44:58ZSébastien BlinEnhance failure messagesWhen a user send a message to a contact, the status of this message can change to "failed". The major problem here, is, (as discussed in https://git.ring.cx/savoirfairelinux/ring-project/issues/517) it's totally unclear for the user why ...When a user send a message to a contact, the status of this message can change to "failed". The major problem here, is, (as discussed in https://git.ring.cx/savoirfairelinux/ring-project/issues/517) it's totally unclear for the user why the message failed.
The failed status MUST be re-designed to explain what is wrong for the user.
Is it a network issue? A confirmation timeout? Because no devices is detected? etc.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/48missing call to callFailure in timeout case2022-11-14T21:52:32ZHugo Lefeuvremissing call to callFailure in timeout caseIntroduced in 9a12c78a.
In the case where call timeout is reached, the daemon calls hangup(486), terminating the call. However this hangup call is not followed by any kind of callFailure() call meaning that the tone and media states in ...Introduced in 9a12c78a.
In the case where call timeout is reached, the daemon calls hangup(486), terminating the call. However this hangup call is not followed by any kind of callFailure() call meaning that the tone and media states in the manager will not be reinitialized. As a consequence the daemon will continue to ring even if the call has ended.
Should be fixed asap.Hugo LefeuvreHugo Lefeuvre