[Home]

Summary:ASTERISK-27998: Segfault after REFER packet
Reporter:Dmitriy Serov (Demon)Labels:pjsip
Date Opened:2018-07-30 09:22:47Date Closed:2018-07-31 07:45:47
Priority:CriticalRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip
Versions:15.5.0 Frequency of
Occurrence
Constant
Related
Issues:
duplicatesASTERISK-27481 Asterisk crashes when receiving REFER message on PJSIP channel
Environment:Attachments:( 0) core_dump.tar.bz2
( 1) refer-hangs.txt
Description:During call client Groundwire sends sip packet REFER. Asterisk segfaults.
Dialplan has not external_replaces extension.
https://wiki.asterisk.org/wiki/display/AST/res_pjsip+Remote+Attended+Transfers

Last line i found is: [2018-07-30 16:48:12] DEBUG[19821] res_pjsip_refer.c: Created progress monitor '0x7fa4cb0fc858' for transfer occurring from channel 'PJSIP/demon-00000b41' and endpoint 'demon'
Comments:By: Asterisk Team (asteriskteam) 2018-07-30 09:22:49.238-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: Dmitriy Serov (Demon) 2018-07-30 09:24:41.968-0500

endpoint demon refered to 0202
[2018-07-30 16:48:11] VERBOSE[30350] res_pjsip_logger.c: <--- Received SIP request (696 bytes) from TLS:109.60.222.253:40872 --->



By: Dmitriy Serov (Demon) 2018-07-31 05:50:31.794-0500

Any softphone can fail asterisk just send REFER packet.
Tested on 15.5.0 and two clients: MicroSIP, Groundwire (has REFER feature)

By: Richard Mudgett (rmudgett) 2018-07-31 06:38:17.062-0500

We suspect that you have a deadlock occurring within Asterisk. Please follow the instructions on the wiki [1] for obtaining debug relevant to a deadlock. Once you have that information, attach it to the issue. Be sure the instructions are followed exactly as the debug may otherwise not be useful.

Thanks!

[1] https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace#GettingaBacktrace-GettingInformationForADeadlock

The REFER in question is for a blind transfer not an attended transfer so the external_replaces extension does not apply anyway.

By: Dmitriy Serov (Demon) 2018-07-31 07:24:52.379-0500

It is not deadlock. It is segfault.
Archive is attached

By: Joshua C. Colp (jcolp) 2018-07-31 07:28:48.353-0500

That appears to be a duplicate of ASTERISK-27481 which has a workaround - res_pjsip_pubsub has to be loaded.

By: Dmitriy Serov (Demon) 2018-07-31 07:41:47.132-0500

Yes. It seems to be duplicate of...
What can i do to disable process of SUBSCRIBE/OPTIONS events instead of disabling res_pjsip_pubsub?
After refactoring of OPTIONS processing where are some bugs (hangs and segfaults) that i have not time to collect data to file issue :(

By: Joshua C. Colp (jcolp) 2018-07-31 07:45:15.355-0500

The res_pjsip_pubsub module has nothing to do with OPTIONS. Disabling qualify disables that. Endpoints have an "allow_subscribe" option which can be used to disallow them from subscribing.