[Home]

Summary:ASTERISK-25939: Program terminated with SEGV triggered by PJSIP_BYE_METHOD handler
Reporter:Claudiu Olteanu (claudiuolteanu)Labels:crash
Date Opened:2016-04-19 10:35:48Date Closed:2016-05-03 04:45:10
Priority:MajorRegression?
Status:Closed/CompleteComponents:Channels/chan_pjsip Resources/res_pjsip_rfc3326 Resources/res_pjsip_session
Versions:13.6.0 Frequency of
Occurrence
One Time
Related
Issues:
Environment:RedHat 7.2, Kernel version 3.10.0-229.14.1.el7.x86_64Attachments:( 0) backtrace.txt
( 1) full.txt
Description:I believe that there is a race condition between rfc3326_add_reason_header method and chan_pjsip handler.

A crash occurs when it tries to get the hangup cause:
{code}
#0  ast_channel_hangupcause (chan=0x0) at channel_internal_api.c:619
619 return chan->hangupcause;
#0  ast_channel_hangupcause (chan=0x0) at channel_internal_api.c:619
No locals.
#1  0x00007fe7af85df18 in rfc3326_add_reason_header (session=0x7fe6145fbf48, tdata=0x7fe7d800ed58) at res_pjsip_rfc3326.c:97
       buf = "Q.850;cause=16\000\000\060\246\370\001"
#2  rfc3326_outgoing_request (session=0x7fe6145fbf48, tdata=0x7fe7d800ed58) at res_pjsip_rfc3326.c:110
No locals.
#3  0x00007fe80992f488 in handle_outgoing_request (session=0x7fe6145fbf48, tdata=0x7fe7d800ed58) at res_pjsip_session.c:2251
       supplement = 0x7fe614616db0
       req = {method = {id = PJSIP_BYE_METHOD, name = {ptr = 0x7fe808d6f762 "BYE", slen = 3}}, uri = 0x7fe7d800f2c0}
       __PRETTY_FUNCTION__ = "handle_outgoing_request"
#4  0x00007fe80993144d in handle_outgoing (tdata=<optimized out>, session=0x7fe6145fbf48) at res_pjsip_session.c:2277
No locals.
#5  session_inv_on_tsx_state_changed (inv=<optimized out>, tsx=0x7fe7f807c378, e=0x7fe801f8a790) at res_pjsip_session.c:2395
       cb = <optimized out>
       session = 0x7fe6145fbf48
       tdata = 0x7fe801f8a6a0
       __PRETTY_FUNCTION__ = "session_inv_on_tsx_state_changed"
#6  0x00007fe8091a346d in mod_inv_on_tsx_state () from /lib64/libpjsip-ua.so.2
{code}

Logs and backtrace attached.
Comments:By: Asterisk Team (asteriskteam) 2016-04-19 10:35:49.422-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: Joshua C. Colp (jcolp) 2016-04-19 10:42:30.568-0500

It appears the bug you have submitted is against a rather old version of a supported branch of Asterisk. There have been many issues fixed between the version you are using and the current version of your branch. Please test with the latest version in your Asterisk branch and report whether the issue persists.

Please see the Asterisk Versions [1] wiki page for info on which versions of Asterisk are supported.
[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions



By: Claudiu Olteanu (claudiuolteanu) 2016-05-03 03:27:38.557-0500

Hi there,

I updated my environment to Asterisk 13.8.1 and the issue did not persist.

Best wishes,
Claudiu