Segfault in libasteriskpj.so

We are running Asterisk 16.8.0 in Ubuntu 16.04.5 LTS (Xenial Xerus) and got Segmentation fault error below.
Does anyone have any idea?

!@!@!@! brief.txt !@!@!@!

$2 = {si_signo = 11, si_errno = 0, si_code = 1, _sifields = {_pad = {136, 0 <repeats 27 times>}, _kill = {si_pid = 136, si_uid = 0}, _timer = {si_tid = 136, si_overrun = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _rt = {si_pid = 136, si_uid = 0, 
si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _sigchld = {si_pid = 136, si_uid = 0, si_status = 0, si_utime = 0, si_stime = 0}, _sigfault = {si_addr = 0x88, _addr_lsb = 0, _addr_bnd = {_lower = 0x0, _upper = 0x0}}, _sigpoll = {si_band = 136, si_fd = 0}
}}
Signal        Stop      Print   Pass to program Description
SIGSEGV       Yes       Yes     Yes             Segmentation fault

Thread 263 (Thread 0x7fde1c0c0700 (LWP 9758)):
#0  0x00007fded2a7174d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x000000000049f50c in poll (__timeout=353217, __nfds=7, __fds=0x7fde1c0b9640) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  ast_waitfor_nandfds (c=0x7fde1c0b9c70, n=2, fds=0x0, nfds=0, exception=0x0, outfd=0x0, ms=0x7fde1c0ba7cc) at channel.c:3090
#3  0x000000000049f9f4 in ast_waitfor_n (c=c@entry=0x7fde1c0b9c70, n=<optimized out>, ms=ms@entry=0x7fde1c0ba7cc) at channel.c:3166
#4  0x00007fde7b70d5e5 in wait_for_answer (in=in@entry=0x7fde3c08c1d0, out_chans=out_chans@entry=0x7fde1c0ba7f0, to=to@entry=0x7fde1c0ba7cc, peerflags=peerflags@entry=0x7fde1c0bb350, opt_args=opt_args@entry=0x7fde1c0bab60, pa=pa@entry=0x7fde1c0bac00, nu
m_in=0x7fde1c0ba810, result=0x7fde1c0ba7d4, dtmf_progress=0x0, ignore_cc=1, forced_clid=0x7fde1c0ba830, stored_clid=0x7fde1c0ba880) at app_dial.c:1285
#5  0x00007fde7b71244c in dial_exec_full (chan=0x7fde3c08c1d0, data=<optimized out>, peerflags=peerflags@entry=0x7fde1c0bb350, continue_exec=continue_exec@entry=0x0) at app_dial.c:2837
#6  0x00007fde7b7147c6 in dial_exec (chan=<optimized out>, data=<optimized out>) at app_dial.c:3323
#7  0x000000000053313d in pbx_exec (c=c@entry=0x7fde3c08c1d0, app=app@entry=0x4aaea10, data=0x7fde1c0bc33a "SIP/*****OMIT*****@*****OMIT*****,360,tTU(answered^fcebce99-6de0-4e53-9aa7-936f4b1ed993^301)") at pbx_app.c:492
#8  0x00007fde68c5fcf5 in handle_exec (chan=0x7fde3c08c1d0, agi=0x7fde1c0bba00, argc=3, argv=0x7fde1c0bb4e0) at res_agi.c:3144
#9  0x00007fde68c62ca8 in agi_handle_command (chan=<optimized out>, agi=agi@entry=0x7fde1c0bba00, buf=buf@entry=0x7fde1c0bc330 "EXEC", dead=0) at res_agi.c:4052
#10 0x00007fde68c63ca6 in run_agi (argv=<optimized out>, argc=<optimized out>, dead=0, status=0x7fde1c0bb9f4, pid=-1, agi=0x7fde1c0bba00, request=0x7fde1c0bb940 "agi://127.0.0.1/out", chan=0x7fde3c08c1d0) at res_agi.c:4244
#11 agi_exec_full (chan=0x7fde3c08c1d0, data=<optimized out>, enhanced=<optimized out>, dead=<optimized out>) at res_agi.c:4530
#12 0x000000000053313d in pbx_exec (c=c@entry=0x7fde3c08c1d0, app=app@entry=0x47070f0, data=data@entry=0x7fde1c0bdc30 "agi://127.0.0.1/out") at pbx_app.c:492
#13 0x0000000000526705 in pbx_extension_helper (c=c@entry=0x7fde3c08c1d0, context=0x7fde3c08cb90 "common_out", exten=exten@entry=0x7fde3c08cbe0 "*****OMIT*****", priority=priority@entry=16, label=label@entry=0x0, callerid=callerid@entry=0x7fde3c31b4a0 "mesh
0100105500010442", action=E_SPAWN, found=0x7fde1c0bfcdc, combined_find_spawn=1, con=0x0) at pbx.c:2947
#14 0x0000000000528d91 in ast_spawn_extension (combined_find_spawn=1, found=0x7fde1c0bfcdc, callerid=0x7fde3c31b4a0 "*****OMIT*****", priority=16, exten=*****OMIT***** "*****OMIT*****", context=<optimized out>, c=0x7fde3c08c1d0) at pbx.c:4197
#15 __ast_pbx_run (c=c@entry=0x7fde3c08c1d0, args=args@entry=0x0) at pbx.c:4371
#16 0x000000000052a30b in pbx_thread (data=data@entry=0x7fde3c08c1d0) at pbx.c:4695
#17 0x00000000005a9e7c in dummy_start (data=<optimized out>) at utils.c:1249
#18 0x00007fded34a36ba in start_thread (arg=0x7fde1c0c0700) at pthread_create.c:333
#19 0x00007fded2a7d41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Or

!@!@!@! brief.txt !@!@!@!

$2 = {si_signo = 11, si_errno = 0, si_code = 1, _sifields = {_pad = {136, 0 <repeats 27 times>}, _kill = {si_pid = 136, si_uid = 0}, _timer = {si_tid = 136, si_overrun = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _rt = {si_pid = 136, si_uid = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _sigchld = {si_pid = 136, si_uid = 0, si_status = 0, si_utime = 0, si_stime = 0}, _sigfault = {si_addr = 0x88, _addr_lsb = 0, _addr_bnd = {_lower = 0x0, _upper = 0x0}}, _sigpoll = {si_band = 136, si_fd = 0}}}
Signal        Stop      Print   Pass to program Description
SIGSEGV       Yes       Yes     Yes             Segmentation fault

Thread 342 (Thread 0x7fbb3bf52700 (LWP 4689)):
#0  0x00007fbc7614f74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00000000005abb58 in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7fbb3bf4fb00) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  ast_wait_for_input (fd=<optimized out>, ms=<optimized out>) at utils.c:1347
#3  0x00007fbbfc4a622e in websocket_cb (session=<optimized out>, parameters=<optimized out>, headers=<optimized out>) at res_pjsip_transport_websocket.c:395
#4  0x00007fbc26540440 in __ast_websocket_uri_cb (ser=0x7fbbe816cd10, urih=<optimized out>, uri=<optimized out>, method=<optimized out>, get_vars=0x0, headers=<optimized out>) at res_http_websocket.c:949
#5  0x00000000005f1ad0 in handle_uri (headers=0x7fbbf44348c0, method=AST_HTTP_GET, uri=0x7fbb3bf4fdb7 "", ser=0x7fbbe816cd10) at http.c:1487
#6  httpd_process_request (ser=ser@entry=0x7fbbe816cd10) at http.c:1928
#7  0x00000000005f1feb in httpd_helper_thread (data=0x7fbbe816cd10) at http.c:1991
#8  0x00000000005a9e7c in dummy_start (data=<optimized out>) at utils.c:1249
#9  0x00007fbc76b816ba in start_thread (arg=0x7fbb3bf52700) at pthread_create.c:333
#10 0x00007fbc7615b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

There is no thread that has crashed in those treads, and as well we always recommend using the latest version of Asterisk so that people aren’t chasing issues that are already solved.

Thank you for replying.
Do you mean we need to patch some source in 16.8 below?
http://downloads.asterisk.org/pub/telephony/certified-asterisk/ChangeLog-certified-16.8-current

Sorry for wrong thread.

!@!@!@! thread1.txt !@!@!@!

$1 = {si_signo = 11, si_errno = 0, si_code = 1, _sifields = {_pad = {120, 0 <repeats 27 times>}, _kill = {si_pid = 120, si_uid = 0}, _timer = {si_tid = 120, si_overrun = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _rt = {si_pid = 120, si_uid = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _sigchld = {si_pid = 120, si_uid = 0, si_status = 0, si_utime = 0, si_stime = 0}, _sigfault = {si_addr = 0x78, _addr_lsb = 0, _addr_bnd = {_lower = 0x0, _upper = 0x0}}, _sigpoll = {si_band = 120, si_fd = 0}}}
Signal        Stop	Print	Pass to program	Description
SIGSEGV       Yes	Yes	Yes		Segmentation fault

Thread 1 (Thread 0x7fb3b4eb1700 (LWP 18320)):
#0  pj_turn_session_on_rx_pkt (sess=0x0, pkt=pkt@entry=0x7fb3fc136058, pkt_len=pkt_len@entry=152, parsed_len=parsed_len@entry=0x7fb3b4eb0b40) at ../src/pjnath/turn_session.c:1158
        is_stun = <optimized out>
        status = <optimized out>
        is_datagram = <optimized out>
#1  0x00007fb437bac7c8 in on_data_read (asock=<optimized out>, data=0x7fb3fc136058, size=152, status=<optimized out>, remainder=0x7fb3b4eb0bb0) at ../src/pjnath/turn_sock.c:624
        parsed_len = 152
        turn_sock = 0x7fb384700cb8
        ret = 1
#2  0x00007fb437bfbcf0 in ioqueue_on_read_complete (key=0x7fb384290aa8, op_key=0x7fb3fc136c10, bytes_read=236) at ../src/pj/activesock.c:504
        remainder = 152
        ret = 1
        flags = <optimized out>
        asock = 0x7fb384700f00
        r = 0x7fb3fc136c10
        loop = 0
        status = <optimized out>
#3  0x00007fb437bf6647 in ioqueue_dispatch_read_event (ioqueue=<optimized out>, h=0x7fb384290aa8) at ../src/pj/ioqueue_common_abs.c:605
        read_op = 0x7fb3fc136c10
        bytes_read = 236
        has_lock = 1
        rc = <optimized out>
        ioqueue = <optimized out>
        h = 0x7fb384290aa8
        rc = <optimized out>
#4  0x00007fb437bf7e99 in pj_ioqueue_poll (ioqueue=0x7fb384199f28, timeout=timeout@entry=0x7fb3b4eb0e80) at ../src/pj/ioqueue_epoll.c:720
        i = <optimized out>
        count = <optimized out>
        event_cnt = 1
        processed_cnt = 0
        msec = 10
        events = {{events = 1, data = {ptr = 0x7fb384290aa8, fd = -2077685080, u32 = 2217282216, u64 = 140408993155752}}, {events = 32692, data = {ptr = 0x7fb384290aa8, fd = -2077685080, u32 = 2217282216, u64 = 140408993155752}}, {events = 935308617, data = {ptr = 0x83e0213a00007fb4, fd = 32692, u32 = 32692, u64 = 9502631746743599028}}, {events = 1109470538, data = {ptr = 0x7fb437bf8f57 <pj_mutex_lock+39>, fd = 935300951, u32 = 935300951, u64 = 140412006141783}}, {events = 1000000000, data = {ptr = 0x37bf91cb00000000, fd = 0, u32 = 0, u64 = 4017089693702160384}}, {events = 32692, data = {ptr = 0x9, fd = 9, u32 = 9, u64 = 9}}, {events = 935302054, data = {ptr = 0x100007fb4, fd = 32692, u32 = 32692, u64 = 4294999988}}, {events = 0, data = {ptr = 0x7fb384199d98, fd = -2078696040, u32 = 2216271256, u64 = 140408992144792}}, {events = 1, data = {ptr = 0x37bf8f5700000000, fd = 0, u32 = 0, u64 = 4017086996462698496}}, {events = 32692, data = {ptr = 0x7fb384199d98, fd = -2078696040, u32 = 2216271256, u64 = 140408992144792}}, {events = 935301579, data = {ptr = 0x700007fb4, fd = 32692, u32 = 32692, u64 = 30064803764}}, {events = 0, data = {ptr = 0x7fb437bf93a6 <pj_atomic_dec_and_get+38>, fd = 935302054, u32 = 935302054, u64 = 140412006142886}}, {events = 2216271256, data = {ptr = 0x37bf8f5700007fb3, fd = 32691, u32 = 32691, u64 = 4017086996462731187}}, {events = 32692, data = {ptr = 0x7fb3ac2b4968, fd = -1406449304, u32 = 2888517992, u64 = 140409664391528}}, {events = 935301579, data = {ptr = 0x400007fb4, fd = 32692, u32 = 32692, u64 = 17179901876}}, {events = 0, data = {ptr = 0x7fb437bf93a6 <pj_atomic_dec_and_get+38>, fd = 935302054, u32 = 935302054, u64 = 140412006142886}}}
        queue = {{key = 0x7fb384290aa8, event_type = READABLE_EVENT}, {key = 0x7fb3ac2b3a70, event_type = 935331908}, {key = 0x7fb3ac2b39b8, event_type = 3035303312}, {key = 0x7ffe9cdd0c52, event_type = 3035303360}, {key = 0x300000000, event_type = READABLE_EVENT}, {key = 0x7fb3b4eb0e30, event_type = 3071625567}, {key = 0x7fb3b4eb0dc0, event_type = 894302326}, {key = 0x7fb3ac19f138, event_type = 935308617}, {key = 0x42212d4a87eedb01, event_type = NO_EVENT}, {key = 0x3b9aca00, event_type = 1242785280}, {key = 0x3, event_type = NO_EVENT}, {key = 0x7fb3b4eb0e80, event_type = 935308774}, {key = 0x830cab405632a1, event_type = 935331908}, {key = 0x0, event_type = 1242785280}, {key = 0x7fb384199d98, event_type = 935301579}, {key = 0x7fb384199d98, event_type = 935392607}}
        t1 = {u32 = {lo = 1079391573, hi = 8588459}, u64 = 36887151607428437}
        t2 = {u32 = {lo = 1088441131, hi = 8588459}, u64 = 36887151616477995}
#5  0x00007fb3bf9b0665 in ioqueue_worker_thread (data=0x7fb384164ff0) at res_rtp_asterisk.c:1295
        delay = {sec = 0, msec = 10}
        ioqueue = 0x7fb384164ff0
#6  0x00007fb437bf9250 in thread_main (param=0x7fb38441ec18) at ../src/pj/os_core_unix.c:541
        rec = 0x7fb38441ec18
        result = <optimized out>
#7  0x00007fb435ef76ba in start_thread (arg=0x7fb3b4eb1700) at pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fb3b4eb1700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140409811179264, 8580587742869333294, 0, 140409847499103, 140409811179968, 140408992144624, -8614481459605134034, -8611950345432193746}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007fb4354d141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.

If you have a support agreement for certified then issues need to be raised through Sangoma technical support. If you do not then your issue will not be resolved in it, and you should try the latest Asterisk 16 mainline release - 16.10.0. If the issue still occurs then you will need to file an issue[1] with complete details including backtrace and usage information.

[1] https://issues.asterisk.org/jira

I will try some upgrade.
Thank you.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.