[Home]

Summary:ASTERISK-26202: core: Random crashes when a channel joins a bridge in formats
Reporter:Claudiu Olteanu (claudiuolteanu)Labels:channel segv stasis
Date Opened:2016-07-15 09:21:12Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Core/General Resources/res_stasis_snoop
Versions:13.9.1 Frequency of
Occurrence
Frequent
Related
Issues:
Environment:- OS: Red Hat Enterprise Linux Server release 7.1 (Maipo), Kernel version 3.10.0-229.20.1.el7.x86_64 - Hardware: HP DL380, G9, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz, 64GB RAM, Digium interface 1TE235F Attachments:( 0) backtrace-2016-07-15T11_26_10+0300.txt
( 1) backtrace-2016-07-15T15_26_53+0300.txt
( 2) backtrace-2016-07-15T15_54_59+0300.txt
( 3) backtrace-2016-07-21T152515+0300.txt
( 4) full.txt
( 5) full-2016-07-21T152515+0300.txt
( 6) mmlog.txt
Description:Hi there,

Today I encountered several SEGV/ABORT crashes. The backtraces are different but in the logging file it seems that in most cases the last event is "Channel X joined 'simple_bridge'".

Thanks,
Claudiu
Comments:By: Asterisk Team (asteriskteam) 2016-07-15 09:21:13.328-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-07-18 10:32:16.073-0500

I see a Snoop channel in use. Are you using ARI? What are you doing with it? If you don't use a Snoop channel does the issue go away?

By: Claudiu Olteanu (claudiuolteanu) 2016-07-18 11:19:47.055-0500

Yes, the application is developed using the ARI interface and I use Snoop channels. The snooping channels are used to spy and I don't know how to implement a specific feature without them. I have 3 users Alice, Bob and Charlie and I need to implement the following scenario:
- Alice should be able to talk to Bob
- Bob  should be able to talk to Alice and to Charlie
- Charlie should be able to talk to Bob and listen what Alice is saying

In order to do that: I use two bridges (B1 and B2).
- B1 contains the originated channel of Alice and the snooping channel (spy=in) of Bob
- B2 contains the originated channels of Bob and Charlie and the snooping channel(spy=in) of Alice

By: Joshua C. Colp (jcolp) 2016-07-20 11:40:03.489-0500

Your backtrace appears to contain a memory corruption. We need one or both of the following items to continue investigation of the issue:
1. Valgrind output. See https://wiki.asterisk.org/wiki/display/AST/Valgrind for instructions on how to use Valgrind with Asterisk.
2. MALLOC_DEBUG output. See https://wiki.asterisk.org/wiki/display/AST/MALLOC_DEBUG+Compiler+Flag for instructions on how to use the MALLOC_DEBUG option.

Note that MALLOC_DEBUG and Valgrind are mutually exclusive options. Valgrind output is preferable, but will be more system resource intensive and may be difficult to get on a production system. In such a case, you may have better luck getting the necessary output from MALLOC_DEBUG.



By: Claudiu Olteanu (claudiuolteanu) 2016-07-21 17:30:37.167-0500

I encountered another crash today, using the MALLOC_DEBUG flag and I attached the files. I hope you will find the information useful.