sipvoiplink, crash on exit
Scenario
Quit jami
trace (in rare case)
Thread 42 "jami-qt" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff1e7fc700 (LWP 1129330)]
__GI___pthread_mutex_lock (mutex=0x30) at ../nptl/pthread_mutex_lock.c:67
67 ../nptl/pthread_mutex_lock.c: No such file or directory.
(gdb) bt
#0 __GI___pthread_mutex_lock (mutex=0x30) at ../nptl/pthread_mutex_lock.c:67
#1 0x00007fffe8674c5d in __gthread_mutex_lock(__gthread_mutex_t*) (__mutex=0x30) at /usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h:749
#2 0x00007fffe8683b1e in std::mutex::lock() (this=0x30) at /usr/include/c++/9/bits/std_mutex.h:100
#3 0x00007fffe8687466 in std::lock_guard<std::mutex>::lock_guard(std::mutex&) (this=0x7fff1e7f8380, __m=...) at /usr/include/c++/9/bits/std_mutex.h:159
#4 0x00007fffe89a089c in jami::SipTransportBroker::addTransport(pjsip_transport*) (this=0x0, t=0x555556184de8) at ./sip/siptransport.cpp:248
#5 0x00007fffe8987fa3 in jami::transaction_request_cb(pjsip_rx_data*) (rdata=0x7ffea8001bc8) at ./sip/sipvoiplink.cpp:274
#6 0x00007fffe8c7b3cb in pjsip_endpt_process_rx_data () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#7 0x00007fffe8c7b606 in endpt_on_rx_msg () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#8 0x00007fffe8c82633 in pjsip_tpmgr_receive_packet () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#9 0x00007fffe8c85136 in udp_on_read_complete () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#10 0x00007fffe8cc94d7 in ioqueue_dispatch_read_event () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#11 0x00007fffe8ccaf3b in pj_ioqueue_poll () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#12 0x00007fffe8c7b118 in pjsip_endpt_handle_events2 () at /home/sblin/ring-project/daemon/src/.libs/libring.so.0
#13 0x00007fffe898b644 in jami::SIPVoIPLink::handleEvents() (this=0x555555b86bc0) at ./sip/sipvoiplink.cpp:813
#14 0x00007fffe8989ce4 in jami::SIPVoIPLink::<lambda()>::operator()(void) const (__closure=0x555556153848) at ./sip/sipvoiplink.cpp:739
#15 0x00007fffe8991e0a in std::__invoke_impl<void, jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> >(std::__invoke_other, jami::SIPVoIPLink::<lambda()> &&) (__f=...)
at /usr/include/c++/9/bits/invoke.h:60
#16 0x00007fffe8991dbf in std::__invoke<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> >(jami::SIPVoIPLink::<lambda()> &&) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95
#17 0x00007fffe8991d6c in std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x555556153848)
at /usr/include/c++/9/thread:244
#18 0x00007fffe8991d42 in std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > >::operator()(void) (this=0x555556153848) at /usr/include/c++/9/thread:251
#19 0x00007fffe8991d26 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::<lambda()> > > >::_M_run(void) (this=0x555556153840)
at /usr/include/c++/9/thread:195
#20 0x00007fffea6a3de4 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#21 0x00007fffea449609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#22 0x00007fffea36e293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)