jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2024-03-22T09:29:01Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/973Flatpak: Automatic Upgrades: tag versions of jami-daemon which jami-client de...2024-03-22T09:29:01ZovariFlatpak: Automatic Upgrades: tag versions of jami-daemon which jami-client depends on>> It would be great if this Flatpak package would upgrade automatically if a newer upstream version of Jami is released.
> Not possible because of how jami-client depends on specific untagged versions of jami-daemon.
https://github.co...>> It would be great if this Flatpak package would upgrade automatically if a newer upstream version of Jami is released.
> Not possible because of how jami-client depends on specific untagged versions of jami-daemon.
https://github.com/flathub/net.jami.Jami/issues/86https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/972Modified contact profile synchronization2024-03-19T13:01:46ZPierre NicolasModified contact profile synchronizationhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1402#note_48719
> The display name and the profile picture, which I have assigned to my contact myself, have not been synchronised.https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1402#note_48719
> The display name and the profile picture, which I have assigned to my contact myself, have not been synchronised.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/971"jamid" received signal SIGABRT, Aborted.2024-03-08T19:26:08ZCyrille Béraud"jamid" received signal SIGABRT, Aborted.`1709906012.321|57318|conversation.cpp :1675] Sync e43a7778189cc4adc94185c8db7e96c8d1097ed7 with 9138aa43a57c4cb0c77409837637d62e2c8731f176699e38c8c892a8f884f151
Thread 2 "jamid" received signal SIGABRT, Aborted.
[Switching to Th...`1709906012.321|57318|conversation.cpp :1675] Sync e43a7778189cc4adc94185c8db7e96c8d1097ed7 with 9138aa43a57c4cb0c77409837637d62e2c8731f176699e38c8c892a8f884f151
Thread 2 "jamid" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff39ff6c0 (LWP 319436)]
__pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff66428e6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff66268b7 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff6627750 in __libc_message (fmt=fmt@entry=0x7ffff67c38d3 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
#6 0x00007ffff6737c9b in __GI___fortify_fail (msg=msg@entry=0x7ffff67c8a98 "bit out of range 0 - FD_SETSIZE on fd_set") at ./debug/fortify_fail.c:24
#7 0x00007ffff6737792 in __GI___fdelt_chk (d=<optimized out>) at ./debug/fdelt_chk.c:26
#8 0x0000555555f41224 in dhtnet::upnp::NatPmp::readResponse(natpmp_t&, natpmpresp_t&) ()
#9 0x0000555555f42790 in dhtnet::upnp::NatPmp::getIgdPublicAddress() ()
#10 0x0000555555f430e3 in dhtnet::upnp::NatPmp::initNatPmp() ()
#11 0x0000555555f47075 in dhtnet::upnp::NatPmp::searchForIgd() ()
#12 0x0000555555f43b99 in asio::detail::wait_handler<dhtnet::upnp::NatPmp::searchForIgd()::{lambda(std::error_code const&)#1}, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) ()
#13 0x0000555555f2115e in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#14 0x0000555555f214bf in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::upnp::UPnPContext::createIoContext(std::shared_ptr<asio::io_context> const&, std::shared_ptr<dht::log::Logger> const&)::{lambda()#1}> > >::_M_run() ()
#15 0x00007ffff6ae6333 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007ffff6697b5a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
#17 0x00007ffff67285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb)
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff66428e6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff66268b7 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff6627750 in __libc_message (fmt=fmt@entry=0x7ffff67c38d3 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
#6 0x00007ffff6737c9b in __GI___fortify_fail (msg=msg@entry=0x7ffff67c8a98 "bit out of range 0 - FD_SETSIZE on fd_set") at ./debug/fortify_fail.c:24
#7 0x00007ffff6737792 in __GI___fdelt_chk (d=<optimized out>) at ./debug/fdelt_chk.c:26
#8 0x0000555555f41224 in dhtnet::upnp::NatPmp::readResponse(natpmp_t&, natpmpresp_t&) ()
#9 0x0000555555f42790 in dhtnet::upnp::NatPmp::getIgdPublicAddress() ()
#10 0x0000555555f430e3 in dhtnet::upnp::NatPmp::initNatPmp() ()
#11 0x0000555555f47075 in dhtnet::upnp::NatPmp::searchForIgd() ()
#12 0x0000555555f43b99 in asio::detail::wait_handler<dhtnet::upnp::NatPmp::searchForIgd()::{lambda(std::error_code const&)#1}, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) ()
#13 0x0000555555f2115e in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#14 0x0000555555f214bf in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::upnp::UPnPContext::createIoContext(std::shared_ptr<asio::io_context> const&, std::shared_ptr<dht::log::Logger> const&)::{lambda()#1}> > >::_M_run() ()
#15 0x00007ffff6ae6333 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007ffff6697b5a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
#17 0x00007ffff67285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb)
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff66428e6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff66268b7 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff6627750 in __libc_message (fmt=fmt@entry=0x7ffff67c38d3 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:150
#6 0x00007ffff6737c9b in __GI___fortify_fail (msg=msg@entry=0x7ffff67c8a98 "bit out of range 0 - FD_SETSIZE on fd_set") at ./debug/fortify_fail.c:24
#7 0x00007ffff6737792 in __GI___fdelt_chk (d=<optimized out>) at ./debug/fdelt_chk.c:26
#8 0x0000555555f41224 in dhtnet::upnp::NatPmp::readResponse(natpmp_t&, natpmpresp_t&) ()
#9 0x0000555555f42790 in dhtnet::upnp::NatPmp::getIgdPublicAddress() ()
#10 0x0000555555f430e3 in dhtnet::upnp::NatPmp::initNatPmp() ()
#11 0x0000555555f47075 in dhtnet::upnp::NatPmp::searchForIgd() ()
#12 0x0000555555f43b99 in asio::detail::wait_handler<dhtnet::upnp::NatPmp::searchForIgd()::{lambda(std::error_code const&)#1}, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) ()
#13 0x0000555555f2115e in asio::detail::scheduler::run(std::error_code&) [clone .isra.0] ()
#14 0x0000555555f214bf in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dhtnet::upnp::UPnPContext::createIoContext(std::shared_ptr<asio::io_context> const&, std::shared_ptr<dht::log::Logger> const&)::{lambda()#1}> > >::_M_run() ()
#15 0x00007ffff6ae6333 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007ffff6697b5a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
#17 0x00007ffff67285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb)
`Adrien BéraudSébastien BlinAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/970Video camera stream is black when hardware acceleration is enabled2024-03-08T13:26:13ZPaul Le Guen de KerneizonVideo camera stream is black when hardware acceleration is enabled## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue i...## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue instead of creating new one.
## Bug report form
## Describe your environment
Please specify the following:
- OS: Ubuntu 22.04.4 LTS
- Jami version: 202402141827
- What build you are using: jami.net
## Steps to reproduce
1. Enable hardware acceleration in parameters with 960x540 resolution
2. Start a video call
- Actual result: My video camera stream is black on the Jami screen of other contacts in the meeting. However, I can see myself on my Jami screen. Must disable hardware acceleration to solve the problem or change the video resolution to 1280x720
- Expected result: Other people can see my camera video stream instead of a black screen.
## Additional information
- With Jami enable with `--debug`, this log appeared:
```
[1709890977.592|52761|accel.cpp :298 ] Failed to push frame to GPU: Invalid argument
[1709890977.593|52761|media_encoder.cpp :438 ] Fail to get frame
[1709890977.593|52761|video_sender.cpp :87 ] encoding failed
```
- The issue appears whatever camera I use
- My laptop is a Lenovo P14S with AMD GPU and same hardware
- We achieve to reproduce the same bug with Fedora 39
On contact side:
![Screenshot_from_2024-03-08_11-29-49](/uploads/f93d51095c449899708f64255c9f4850/Screenshot_from_2024-03-08_11-29-49.png)
On my side:
![Screenshot_from_2024-03-08_11-29-48](/uploads/f5672232032c2ce2a9671ebf44825c2e/Screenshot_from_2024-03-08_11-29-48.png)
For retrieving logs, cf [this page](https://git.jami.net/savoirfairelinux/ring-project/wikis/tutorials/Bug-report-guide#logs).https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/968Fix sporadic failures2024-03-05T17:58:43ZSébastien BlinFix sporadic failures```
1) test: jami::test::ConversationTest::testIsComposing (F) line: 986 conversation/conversation.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return bobData.composing; })
```
```
1) test: jami::test::ConversationM...```
1) test: jami::test::ConversationTest::testIsComposing (F) line: 986 conversation/conversation.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return bobData.composing; })
```
```
1) test: jami::test::ConversationMembersEventTest::testAddAcceptOfflineThenConnects (F) line: 613 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 60s, [&]() { return !bobData.conversationId.empty(); })
```
```
!!!FAILURES!!!
Test Results:
Run: 4 Failures: 3 Errors: 0
1) test: jami::test::TypersTest::testSetIsComposing (F) line: 203 conversation/typers.cpp
assertion failed
- Expression: cv.wait_for(lk, 5s, [&]() { return bobData.composing[aliceUri]; })
2) test: jami::test::TypersTest::testTimeout (F) line: 229 conversation/typers.cpp
assertion failed
- Expression: cv.wait_for(lk, 5s, [&]() { return bobData.composing[aliceUri]; })
3) test: jami::test::TypersTest::testTypingRemovedOnMemberRemoved (F) line: 254 conversation/typers.cpp
assertion failed
- Expression: cv.wait_for(lk, 5s, [&]() { return aliceData.composing[bobUri]; })
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/966Merge bind and attach methods2024-02-28T15:12:19ZSébastien BlinMerge bind and attach methodshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/965Rename addParticipant/removeParticipant (callId)2024-02-28T15:12:09ZSébastien BlinRename addParticipant/removeParticipant (callId)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/964Remove takeOverMediaSourceControl2024-02-28T15:11:11ZSébastien BlinRemove takeOverMediaSourceControlhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/963Remove method setLocalHostDefaultMediaSource (not understandable)2024-02-28T15:10:32ZSébastien BlinRemove method setLocalHostDefaultMediaSource (not understandable)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/962Simplify Conference construction. Never attach Host, then attach Host in vide...2024-02-28T15:09:50ZSébastien BlinSimplify Conference construction. Never attach Host, then attach Host in video OR audiohttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/961newOutgoingCall => no call for host (make newOutgoingCall Asyng and change ca...2024-02-28T20:04:42ZSébastien BlinnewOutgoingCall => no call for host (make newOutgoingCall Asyng and change call creation)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/959Call-Swarm/Rdv: wrong audio is attached2024-03-28T00:05:08ZSébastien BlinCall-Swarm/Rdv: wrong audio is attached# Scenario
+ In a call swarm (alice is the host), bob calls
+ Alice is detached, but audio is playing
# Expected
Alice should not ear anything, Bob should not ear alice# Scenario
+ In a call swarm (alice is the host), bob calls
+ Alice is detached, but audio is playing
# Expected
Alice should not ear anything, Bob should not ear alicehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/958Call-swarm: Joining in audio make the host join2024-03-25T18:36:16ZSébastien BlinCall-swarm: Joining in audio make the host join# Scenario
* Alice, Bob in a swarm
* Alice is default host
* Bob joins in audio
# Expected
Alice doesn't join the call
# Current
Alice is attached# Scenario
* Alice, Bob in a swarm
* Alice is default host
* Bob joins in audio
# Expected
Alice doesn't join the call
# Current
Alice is attachedSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/957Call-swarm: join in audio fails2024-02-26T20:30:19ZSébastien BlinCall-swarm: join in audio fails# Scenario
* Alice, Bob, Carla in a swarm
* Alice is default host
* Bob call in audio
* Carla calls (audio or video)
# Expected result
Carla should ear Bob
# Current result
No sound# Scenario
* Alice, Bob, Carla in a swarm
* Alice is default host
* Bob call in audio
* Carla calls (audio or video)
# Expected result
Carla should ear Bob
# Current result
No soundhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/956ut_conversationMembersEvent: sporadic failures2024-03-04T18:11:59ZSébastien Blinut_conversationMembersEvent: sporadic failures```
1) test: jami::test::ConversationMembersEventTest::testAddAcceptOfflineThenConnects (F) line: 600 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 60s, [&]() { return !bobData.conversationId.em...```
1) test: jami::test::ConversationMembersEventTest::testAddAcceptOfflineThenConnects (F) line: 600 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 60s, [&]() { return !bobData.conversationId.empty(); })2) test: jami::test::ConversationMembersEventTest::testMemberCannotBanOther (F) line: 920 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return aliceData.errorDetected; })3) test: jami::test::ConversationMembersEventTest::testBanUnbanGotFirstConv (F) line: 1592 conversation/conversationMembersEvent.cpp
assertion failed
- Expression: cv.wait_for(lk, 30s, [&]() { return getMessage(bobData, msgId) && getMessage(bob2Data, msgId); })
```Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/955Check nvi duplicates2024-03-22T14:33:51ZSébastien BlinCheck nvi duplicatesSébastien BlinAdrien BéraudSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/954DHT Proxy full pass2024-03-28T00:05:08ZSébastien BlinDHT Proxy full pass# TODO
Try to reproduce any issue/find any scenario# TODO
Try to reproduce any issue/find any scenarioSébastien BlinFrançois-Simon Fauteux-ChapleauSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/953Call Swarm: full pass2024-03-28T00:05:08ZSébastien BlinCall Swarm: full pass# TODO
+ Check performance
+ Check call ending announcement
+ Check support on all platforms
+ Fallback
+ ask for hosts
+ audio binding
+ test with 8 devices
+ Performance# TODO
+ Check performance
+ Check call ending announcement
+ Check support on all platforms
+ Fallback
+ ask for hosts
+ audio binding
+ test with 8 devices
+ PerformanceSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/952improve configurationMtx contention2024-03-28T00:05:08ZSébastien Blinimprove configurationMtx contentionconfigurationMtx_ is locked for a loooot of things and probably a lot of un-necessary causing the daemon to take a lot of time and this should be improvedconfigurationMtx_ is locked for a loooot of things and probably a lot of un-necessary causing the daemon to take a lot of time and this should be improvedAdrien BéraudAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/951Typing indicator still active after member has been kicked out of swarm2024-03-05T13:50:07ZFrançois-Simon Fauteux-ChapleauTyping indicator still active after member has been kicked out of swarm**Scenario**
- Alice creates a swarm and invites Bob and Carol to join
- Bob and Carol accept the invitation and open the swarm
- Alice opens the "Details" panel, right-clicks on Bob's name and clicks on "Kick member"
- Bob starts typin...**Scenario**
- Alice creates a swarm and invites Bob and Carol to join
- Bob and Carol accept the invitation and open the swarm
- Alice opens the "Details" panel, right-clicks on Bob's name and clicks on "Kick member"
- Bob starts typing a message in the swarm he just got kicked out of
**Result**
Both Alice and Carol still see a typing indicator ("Bob is typing...").
Note: As expected, Bob no longer sees typing indicators for Alice/Carol after being kicked out. The bug only occurs in one direction (from Bob to the remaining members of the swarm).Sébastien BlinSébastien Blin