[Home]

Summary:ASTERISK-27964: app_queue: ring_entry accesses nativeformats without channel lock or reference
Reporter:Francisco Seratti (fseratti)Labels:
Date Opened:2018-07-16 12:39:36Date Closed:2019-03-13 11:19:11
Priority:MajorRegression?
Status:Closed/CompleteComponents:Applications/app_queue
Versions:13.21.1 Frequency of
Occurrence
Frequent
Related
Issues:
Environment:CentOS release 6.9 (Final) - kernel 2.6.32-696.13.2.el6.x86_64 CPU Intel(R) Xeon(R) 16 core - RAM 16GB Attachments:( 0) core.12209.tar.gz
( 1) core.24077.tar.gz
( 2) messages.txt
Description:Program terminated with signal 11, Segmentation fault. It happens 0-3 times per day.

Asterisk is being used to run a call center with 40 simultaneous agents, making almost 10 thousand outgoing calls per day. Agents login using SIP hardphones using G729 codec.

Outbound calls are made through an IAX peer with GSM codec by a NodeJS process using AMI interface, the same process regenerates conf files and reloads when a new agent/queue is created.

Asterisk is built and used completely by default (now only added DONT_OPTIMIZE and BETTER_BACKTRACES to generate core dump).

I cant reproduce the fail, core dump will be attached.
Comments:By: Asterisk Team (asteriskteam) 2018-07-16 12:39:37.698-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: Francisco Seratti (fseratti) 2018-07-16 12:42:58.793-0500

Core dump generated following guide:

https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

By: Francisco Seratti (fseratti) 2018-07-16 12:43:13.012-0500

Core dump generated following guide:

https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

By: Joshua C. Colp (jcolp) 2018-07-17 04:48:48.978-0500

The backtraces you've provided don't match the version you've provided. Are you sure it is correct? Have you applied any patches? Can you also provide the console output before the crash?

By: Francisco Seratti (fseratti) 2018-07-17 15:51:22.483-0500

Hi, yes i am sure that trace belongs to version 13.21.1 which im running these days. Today it crashed twice, i have attach log last lines before crash, i can see many of these errors:

[Jul 17 09:01:14] ERROR[24450][C-0000056d] translate.c: Cannot determine best translation path since one capability supports no formats
[Jul 17 09:01:14] WARNING[24450][C-0000056d] channel.c: No translator path exists for channel type Local (native (g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin|slin|slin|slin|slin|slin|slin|slin|lpc10|g729|speex|speex|speex|ilbc|g722|siren7|siren14|testlaw|g719|opus|jpeg|png|h261|h263|h263p|h264|mpeg4|vp8|vp9|red|t140|silk|silk|silk|silk)) to (nothing)

I have not applied any patch at all. Please tell me how you figure out versions dont match to check if im making any mistake, thanks.

By: Joshua C. Colp (jcolp) 2018-07-18 04:36:00.430-0500

I've determined what is going on and this is now accepted.

By: Francisco Seratti (fseratti) 2018-07-24 08:48:39.541-0500

Hi, any update on this? An estimated resolving time? Or perhaps a workaround for this trouble, thank you very much.

By: Joshua C. Colp (jcolp) 2018-07-24 08:53:10.504-0500

Your issue is in the queue. Your patience is appreciated as a developer may work the issue when time and resources become available.

Asterisk is an open source project and community members work the issues on a voluntary basis. You are welcome to develop your own patches and submit them to the project.[1]

If you are not a programmer and you are in a hurry to see a patch provided then you might try rallying support on the Asterisk users mailing list or forums.[2] Another alternative is offering a bug bounty on the asterisk-dev mailing list.[3] Often a little incentive can go a long way.

[1]: https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process
[2]: http://www.asterisk.org/community/discuss
[3]: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Bug+Bounties



By: Gergely Dömsödi (doome) 2019-03-06 07:35:39.678-0600

Hi,

I faced a problem very similar to this one on several production systems with Asterisk 16.2.0, and created and attached a patch for review. The attached patch was applied to all of our production 16.2.0 servers where segfaults were happening 2-3 times daily, and after patching the segfaults seem to have disappeared.

By: Friendly Automation (friendly-automation) 2019-03-13 11:19:12.183-0500

Change 11142 merged by Kevin Harwell:
app_queue: fix ring_entry to access nativeformats with a channel lock

[https://gerrit.asterisk.org/c/asterisk/+/11142|https://gerrit.asterisk.org/c/asterisk/+/11142]

By: Friendly Automation (friendly-automation) 2019-03-13 11:19:20.723-0500

Change 11098 merged by Kevin Harwell:
app_queue: fix ring_entry to access nativeformats with a channel lock

[https://gerrit.asterisk.org/c/asterisk/+/11098|https://gerrit.asterisk.org/c/asterisk/+/11098]

By: Friendly Automation (friendly-automation) 2019-03-13 11:19:28.090-0500

Change 11141 merged by Kevin Harwell:
app_queue: fix ring_entry to access nativeformats with a channel lock

[https://gerrit.asterisk.org/c/asterisk/+/11141|https://gerrit.asterisk.org/c/asterisk/+/11141]