Assert fail in PJNATH when creating ICE session
This problem occurred when trying to use Jami over a local network (without Internet access), but I haven't found a way to reproduce it systematically so far.
jami: ../src/pjnath/ice_strans.c:1602: pj_ice_strans_init_ice: Assertion `pj_sockaddr_has_addr(&cand->addr)' failed.
Thread 63 "jami" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff3d7f2640 (LWP 771879)]
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140734225131072) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140734225131072) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=140734225131072) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140734225131072, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007fffe6a42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007fffe6a287f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007fffe6a2871b in __assert_fail_base (fmt=0x7fffe6bdd130 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fffe8e1fcd8 "pj_sockaddr_has_addr(&cand->addr)", file=0x7fffe8e1f623 "../src/pjnath/ice_strans.c", line=1602, function=<optimized out>) at ./assert/assert.c:92
#6 0x00007fffe6a39e96 in __GI___assert_fail (assertion=0x7fffe8e1fcd8 "pj_sockaddr_has_addr(&cand->addr)", file=0x7fffe8e1f623 "../src/pjnath/ice_strans.c", line=1602, function=0x7fffe8e205d0 <__PRETTY_FUNCTION__.16> "pj_ice_strans_init_ice") at ./assert/assert.c:101
#7 0x00007fffe7ecffbb in pj_ice_strans_init_ice (ice_st=0x7fff10842058, role=PJ_ICE_SESS_ROLE_CONTROLLED, local_ufrag=0x0, local_passwd=0x0) at ../src/pjnath/ice_strans.c:1602
#8 0x00007fffe7de8048 in dhtnet::IceTransport::Impl::createIceSession(pj_ice_sess_role) () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#9 0x00007fffe7deb6ad in dhtnet::IceTransport::Impl::onComplete(pj_ice_strans*, pj_ice_strans_op, int) () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#10 0x00007fffe7ecf62b in sess_init_update (ice_st=0x7fff10842058) at ../src/pjnath/ice_strans.c:1397
#11 0x00007fffe7ecef9f in pj_ice_strans_create (name=0x7fff3d7e9670 "0x7fff10765260", cfg=0x7fff107653b0, comp_cnt=1, user_data=0x7fff10765260, cb=0x7fff3d7e95e0, p_ice_st=0x7fff10765338) at ../src/pjnath/ice_strans.c:1209
#12 0x00007fffe7df0d23 in dhtnet::IceTransport::Impl::initIceInstance(dhtnet::IceTransportOptions const&) () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#13 0x00007fffe7dccad8 in auto dhtnet::ConnectionManager::Impl::connectDevice(std::shared_ptr<dht::crypto::Certificate> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void (std::shared_ptr<dhtnet::ChannelSocket> const&, dht::Hash<32ul> const&)>, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda()#1}::operator()() const::{lambda(auto:1&&)#2}::operator()<dhtnet::IceTransportOptions>(dhtnet::IceTransportOptions&&) const () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#14 0x00007fffe7dcdb2b in dhtnet::ConnectionManager::Impl::getIceOptions(std::function<void (dhtnet::IceTransportOptions&&)>)::{lambda()#1}::operator()() const () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#15 0x00007fffe7dbf643 in std::_Function_handler<void (std::vector<dht::SockAddr, std::allocator<dht::SockAddr> >&&), dhtnet::ConnectionManager::Impl::storeActiveIpAddress(std::function<void ()>&&)::{lambda(std::vector<dht::SockAddr, std::allocator<dht::SockAddr> >&&)#1}>::_M_invoke(std::_Any_data const&, std::vector<dht::SockAddr, std::allocator<dht::SockAddr> >&&) () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#16 0x00007fffe7f417df in std::_Function_handler<void (dht::SecureDht&), dht::DhtRunner::getPublicAddress(std::function<void (std::vector<dht::SockAddr, std::allocator<dht::SockAddr> >&&)>, unsigned short)::{lambda(dht::SecureDht&)#1}>::_M_invoke(std::_Any_data const&, dht::SecureDht&) () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#17 0x00007fffe7f4c96f in dht::DhtRunner::loop_() () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#18 0x00007fffe7f4d155 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<dht::DhtRunner::run(dht::DhtRunner::Config const&, dht::DhtRunner::Context&&)::{lambda()#2}> > >::_M_run() () at /home/fsimon/jami-client-qt/daemon/src/.libs/libjami.so.0
#19 0x00007fffe6edc253 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#20 0x00007fffe6a94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#21 0x00007fffe6b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81