[Home]

Summary:ASTERISK-20762: Asterisk Crash, assertion failed, in res_rtp_asterisk thread (ice_worker_thread)
Reporter:Pedro Kiefer (pedrokiefer)Labels:
Date Opened:2012-12-04 11:44:10.000-0600Date Closed:2017-12-19 05:15:58.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_http_websocket Resources/res_rtp_asterisk
Versions:SVN Frequency of
Occurrence
Occasional
Related
Issues:
is duplicated byASTERISK-22196 Asterisk crashes setting RTP source address to the browser
is related toASTERISK-22889 Segmentation fault when RTP going via ICE
is related toASTERISK-21696 Assertion error results in crash in pjproject's ICE worker thread
is related toASTERISK-22938 Asterisk Crashes with assert fail for 'ype <= PJ_ICE_CAND_TYPE_RELAYED'
is related toASTERISK-23017 Crash on inbound calls using WebRTC config with ICE Servers -signal 6 abort, while in ice_worker_thread
Environment:UbuntuAttachments:( 0) asterisk_bt_full.txt
( 1) asterisk_log.txt
Description:Asterisk crashs after calling a SIP peer connected through websocket (using JsSIP and Google Chrome Canary 25.0.1348.0).

I don't get this crash every single time, but it does happens, most frequently is when:
1) Call SIP phone from chrome
2) Hangup
3) Call chrome's sip number from the sip phone
4) Crash

Backtrace and debug info:
{noformat}
[New Thread 0x7fffbae93700 (LWP 25872)]
   -- Executing [1236@demo-ctx:1] Macro("SIP/1235-00000006", "stdexten,1236,SIP/1236") in new stack
   -- Executing [s@macro-stdexten:1] GotoIf("SIP/1235-00000006", "$~np~["0" != "0"]~/np~?3") in new stack
   -- Goto (macro-stdexten,s,3)
   -- Executing [s@macro-stdexten:3] SendText("SIP/1235-00000006", "You have voicemail messages") in new stack
   -- Executing [s@macro-stdexten:4] Dial("SIP/1235-00000006", "SIP/1236,10,tTr") in new stack
 == Using SIP RTP CoS mark 5
   -- Called SIP/1236
   -- SIP/1236-00000007 is ringing
   -- SIP/1236-00000007 is ringing
   -- SIP/1236-00000007 is ringing
   -- SIP/1236-00000007 answered SIP/1235-00000006
 == Spawn extension (macro-stdexten, s, 4) exited non-zero on 'SIP/1235-00000006' in macro 'stdexten'
 == Spawn extension (demo-ctx, 1236, 1) exited non-zero on 'SIP/1235-00000006'
[Thread 0x7fffbae93700 (LWP 25872) exited]
 == Using SIP RTP CoS mark 5
[New Thread 0x7fffbae93700 (LWP 25873)]
   -- Executing [1236@demo-ctx:1] Macro("SIP/1235-00000008", "stdexten,1236,SIP/1236") in new stack
   -- Executing [s@macro-stdexten:1] GotoIf("SIP/1235-00000008", "$~np~["0" != "0"]~/np~?3") in new stack
   -- Goto (macro-stdexten,s,3)
   -- Executing [s@macro-stdexten:3] SendText("SIP/1235-00000008", "You have voicemail messages") in new stack
   -- Executing [s@macro-stdexten:4] Dial("SIP/1235-00000008", "SIP/1236,10,tTr") in new stack
 == Using SIP RTP CoS mark 5
   -- Called SIP/1236
   -- SIP/1236-00000009 is ringing
   -- SIP/1236-00000009 is ringing
   -- SIP/1236-00000009 is ringing
   -- SIP/1236-00000009 answered SIP/1235-00000008
asterisk: ../src/pj/timer.c:463: pj_timer_heap_schedule: Assertion `entry->cb != ((void *)0)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffbc7bd700 (LWP 25836)]
0x00007ffff784e425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt full
#0  0x00007ffff784e425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007ffff7851b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007ffff78470ee in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#3  0x00007ffff7847192 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#4  0x00007fffc60adb33 in pj_timer_heap_schedule (ht=0x8edff8, entry=0x7ffff0022e88, delay=0x7fffbc7bcdc0) at ../src/pj/timer.c:463
       status = 32767
       expires = {sec = 140737220061368, msec = 140737220056840}
       __PRETTY_FUNCTION__ = "pj_timer_heap_schedule"
#5  0x00007fffc607fdc6 in start_nominated_check (ice=0x7ffff0021708) at ../src/pjnath/ice_session.c:1971
       delay = {sec = 0, msec = 0}
       i = 2
       status = 0
       __PRETTY_FUNCTION__ = "start_nominated_check"
#6  0x00007fffc607e218 in on_timer (th=0x8edff8, te=0x7ffff0021770) at ../src/pjnath/ice_session.c:1168
       ice = 0x7ffff0021708
       type = TIMER_START_NOMINATED_CHECK
       has_mutex = 1
#7  0x00007fffc60add62 in pj_timer_heap_poll (ht=0x8edff8, next_delay=0x0) at ../src/pj/timer.c:518
       node = 0x7ffff0021770
       now = {sec = 1113642, msec = 319}
       count = 1
       __PRETTY_FUNCTION__ = "pj_timer_heap_poll"
#8  0x00007fffc606c3cd in ice_worker_thread (data=0x0) at res_rtp_asterisk.c:1176
       delay = {sec = 0, msec = 10}
#9  0x00007fffc609eec7 in thread_main (param=0x8ef320) at ../src/pj/os_core_unix.c:512
       rec = 0x8ef320
       result = 0x0
       rc = 0
       __PRETTY_FUNCTION__ = "thread_main"
#10 0x00007ffff67dce9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#11 0x00007ffff790bcbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#12 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb)
{noformat}
Comments:By: Rusty Newton (rnewton) 2012-12-06 19:43:29.182-0600

Hi Pedro!

Thanks for the debug you have so far. We need additional debug to look into the issue.

Please attach an Asterisk full log (logger.conf) with VERBOSE and DEBUG enabled and set to at least level 5 https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

Attach a backtrace from the crash closely following the instructions here: https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace
*It is recommended that you enable both DONT_OPTIMIZE and BETTER_BACKTRACES*

What is the frequency of crashes? 1 out of every 2 calls? 1 out of every 50?


By: Pedro Kiefer (pedrokiefer) 2012-12-07 10:28:57.716-0600

Full log and backtraces.

Right now, every time I relaunch asterisk and place a call to the browser softphone I get this error.

By: Rusty Newton (rnewton) 2013-01-08 12:47:30.305-0600

Pedro, I just noticed that you didn't include the exact SVN revision in the bug report. Can you also provide the Ubuntu distro release you are using, and the kernel version details?

By: Maxim (Makcuk) 2013-06-21 10:38:10.353-0500

I have the same problem. This problem occurs on Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-23-generic x86_64) and CentOS release 6.4 (Final) Linux 2.6.32-358.6.2.el6.x86_64 x86_64. How can I help you?

By: Joshua C. Colp (jcolp) 2017-12-19 05:15:58.338-0600

I'm closing out this issue as I believe the underlying problems here have been resolved by fixes done in PJSIP. As we now bundle the latest PJSIP with Asterisk in current supported versions we receive all of their fixes. This code has also been tweaked and improved since as a result of further WebRTC usage.