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:48 | Date Closed: | 2016-05-03 04:45:10 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | 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_64 | Attachments: | ( 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 |