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-0600 | Date Closed: | 2017-12-19 05:15:58.000-0600 | ||||||||||
Priority: | Major | Regression? | |||||||||||
Status: | Closed/Complete | Components: | Resources/res_http_websocket Resources/res_rtp_asterisk | ||||||||||
Versions: | SVN | Frequency of Occurrence | Occasional | ||||||||||
Related Issues: |
| ||||||||||||
Environment: | Ubuntu | Attachments: | ( 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. |