jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2020-12-22T20:02:14Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/351Swarm: cleanup current code2020-12-22T20:02:14ZSébastien BlinSwarm: cleanup current code# Done, to rebase
+ Avoid lock in testBanDevice if CPPUNIT_ASSERT(fileutils::isFile(bannedFile)); fails (just change bannedFile)
+ Add getUri() and getDeviceId() for JamiAccount to avoid multiple lookups + cleanup username_ usage => htt...# Done, to rebase
+ Avoid lock in testBanDevice if CPPUNIT_ASSERT(fileutils::isFile(bannedFile)); fails (just change bannedFile)
+ Add getUri() and getDeviceId() for JamiAccount to avoid multiple lookups + cleanup username_ usage => https://review.jami.net/c/ring-daemon/+/16424
+ Add test to assert that device certificate is there on commit
+ Add check to validate votes + commit messages (verif certificate)
+ invited create a directory instead a file
+ Some message sends to self. Avoid
+ valiadte too much commits
+ Disconnection during fetch => block the fetch, should be stopped
+ Some fetch blocked in
```
#0 0x00007ffff7a1c4e8 in pthread_cond_clockwait () from /lib64/libpthread.so.0
#1 0x0000000000671142 in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x7ffe10017ce8, __lock=..., __atime=...) at /usr/include/c++/10/condition_variable:209
#2 0x000000000066d8e7 in std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (this=0x7ffe10017ce8, __lock=..., __atime=...) at /usr/include/c++/10/condition_variable:119
#3 0x000000000065fdb8 in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> >, jami::MultiplexedSocket::waitForData(const uint16_t&, std::chrono::milliseconds, s
td::error_code&) const::<lambda()> >(std::unique_lock<std::mutex> &, const std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1, 1000000000> > > &, struct {...}) (this=0x7ffe10017ce8, __lock=..
., __atime=..., __p=...) at /usr/include/c++/10/condition_variable:158
--Type <RET> for more, q to quit, c to continue without paging--
#4 0x000000000065fb76 in std::condition_variable::wait_for<long int, std::ratio<1, 1000>, jami::MultiplexedSocket::waitForData(const uint16_t&, std::chrono::milliseconds, std::error_code&) const::<lambda()> >(std::unique_lock<std::mutex
> &, const std::chrono::duration<long, std::ratio<1, 1000> > &, struct {...}) (this=0x7ffe10017ce8, __lock=..., __rtime=..., __p=...) at /usr/include/c++/10/condition_variable:185
#5 0x000000000065e959 in jami::MultiplexedSocket::waitForData (this=0x7ffe10008400, channel=@0x7ffe100092d8: 38876, timeout=..., ec=...) at multiplexed_socket.cpp:481
#6 0x000000000065f517 in jami::ChannelSocket::waitForData (this=0x7ffe10006850, timeout=..., ec=...) at multiplexed_socket.cpp:656
#7 0x000000000073cbb1 in P2PStreamRead (stream=0x7ffe04026910, buffer=0x7ffe0402e060 "0008NAK\n", buflen=65536, read=0x7ffe727f7a08) at gittransport.cpp:104
#8 0x0000000000bc0863 in git_smart.recv_cb ()
#9 0x0000000000bc2418 in recv_pkt ()
#10 0x0000000000bc32f1 in git_smart.download_pack ()
#11 0x0000000000ba8919 in git_remote_download ()
```
+ Add account id on logs (to rebase)
+ Queue for merge (convId, device)
+ test double fetch without common refs => should merge both side ok
(a & b same repo, a add commit, b too, then start daemon)
+ Handle 3 users
+ Add locks on conversations_ & pendingFetch & avoid lock on sendMessageNotification + avoid to lock on big operations
+ Avoid multiple parrallel fetch on different remots with same repository, this cause issues
+ Clean warnings
+ Fix segv for repository_ in conversationrepository_
+ improve getMembers()
+ Doc: verify in the doc that we do not add certificates in invited
+ end blockedSwarm-chatSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/350pulseaudio, to check: dring CPU increase with pulse if jack disconnected2021-07-09T20:58:21ZSébastien Blinpulseaudio, to check: dring CPU increase with pulse if jack disconnectedhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/349[Feature Request] Remotely control another participant’s shared screen2022-03-10T18:18:50Zovari[Feature Request] Remotely control another participant’s shared screenOnce participants are in a meeting, at the top right (tile view) or bottom left (thumbnail view) of the other participant menu, below **Kick out** and **Mute** you will see another option, **Remote control**.<br>
![image](/uploads/0fb526...Once participants are in a meeting, at the top right (tile view) or bottom left (thumbnail view) of the other participant menu, below **Kick out** and **Mute** you will see another option, **Remote control**.<br>
![image](/uploads/0fb526adb2d5bd623ed0898a84b357d3/image.png)<br>
The remote participant will get a request to approve the remote access request. Only then will it be possible to control the remote screen.<br>
[HowTo use Jitsi Meet to remotely control another participant’s shared screen](https://community.jitsi.org/t/howto-use-jitsi-meet-to-remotely-control-another-participants-shared-screen/48910)
![image](/uploads/015d1d68c0da0603ae2f8882729624a8/image.png)<br>
(https://meet.jit.si, accessed November 17th, 2020)
> This is usefull feature, that I have found only in zoom. It schould be avaliable. I am using it when teaching remotely to fix students code on their own computers. They have their own environment and I need to fix it right there at theirs computer. Zoom has it. I am fan of opensource, but this policy will go nowhere for jitsi. I will pass with opensource then.
https://community.jitsi.org/t/howto-use-jitsi-meet-to-remotely-control-another-participants-shared-screen/48910/8
>I tutor computer science online, and the ability to point at the relevant portion of source code, and to insert comments is essential. I realize it’s a potential security issue, but it would be nice if there was at least some way to opt-in. Jitsi is a really impressive software, but without this feature, for me, Zoom remains as the de facto standard.
https://community.jitsi.org/t/howto-use-jitsi-meet-to-remotely-control-another-participants-shared-screen/48910/9https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/348Swarm: change addMember logic2021-07-14T19:27:23ZSébastien BlinSwarm: change addMember logic+ getMembers return only members that joined, not pending invites
+ update doc
+ update code
+ update tests+ getMembers return only members that joined, not pending invites
+ update doc
+ update code
+ update testshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/347Use keep alive mechanism to auto re-register sip account2020-11-19T16:31:25ZMing Rui ZhangUse keep alive mechanism to auto re-register sip accountIteration 23Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/346Use outbound proxy server address when it is specified2021-02-22T21:57:03ZMing Rui ZhangUse outbound proxy server address when it is specifiedCurrently, the proxy address in the SIP client does not have an impact,
when the user specifies that, it should use that address as the destination addressCurrently, the proxy address in the SIP client does not have an impact,
when the user specifies that, it should use that address as the destination addressIteration 23Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/493account loading failed when build with clang 122021-04-01T14:53:49ZKateryna Kostiukaccount loading failed when build with clang 12Certificate parsing broken. Error: "Can't export CRL: ASN1 parser: Value is not valid." Happens when gnutls use libtasn1 build with clang 12.Certificate parsing broken. Error: "Can't export CRL: ASN1 parser: Value is not valid." Happens when gnutls use libtasn1 build with clang 12.Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/345Swarm: Fetch validation2021-04-19T13:29:22ZSébastien BlinSwarm: Fetch validation+ Implement https://git.jami.net/savoirfairelinux/ring-project/wikis/Group-chat-feature-(design-draft)#validating-a-commit
+ Add tests
+ Avoid too big fetch
+ Rebase changes in wanted patches+ Implement https://git.jami.net/savoirfairelinux/ring-project/wikis/Group-chat-feature-(design-draft)#validating-a-commit
+ Add tests
+ Avoid too big fetch
+ Rebase changes in wanted patchesSwarm-chatSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/344Swarm: Design change. A member must accepts the invite to be in getMembers()2021-04-19T14:20:47ZSébastien BlinSwarm: Design change. A member must accepts the invite to be in getMembers()We need to avoid to send messages to someone that discard an invite. Also when removing a conversation, we should be sure that someone can sync, so accepted
Problem:
+ What happen when accepting/discarding an invite?
+ To discuss/solve:...We need to avoid to send messages to someone that discard an invite. Also when removing a conversation, we should be sure that someone can sync, so accepted
Problem:
+ What happen when accepting/discarding an invite?
+ To discuss/solve: The invite must go through, else, it will be problematic to detect invitations
+ Change tests for getMembers
+ Change tests for removeConversation
+ Add tests for accepts/discards
+ Test that the invite is received if not present at first
+ Update docSwarm-chatSé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/342Recording issues2021-02-03T20:42:51ZPierre LespagnolRecording issues* [x] Audio or video cut off too soon #40
* [ ] Client crashes #1218
* [ ] Recording stop after change of input #236
* [ ] Use acceleration for recording #237
* [ ] Jami daemon crash when streaming a recorded file #270* [x] Audio or video cut off too soon #40
* [ ] Client crashes #1218
* [ ] Recording stop after change of input #236
* [ ] Use acceleration for recording #237
* [ ] Jami daemon crash when streaming a recorded file #270Iteration 27Pierre 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/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/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/337allow moderators to hangup a participant2021-01-06T14:55:39ZAdrien Béraudallow moderators to hangup a participantIteration 25Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/336allow moderators to mute individual conference participants2021-01-22T20:35:33ZAdrien Béraudallow moderators to mute individual conference participantsIteration 26Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/335UPNP/NAT-PMP - add a handler for automatic port mapping provisioning2021-02-15T19:32:05ZMohamed ChibaniUPNP/NAT-PMP - add a handler for automatic port mapping provisioningAdd a handler for the provisioned port mappings (see #334 ). The handler must automatically maintain a pool of mapping ready for use whenever a call is started (outgoing/incoming). The handler must create new mappings if the number of av...Add a handler for the provisioned port mappings (see #334 ). The handler must automatically maintain a pool of mapping ready for use whenever a call is started (outgoing/incoming). The handler must create new mappings if the number of available mappings drops under a pre-defined limit, and must also delete unnecessary mappings when the number of mapping exceeds a defined max limit.Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/334UPNP/NAT-PMP - Provision port mapping to avoid delay2021-02-08T15:31:50ZMohamed ChibaniUPNP/NAT-PMP - Provision port mapping to avoid delayOn some UPNP/NAT-PMP implementations, port mapping requests may take up to few seconds to be granted. In the current daemon version, the port mapping requests are made just before ICE negotiation starts, which causes the connectivity che...On some UPNP/NAT-PMP implementations, port mapping requests may take up to few seconds to be granted. In the current daemon version, the port mapping requests are made just before ICE negotiation starts, which causes the connectivity check on those ports to fail if the mapping is not granted quickly enough.Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/333TlsSession: use setOnRecv_ for reliable transport2022-07-11T17:46:31ZSébastien BlinTlsSession: use setOnRecv_ for reliable transportlike we do for unreliable transportslike we do for unreliable transportsLaterSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/332Crash in media2021-08-20T19:53:07ZSébastien BlinCrash in media```
[Switching to Thread 0x7ffef4ff9700 (LWP 1076141)]
0x00000000012925aa in ff_yuv_420_rgb32_ssse3 ()
(gdb) bt
#0 0x00000000012925aa in ff_yuv_420_rgb32_ssse3 ()
#1 0x00000000012914d3 in yuv420_rgb32_ssse3 (c=0x7ffedc3142c0, src=0x7ff...```
[Switching to Thread 0x7ffef4ff9700 (LWP 1076141)]
0x00000000012925aa in ff_yuv_420_rgb32_ssse3 ()
(gdb) bt
#0 0x00000000012925aa in ff_yuv_420_rgb32_ssse3 ()
#1 0x00000000012914d3 in yuv420_rgb32_ssse3 (c=0x7ffedc3142c0, src=0x7ffef4ff5960, srcStride=0x7ffef4ff5940, srcSliceY=0, srcSliceH=720, dst=0x7ffef4ff5980, dstStride=0x7ffef4ff5950) at libswscale/x86/yuv2rgb_template.c:119
#2 0x000000000122ebff in sws_scale (c=<optimized out>, srcSlice=<optimized out>, srcStride=<optimized out>, srcSliceY=<optimized out>, srcSliceH=<optimized out>, dst=<optimized out>, dstStride=<optimized out>)
at libswscale/swscale.c:969
#3 0x000000000063357c in jami::video::VideoScaler::scale(DRing::VideoFrame const&, DRing::VideoFrame&) () at libswscale/swscale.c:596
#4 0x00000000006111e0 in jami::video::ShmHolder::renderFrame(DRing::VideoFrame const&) () at libswscale/swscale.c:596
#5 0x0000000000612169 in jami::video::SinkClient::update(jami::Observable<std::shared_ptr<DRing::MediaFrame> >*, std::shared_ptr<DRing::MediaFrame> const&) () at libswscale/swscale.c:596
#6 0x000000000061a1d8 in jami::Observable<std::shared_ptr<DRing::MediaFrame> >::notify(std::shared_ptr<DRing::MediaFrame>) () at libswscale/swscale.c:596
#7 0x0000000000614a23 in jami::video::VideoGenerator::publishFrame(std::shared_ptr<DRing::VideoFrame>) () at libswscale/swscale.c:596
#8 0x00000000007e4bea in std::_Function_handler<void (std::shared_ptr<DRing::MediaFrame>&&), jami::video::VideoReceiveThread::setup()::{lambda(std::shared_ptr<DRing::MediaFrame> const&)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<DRing::MediaFrame>&&) () at libswscale/swscale.c:596
#9 0x000000000071e30c in jami::MediaDecoder::decode(AVPacket&) () at libswscale/swscale.c:596
#10 0x000000000071c14a in jami::MediaDemuxer::decode() () at libswscale/swscale.c:596
#11 0x00000000007e62c4 in jami::video::VideoReceiveThread::decodeFrame() () at libswscale/swscale.c:596
#12 0x0000000000674bdd in jami::ThreadLoop::mainloop(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>) () at libswscale/swscale.c:596
#13 0x0000000000675308 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (jami::ThreadLoop::*)(std::thread::id&, std::function<bool ()>, std::function<void ()>, std::function<void ()>), jami::ThreadLoop*, std::reference_wrapper<std::thread::id>, std::function<bool ()>, std::function<void ()>, std::function<void ()> > > >::_M_run() () at libswscale/swscale.c:596
#14 0x00007ffff72f9b84 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#15 0x00007ffff7950432 in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff6ff7913 in clone () from /lib64/libc.so.6
```
Also
```
i Daemon_shm_1088573_0>, mixer=0
[1603479935.280|40373|sinkclient.cpp :419 ] Start sink <5345364777673835 / Jami Daemon_shm_1088573_0>, size=1206x720, mixer=0
[1603479935.280|40373|sinkclient.cpp :191 ] ShmHolder[Jami Daemon_shm_1088573_0]: new sizes: f=3473280, a=6946663
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1088573==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x0000018ec52a bp 0x7fd6bd5a1b50 sp 0x7fd6bd5a1a38 T119)
==1088573==The signal is caused by a READ memory access.
==1088573==Hint: this fault was caused by a dereference of a high value address (see register values below). Dissassemble the provided pc to learn which register was used.
#0 0x18ec52a (/home/amarok/Projects/jami/daemon/bin/dring+0x18ec52a)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/home/amarok/Projects/jami/daemon/bin/dring+0x18ec52a)
Thread T119 created by T1 here:
#0 0x7fd705418be5 in __interceptor_pthread_create (/lib64/libasan.so.6+0x57be5)
[1603479935.371|40269|sipvoiplink.cpp :1218 ] [INVITE:0x6190002670a8] RX SIP method 6 (INFO)
[1603479935.371|40269|sipvoiplink.cpp :1086 ] Rotate video 0 deg.
#1 0x7fd704718e48 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib64/libstdc++.so.6+0xd8e48)
#2 0xa13459 in jami::ThreadLoop::start() /home/amarok/Projects/jami/daemon/src/threadloop.cpp:86
#3 0xe3dd71 in jami::video::VideoReceiveThread::startLoop(std::function<void (jami::MediaType)> const&) /home/amarok/Projects/jami/daemon/src/media/video/video_receive_thread.cpp:71
#4 0xddc26f in jami::video::VideoRtpSession::startReceiver() /home/amarok/Projects/jami/daemon/src/media/video/video_rtp_session.cpp:196
#5 0xddcd2c in jami::video::VideoRtpSession::start(std::unique_ptr<jami::IceSocket, std::default_delete<jami::IceSocket> >, std::unique_ptr<jami::IceSocket, std::default_delete<jami::IceSocket> >) /home/amarok/Projects/jami/daemon/src/media/video/video_rtp_session.cpp:241
#6 0xb1174d in jami::SIPCall::startAllMedia() /home/amarok/Projects/jami/daemon/src/sip/sipcall.cpp:1170
#7 0xb13362 in operator() /home/amarok/Projects/jami/daemon/src/sip/sipcall.cpp:1375
#8 0xb2108b in __invoke_impl<bool, jami::SIPCall::waitForIceAndStartMedia()::<lambda()>::<lambda()>&> /usr/include/c++/10/bits/invoke.h:60
#9 0xb1e821 in __invoke_r<bool, jami::SIPCall::waitForIceAndStartMedia()::<lambda()>::<lambda()>&> /usr/include/c++/10/bits/invoke.h:113
#10 0xb1c31a in _M_invoke /usr/include/c++/10/bits/std_function.h:291
#11 0xa13b49 in std::function<bool ()>::operator()() const /usr/include/c++/10/bits/std_function.h:622
#12 0xa983c8 in jami::RepeatedTask::run() /home/amarok/Projects/jami/daemon/src/scheduled_executor.h:76
#13 0xa94dfb in operator() /home/amarok/Projects/jami/daemon/src/scheduled_executor.cpp:87
#14 0xa97e0d in __invoke_impl<void, jami::ScheduledExecutor::reschedule(std::shared_ptr<jami::RepeatedTask>, jami::ScheduledExecutor::time_point, jami::ScheduledExecutor::duration)::<lambda()>&> /usr/include/c++/10/bits/invoke.h:60
#15 0xa97cb9 in __invoke_r<void, jami::ScheduledExecutor::reschedule(std::shared_ptr<jami::RepeatedTask>, jami::ScheduledExecutor::time_point, jami::ScheduledExecutor::duration)::<lambda()>&> /usr/include/c++/10/bits/invoke.h:110
#16 0xa97b2b in _M_invoke /usr/include/c++/10/bits/std_function.h:291
#17 0x571dc7 in std::function<void ()>::operator()() const /usr/include/c++/10/bits/std_function.h:622
#18 0xa9829f in jami::Task::run() /home/amarok/Projects/jami/daemon/src/scheduled_executor.h:55
#19 0xa95281 in operator() /home/amarok/Projects/jami/daemon/src/scheduled_executor.cpp:98
#20 0xa9758d in __invoke_impl<void, jami::ScheduledExecutor::schedule(std::shared_ptr<jami::Task>, jami::ScheduledExecutor::time_point)::<lambda()>&> /usr/include/c++/10/bits/invoke.h:60
#21 0xa97400 in __invoke_r<void, jami::ScheduledExecutor::schedule(std::shared_ptr<jami::Task>, jami::ScheduledExecutor::time_point)::<lambda()>&> /usr/include/c++/10/bits/invoke.h:110
#22 0xa970c4 in _M_invoke /usr/include/c++/10/bits/std_function.h:291
#23 0x571dc7 in std::function<void ()>::operator()() const /usr/include/c++/10/bits/std_function.h:622
#24 0xa95a78 in jami::ScheduledExecutor::loop() /home/amarok/Projects/jami/daemon/src/scheduled_executor.cpp:124
#25 0xa941e8 in operator() /home/amarok/Projects/jami/daemon/src/scheduled_executor.cpp:28
#26 0xa981c5 in __invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/10/bits/invoke.h:60
#27 0xa9817a in __invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > /usr/include/c++/10/bits/invoke.h:95
#28 0xa98127 in _M_invoke<0> /usr/include/c++/10/thread:264
#29 0xa980fb in operator() /usr/include/c++/10/thread:271
#30 0xa980df in _M_run /usr/include/c++/10/thread:215
#31 0x7fd704718b83 (/lib64/libstdc++.so.6+0xd8b83)
Thread T1 created by T0 here:
#0 0x7fd705418be5 in __interceptor_pthread_create (/lib64/libasan.so.6+0x57be5)
#1 0x7fd704718e48 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (/lib64/libstdc++.so.6+0xd8e48)
#2 0xa9441c in jami::ScheduledExecutor::ScheduledExecutor() /home/amarok/Projects/jami/daemon/src/scheduled_executor.cpp:29
#3 0x98502b in jami::Manager::ManagerPimpl::ManagerPimpl(jami::Manager&) /home/amarok/Projects/jami/daemon/src/manager.cpp:447
#4 0x988503 in jami::Manager::Manager() /home/amarok/Projects/jami/daemon/src/manager.cpp:726
#5 0x9882e1 in jami::Manager::instance() /home/amarok/Projects/jami/daemon/src/manager.cpp:702
#6 0x59e675 in DRing::init(DRing::InitFlag) /home/amarok/Projects/jami/daemon/src/ring_api.cpp:57
#7 0x48e097 in DBusClient::initLibrary(int) /home/amarok/Projects/jami/daemon/bin/dbus/dbusclient.cpp:245
#8 0x482e34 in DBusClient::DBusClient(int, bool) /home/amarok/Projects/jami/daemon/bin/dbus/dbusclient.cpp:108
#9 0x482543 in void __gnu_cxx::new_allocator<DBusClient>::construct<DBusClient, int&, bool&>(DBusClient*, int&, bool&) (/home/amarok/Projects/jami/daemon/bin/dring+0x482543)
#10 0x48235f in void std::allocator_traits<std::allocator<DBusClient> >::construct<DBusClient, int&, bool&>(std::allocator<DBusClient>&, DBusClient*, int&, bool&) (/home/amarok/Projects/jami/daemon/bin/dring+0x48235f)
#11 0x482000 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/amarok/Projects/jami/daemon/bin/dring+0x482000)
#12 0x481a25 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/amarok/Projects/jami/daemon/bin/dring+0x481a25)
#13 0x48150d 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/amarok/Projects/jami/daemon/bin/dring+0x48150d)
#14 0x480b7b in std::shared_ptr<DBusClient>::shared_ptr<std::allocator<DBusClient>, int&, bool&>(std::_Sp_alloc_shared_tag<std::allocator<DBusClient> >, int&, bool&) (/home/amarok/Projects/jami/daemon/bin/dring+0x480b7b)
#15 0x480224 in std::shared_ptr<DBusClient> std::allocate_shared<DBusClient, std::allocator<DBusClient>, int&, bool&>(std::allocator<DBusClient> const&, int&, bool&) (/home/amarok/Projects/jami/daemon/bin/dring+0x480224)
#16 0x47f70a in std::shared_ptr<DBusClient> std::make_shared<DBusClient, int&, bool&>(int&, bool&) (/home/amarok/Projects/jami/daemon/bin/dring+0x47f70a)
#17 0x47e74b in main /home/amarok/Projects/jami/daemon/bin/main.cpp:218
#18 0x7fd70433c041 in __libc_start_main (/lib64/libc.so.6+0x27041)
==1088573==ABORTING
```Pierre LespagnolPierre Lespagnol