Jami daemon crashes right on startup (ring::SIPAccount::checkNATAddress)
Environment:
- openSUSE Tumbleweed x64
- dring version: 5.1.0.20180720.629aab94
Reproduce steps:
Start dring with: SIPLOGLEVEL=8 /usr/lib64/ring/dring
It dumps core right after startup.
Backtrace:
#0 ring::SIPAccount::checkNATAddress(pjsip_regc_cbparam*, pj_pool_t*) () at sipaccount.cpp:1766
#1 0x00007ffff77c993a in ring::SIPAccount::onRegister(pjsip_regc_cbparam*) () at /usr/include/c++/8/bits/shared_ptr_base.h:996
#2 0x00007ffff666f8d7 in call_callback (regc=regc@entry=0x5555557df0c8, status=<optimized out>, st_code=<optimized out>, reason=<optimized out>, rdata=<optimized out>, expiration=<optimized out>, contact_cnt=1,
contact=0x7fffffffcbb0, is_unreg=0) at ../src/pjsip-ua/sip_reg.c:775
#3 0x00007ffff667131b in regc_tsx_callback (token=<optimized out>, event=<optimized out>) at ../src/pjsip-ua/sip_reg.c:1345
#4 0x00007ffff622b6fc in tsx_set_state (tsx=tsx@entry=0x5555558685f8, state=state@entry=PJSIP_TSX_STATE_COMPLETED, event_src_type=event_src_type@entry=PJSIP_EVENT_RX_MSG, event_src=0x555555878628, flag=flag@entry=0)
at ../src/pjsip/sip_transaction.c:1267
#5 0x00007ffff622d6e5 in tsx_on_state_proceeding_uac (tsx=0x5555558685f8, event=0x7fffffffce10) at ../src/pjsip/sip_transaction.c:3001
#6 0x00007ffff622ef7e in pjsip_tsx_recv_msg (tsx=tsx@entry=0x5555558685f8, rdata=rdata@entry=0x555555878628) at ../src/pjsip/sip_transaction.c:1827
#7 0x00007ffff622f085 in mod_tsx_layer_on_rx_response (rdata=0x555555878628) at ../src/pjsip/sip_transaction.c:893
#8 0x00007ffff621761f in pjsip_endpt_process_rx_data (endpt=0x555555887da8, rdata=0x555555878628, p=<optimized out>, p_handled=0x7fffffffcf3c) at ../src/pjsip/sip_endpoint.c:901
#9 0x00007ffff62177ee in endpt_on_rx_msg (endpt=0x555555887da8, status=<optimized out>, rdata=0x555555878628) at ../src/pjsip/sip_endpoint.c:1043
#10 0x00007ffff621e219 in pjsip_tpmgr_receive_packet (mgr=<optimized out>, rdata=rdata@entry=0x555555878628) at ../src/pjsip/sip_transport.c:1979
#11 0x00007ffff622127f in udp_on_read_complete (key=0x555555893400, op_key=<optimized out>, bytes_read=<optimized out>) at ../src/pjsip/sip_transport_udp.c:170
#12 0x00007ffff592ad97 in ioqueue_dispatch_read_event (ioqueue=<optimized out>, h=0x555555893400) at ../src/pj/ioqueue_common_abs.c:605
#13 0x00007ffff592c60e in pj_ioqueue_poll (ioqueue=0x555555892b40, timeout=timeout@entry=0x7fffffffd4a0) at ../src/pj/ioqueue_epoll.c:812
#14 0x00007ffff621733a in pjsip_endpt_handle_events2 (endpt=0x555555887da8, max_timeout=max_timeout@entry=0x7ffff79162d0 <ring::SIPVoIPLink::handleEvents()::timeout>, p_count=p_count@entry=0x0) at ../src/pjsip/sip_endpoint.c:744
#15 0x00007ffff62173e7 in pjsip_endpt_handle_events (endpt=<optimized out>, max_timeout=max_timeout@entry=0x7ffff79162d0 <ring::SIPVoIPLink::handleEvents()::timeout>) at ../src/pjsip/sip_endpoint.c:776
#16 0x00007ffff77df3f1 in ring::SIPVoIPLink::handleEvents() () at sipvoiplink.cpp:698
#17 0x00007ffff7767d58 in ring::Manager::pollEvents() () at /usr/include/c++/8/bits/std_function.h:682
#18 0x00007ffff7bbe7dd in DBus::DefaultMainLoop::dispatch() () from /usr/lib64/libdbus-c++-1.so.1
#19 0x00007ffff7bbf201 in DBus::BusDispatcher::enter() () from /usr/lib64/libdbus-c++-1.so.1
#20 0x000055555557bb3f in DBusClient::event_loop() () at /usr/include/c++/8/bits/unique_ptr.h:342
#21 0x000055555557b29f in main () at main.cpp:236
#22 0x00007ffff6d1211b in __libc_start_main (main=0x55555557ae40 <main>, argc=1, argv=0x7fffffffddd8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffddc8) at ../csu/libc-start.c:308
#23 0x000055555557b5ba in _start () at ../sysdeps/x86_64/start.S:120
Full backtrace is attached. 0th frame contains a GDB <error>.