Uploaded image for project: 'FreeSWITCH'
  1. FreeSWITCH
  2. FS-2365

FreeSWITCH crashes occasionally with SIGABRT on nta.c:8905: outgoing_terminate_invite: Assertion `orq->orq_forking == original'

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: freeswitch-core
    • Labels:
      None
    • CPU Architecture:
      x86-64
    • Kernel:
      Linux
    • uname:
      Linux 2.6.23.9
    • Userland:
      GNU/Linux
    • Compiler:
      gcc
    • Compiler Version:
      gcc 4.1.2
    • FreeSWITCH GIT Revision:
      14014
    • GIT Master Revision hash::
      yes

      Description

      Sometimes, but not every time a call disconnects, FreeSWITCH is bailing out with:

      freeswitch: nta.c:8905: outgoing_terminate_invite: Assertion `orq->orq_forking == original' failed.

      (gdb) bt
      #0 0x00002afbfb6d1165 in raise () from /lib/libc.so.6
      #1 0x00002afbfb6d24de in abort () from /lib/libc.so.6
      #2 0x00002afbfb6ca49f in __assert_fail () from /lib/libc.so.6
      #3 0x00002aaaaba5415c in outgoing_terminate_invite (original=0x695090) at nta.c:8905
      #4 0x00002aaaaba540c6 in outgoing_timer_dk (q=0x7c9950, timer=0x2aaaabb37244 "D", now=2008411129) at nta.c:8886
      #5 0x00002aaaaba538ba in outgoing_timer (sa=0x7c9610) at nta.c:8697
      #6 0x00002aaaaba387ef in agent_timer (rm=0x2aaab8078f90, timer=0x6d76e0, agent=0x7c9610) at nta.c:1237
      #7 0x00002aaaabae45ed in su_timer_expire (timers=0x6dec68, timeout=0x40257008, now=

      {tv_sec = 3455162117, tv_usec = 113368}) at su_timer.c:575
      #8 0x00002aaaabadd01e in su_base_port_run (self=0x6dec20) at su_base_port.c:339
      #9 0x00002aaaabacdd71 in su_port_run (self=0x6dec20) at su_port.h:326
      #10 0x00002aaaabacdd49 in su_root_run (self=0x6df950) at su_root.c:819
      #11 0x00002aaaabadbdca in su_pthread_port_clone_main (varg=0x4030ab30) at su_pthread_port.c:324
      #12 0x00002afbfaa66087 in start_thread () from /lib/libpthread.so.0
      #13 0x00002afbfb765ccd in clone () from /lib/libc.so.6
      #14 0x0000000000000000 in ?? ()

      (gdb) bt full
      #0 0x00002afbfb6d1165 in raise () from /lib/libc.so.6
      No symbol table info available.
      #1 0x00002afbfb6d24de in abort () from /lib/libc.so.6
      No symbol table info available.
      #2 0x00002afbfb6ca49f in __assert_fail () from /lib/libc.so.6
      No symbol table info available.
      #3 0x00002aaaaba5415c in outgoing_terminate_invite (original=0x695090) at nta.c:8905
      orq = (nta_outgoing_t *) 0x8b1420
      _PRETTY_FUNCTION_ = "outgoing_terminate_invite"
      #4 0x00002aaaaba540c6 in outgoing_timer_dk (q=0x7c9950, timer=0x2aaaabb37244 "D", now=2008411129) at nta.c:8886
      orq = (nta_outgoing_t *) 0x695090
      terminated = 1
      #5 0x00002aaaaba538ba in outgoing_timer (sa=0x7c9610) at nta.c:8697
      now = 2008411129
      orq = (nta_outgoing_t *) 0x0
      rq = q_tail = 0x40256e28, q_head = 0x0, q_length = 0, q_timeout = 0
      retransmitted = 0
      terminated = 0
      timeout = 0
      destroyed = 46912513043680
      total = 1
      trying = 0
      pending = 0
      completed = 1
      _PRETTY_FUNCTION_ = "outgoing_timer"
      #6 0x00002aaaaba387ef in agent_timer (rm=0x2aaab8078f90, timer=0x6d76e0, agent=0x7c9610) at nta.c:1237
      stamp = {tv_sec = 3455162117, tv_usec = 113371}
      now = 2008411129
      next = 7207248
      latest = 0
      _PRETTY_FUNCTION_ = "agent_timer"
      #7 0x00002aaaabae45ed in su_timer_expire (timers=0x6dec68, timeout=0x40257008, now={tv_sec = 3455162117, tv_usec = 113368}

      ) at su_timer.c:575
      t = (su_timer_t *) 0x6d76e0
      f = (su_timer_f) 0x2aaaaba38758 <agent_timer>
      n = 0
      _PRETTY_FUNCTION_ = "su_timer_expire"
      #8 0x00002aaaabadd01e in su_base_port_run (self=0x6dec20) at su_base_port.c:339
      now =

      {tv_sec = 3455162117, tv_usec = 113368}

      tout = 15000
      tout2 = 0
      _PRETTY_FUNCTION_ = "su_base_port_run"
      #9 0x00002aaaabacdd71 in su_port_run (self=0x6dec20) at su_port.h:326
      base = (su_virtual_port_t *) 0x6dec20
      #10 0x00002aaaabacdd49 in su_root_run (self=0x6df950) at su_root.c:819
      _PRETTY_FUNCTION_ = "su_root_run"
      #11 0x00002aaaabadbdca in su_pthread_port_clone_main (varg=0x4030ab30) at su_pthread_port.c:324
      arg = (struct clone_args *) 0x0
      task = sut_port = 0x6dec20, sut_root = 0x6df950
      zap = 1
      #12 0x00002afbfaa66087 in start_thread () from /lib/libpthread.so.0
      No locals.
      #13 0x00002afbfb765ccd in clone () from /lib/libc.so.6
      No symbol table info available.
      #14 0x0000000000000000 in ?? ()
      No symbol table info available.

      (gdb) frame 3
      #3 0x00002aaaaba5415c in outgoing_terminate_invite (original=0x695090) at nta.c:8905
      8905 assert(orq->orq_forking == original);
      Current language: auto; currently c

      (gdb) print orq
      $3 = (nta_outgoing_t *) 0x8b1420

      (gdb) print *orq
      $4 = {orq_hash = 12297829382473034410, orq_agent = 0xaaaaaaaaaaaaaaaa, orq_callback = 0xaaaaaaaaaaaaaaaa, orq_magic = 0xaaaaaaaaaaaaaaaa, orq_prev = 0xaaaaaaaaaaaaaaaa, orq_next = 0xaaaaaaaaaaaaaaaa, orq_queue = 0xaaaaaaaaaaaaaaaa,
      orq_rprev = 0xaaaaaaaaaaaaaaaa, orq_rnext = 0xaaaaaaaaaaaaaaaa, orq_method = -1431655766, orq_method_name = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>, orq_url = 0xaaaaaaaaaaaaaaaa, orq_from = 0xaaaaaaaaaaaaaaaa,
      orq_to = 0xaaaaaaaaaaaaaaaa, orq_tag = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>, orq_cseq = 0xaaaaaaaaaaaaaaaa, orq_call_id = 0xaaaaaaaaaaaaaaaa, orq_request = 0xaaaaaaaaaaaaaaaa, orq_response = 0xaaaaaaaaaaaaaaaa,
      orq_sent =

      {tv_sec = 12297829382473034410, tv_usec = 12297829382473034410}

      , orq_delay = 2863311530, orq_retry = 2863311530, orq_timeout = 2863311530, orq_interval = 43690, orq_status = 43690, orq_retries = 170 '�', orq_default = 0,
      orq_inserted = 1, orq_resolved = 0, orq_prepared = 1, orq_canceled = 0, orq_terminated = 1, orq_destroyed = 0, orq_completed = 1, orq_delayed = 0, orq_stripped_uri = 1, orq_user_tport = 0, orq_try_tcp_instead = 1,
      orq_try_udp_instead = 0, orq_reliable = 1, orq_ack_error = 0, orq_user_via = 1, orq_stateless = 0, orq_pass_100 = 1, orq_sigcomp_new = 0, orq_sigcomp_zap = 1, orq_must_100rel = 0, orq_timestamp = 1, orq_100rel = 0,
      orq_resolver = 0xaaaaaaaaaaaaaaaa, orq_res_order = 2863311530, orq_route = 0xaaaaaaaaaaaaaaaa, orq_tpn = {{tpn_proto = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>,
      tpn_canon = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>, tpn_host = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>, tpn_port = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>,
      tpn_comp = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>, tpn_ident = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>}}, orq_scheme = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>,
      orq_tport = 0xaaaaaaaaaaaaaaaa, orq_cc = 0xaaaaaaaaaaaaaaaa, orq_tags = 0xaaaaaaaaaaaaaaaa, orq_pending = -1431655766, orq_branch = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>,
      orq_via_branch = 0xaaaaaaaaaaaaaaaa <Address 0xaaaaaaaaaaaaaaaa out of bounds>, orq_status2b = 0xaaaaaaaaaaaaaaaa, orq_cancel = 0xaaaaaaaaaaaaaaaa, orq_forking = 0xaaaaaaaaaaaaaaaa, orq_forks = 0xaaaaaaaaaaaaaaaa, orq_rseq = 752}

        Attachments

          Activity

            People

            • Assignee:
              anthm Anthony Minessale II
              Reporter:
              tc Travis Cross
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: