[Home]

Summary:ASTERISK-26242: res_pjsip_endpoint_identifier_dpma crashing with bundled pjsip
Reporter:xrobau (xrobau)Labels:
Date Opened:2016-07-26 19:50:42Date Closed:2017-07-25 12:11:23
Priority:MajorRegression?
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Constant
Related
Issues:
Environment:FreePBX with Asterisk RPM 13.10Attachments:( 0) res_digium_phone-bundled-debug-13.0_3.4.1-x86_64.tar.gz
Description:The FreePBX Built asterisk RPM has switched to the embedded pjsip library. However, when the res_pjsip_endpoint_identifier_dpma module is loaded, asterisk crashes with the following backtrace.

{code}
(gdb) where
#0  0x00007f58a5d7f039 in pjsip_msg_find_hdr_by_name (msg=0x0, name=0x7f58475480a0, start=0x0)
   at ../src/pjsip/sip_msg.c:360
#1  0x00007f58473466a9 in ?? () from /usr/lib64/asterisk/modules/res_pjsip_endpoint_identifier_dpma.so
#2  0x00007f5893dcd604 in ast_sip_identify_endpoint (rdata=0x7f58540046e8) at res_pjsip.c:2400
#3  0x00007f5893de74cd in endpoint_lookup (rdata=0x7f58540046e8) at res_pjsip/pjsip_distributor.c:566
#4  0x00007f58a5d8b295 in pjsip_endpt_process_rx_data (endpt=0x229fe08, rdata=0x7f58540046e8, p=0x7f5893ffee80,
   p_handled=0x7f5888860b7c) at ../src/pjsip/sip_endpoint.c:886
#5  0x00007f5893de70c1 in distribute (data=<value optimized out>) at res_pjsip/pjsip_distributor.c:765
#6  0x00000000005e8303 in ast_taskprocessor_execute (tps=0x2547e88) at taskprocessor.c:938
#7  0x00000000005f1146 in execute_tasks (data=0x2547e88) at threadpool.c:1322
#8  0x00000000005e8303 in ast_taskprocessor_execute (tps=0x22a6958) at taskprocessor.c:938
#9  0x00000000005ef491 in threadpool_execute (pool=0x229e088) at threadpool.c:351
#10 0x00000000005f0aa4 in worker_active (worker=0x7f5894002058) at threadpool.c:1105
#11 0x00000000005f0850 in worker_start (arg=0x7f5894002058) at threadpool.c:1024
#12 0x00000000005fc92c in dummy_start (data=0x7f58940017e0) at utils.c:1235
#13 0x00007f58a445daa1 in ?? ()
#14 0x00007f5888861700 in ?? ()
#15 0x0000000000000000 in ?? ()
(gdb)
{code}
Comments:By: Asterisk Team (asteriskteam) 2016-07-26 19:50:43.143-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: xrobau (xrobau) 2016-07-26 19:53:26.786-0500

Oddly enough, that was with our 2.1.1 build of DPMA.  We noticed that a new version had been published, so we upgraded to 3.0.1, and this is now the backtrace.

{code}
(gdb) where
#0  0x00007f7d1182e039 in pjsip_msg_find_hdr_by_name (msg=0x0, name=0x7f7cb32350a0, start=0x0)
   at ../src/pjsip/sip_msg.c:360
#1  0x00007f7cb3033319 in ?? ()
#2  0x00007f7d00007998 in ?? ()
#3  0x00007f7cd3759604 in ast_sip_identify_endpoint (rdata=0x7f7d00007998) at res_pjsip.c:2400
#4  0x00007f7cd37734cd in endpoint_lookup (rdata=0x7f7d00007998) at res_pjsip/pjsip_distributor.c:566
#5  0x00007f7d1183a295 in pjsip_endpt_process_rx_data (endpt=0x378dae8, rdata=0x7f7d00007998, p=0x7f7cd398ae80,
   p_handled=0x7f7cc2440b7c) at ../src/pjsip/sip_endpoint.c:886
#6  0x00007f7cd37730c1 in distribute (data=<value optimized out>) at res_pjsip/pjsip_distributor.c:765
#7  0x00000000005e8303 in ast_taskprocessor_execute (tps=0x3a327d8) at taskprocessor.c:938
#8  0x00000000005f1146 in execute_tasks (data=0x3a327d8) at threadpool.c:1322
#9  0x00000000005e8303 in ast_taskprocessor_execute (tps=0x37948f8) at taskprocessor.c:938
#10 0x00000000005ef491 in threadpool_execute (pool=0x3794aa8) at threadpool.c:351
#11 0x00000000005f0aa4 in worker_active (worker=0x7f7d04000d08) at threadpool.c:1105
#12 0x00000000005f0850 in worker_start (arg=0x7f7d04000d08) at threadpool.c:1024
#13 0x00000000005fc92c in dummy_start (data=0x7f7d04000c60) at utils.c:1235
#14 0x00007f7d0ff0caa1 in ?? ()
#15 0x00007f7cc2441700 in ?? ()
#16 0x0000000000000000 in ?? ()
(gdb)
{code}

Note that the actual stack frames are missing, because they've been stripped. It was really lucky that we happened to have a NON stripped version so we could find the issue straight away.


By: Joshua C. Colp (jcolp) 2016-07-26 19:55:19.312-0500

It's already known about and being worked on. Since it's a commercial module problem there was no issue on here.

By: George Joseph (gjoseph) 2017-01-20 14:02:26.346-0600

There's a "bundled" version of the DPMA...
http://downloads.digium.com/pub/telephony/res_digium_phone/asterisk-13.0/x86-64/res_digium_phone-bundled-13.0_3.2.0-x86_64.tar.gz



By: xrobau (xrobau) 2017-07-25 09:30:38.809-0500

This appears to have reared it's head again.

Asterisk 13.17 with res_digium_phone-bundled 3.4.1 is crashing in exactly the same place and way.

This can be validated with current FreePBX ISO http://downloads.freepbxdistro.org/ISO/SNG7-FPBX-64bit-1707-1.iso and then running 'yum install asterisk13-res_digium_phone'


By: Asterisk Team (asteriskteam) 2017-07-25 09:30:39.021-0500

This issue has been reopened as a result of your commenting on it as the reporter. It will be triaged once again as applicable.

By: xrobau (xrobau) 2017-07-25 12:11:13.533-0500

After debugging in IRC, it turns out an inadvertent 'noload' had made its way into modules.conf - this was causing res_digium_phones.so to be noloaded, and then res_pjsip_endpoint_identifier_dpma.so crashing because it couldn't find the first.

Not a regression, closing.