[Freeswitch-users] FreeSWITCH crash due to Signal 6 Abort while executing assert in nua_stack.c

Shaun Stokes shaun.stokes at itec-support.co.uk
Wed Dec 13 11:48:16 UTC 2017


Hi,


Recently experienced a crash (Signal 6 Abort) on FreeSWITCH, daemon log as follows.


systemd[1]: freeswitch.service: main process exited, code=killed, status=6/ABRT
fs_cli[5866]: [ERROR] fs_cli.c:1659 main() Error Connecting [Socket Connection Error]
systemd[1]: freeswitch.service: control process exited, code=exited status=255
systemd[1]: Unit freeswitch.service entered failed state.
systemd[1]: freeswitch.service holdoff time over, scheduling restart.
systemd[1]: Stopping freeswitch...
systemd[1]: Starting freeswitch...


We don't have the FreeSWITCH logs for this particular incident, back-trace as follows.


================================================================================
# bt full
================================================================================
#0  0x00007f6b05f79067 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = 0
        pid = 20383
        selftid = 20402
#1  0x00007f6b05f7a448 in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x7fff30339e75, sa_sigaction = 0x7fff30339e75}, sa_mask = {__val = {140097639576617, 140097517785411, 959, 4, 140097512340528, 0, 140096967610088, 4294967296, 0, 0, 0, 21474836480, 140097639576143, 140097512340680, 140097676636160, 140097639591704}}, sa_flags = -20442716, sa_restorer = 0x7f6afec8139a <__PRETTY_FUNCTION__.16073>}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f6b05f72266 in __assert_fail_base (fmt=0x7f6b060aaf18 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion at entry=0x7f6afec811a4 "*nh->nh_prev == nh", file=file at entry=0x7f6afec81143 "nua_stack.c", line=line at entry=959, function=function at entry=0x7f6afec8139a <__PRETTY_FUNCTION__.16073> "nh_remove") at assert.c:92
        str = 0x7f67e44770f0 ""
        total = 4096
#3  0x00007f6b05f72312 in __GI___assert_fail (assertion=assertion at entry=0x7f6afec811a4 "*nh->nh_prev == nh", file=file at entry=0x7f6afec81143 "nua_stack.c", line=line at entry=959, function=function at entry=0x7f6afec8139a <__PRETTY_FUNCTION__.16073> "nh_remove") at assert.c:101
No locals.
#4  0x00007f6afebf3a36 in nh_remove (nua=0x7f6aec019e70, nh=0x7f6adfb244a0) at nua_stack.c:959
No locals.
#5  nh_destroy (nua=0x7f6aec019e70, nh=0x7f6adfb244a0) at nua_stack.c:998
        nh = 0x7f6adfb244a0
        nua = 0x7f6aec019e70
#6  0x00007f6afebf4ba5 in nua_stack_destroy_handle (tags=<optimized out>, nh=<optimized out>, nua=<optimized out>) at nua_stack.c:660
No locals.
#7  nua_stack_signal (nua=0x7f6aec019e70, msg=0x31, ee=0x7f6ac401fba8) at nua_stack.c:661
        nh = 0x7f6adfb244a0
        tags = 0x7f6ac401fbd0
        event = nua_r_destroy
        error = 0
        __func__ = "nua_stack_signal"
#8  0x00007f6afec276d2 in su_base_port_execute_msgs (queue=0x7f67ea5624b0) at su_base_port.c:280
        root = <optimized out>
        f = <optimized out>
        msg = 0x0
        n = 12
#9  0x00007f6afec27bcd in su_base_port_run (self=0x7f6adc0008c0) at su_base_port.c:335
        tout = 15000
        tout2 = 0
        __PRETTY_FUNCTION__ = "su_base_port_run"
#10 0x00007f6afec2c900 in su_pthread_port_clone_main (varg=0x7f6afea2e750) at su_pthread_port.c:343
        arg = 0x0
        task = {{sut_port = 0x7f6adc0008c0, sut_root = 0x7f6adc001130}}
        zap = 1
#11 0x00007f6b062f7064 in start_thread (arg=0x7f6afe750700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7f6afe750700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140097512343296, 1338962068899872702, 0, 140097676709984, 27192672, 140097512343296, -1422840606975082562, -1422294471635779650}, 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"
#12 0x00007f6b0602c62d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

Essentially it failed on 'assert(*nh->nh_prev == nh);?' while executing this function in 'nua_stack.c'.
###############
/** @internal Remove a handle from list of handles */
static
void nh_remove(nua_t *nua, nua_handle_t *nh)
{
  assert(nh_is_inserted(nh)); assert(*nh->nh_prev == nh);

  if (nh->nh_next)
    nh->nh_next->nh_prev = nh->nh_prev;
  else
    nua->nua_handles_tail = nh->nh_prev;

  *nh->nh_prev = nh->nh_next;

  nh->nh_prev = NULL;
  nh->nh_next = NULL;
}
###############


It's difficult for us to understand the exact cause with-out a copy of the logs,? if anyone has seem something similar or might be able to point us in the right direction we would be greatful.

Thanks,
S




______________________________________________________________________
This message has been checked for all known viruses by  MessageLabs Virus Scanning Service.
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20171213/02d2f7bd/attachment.html>


More information about the FreeSWITCH-users mailing list