[Home]

Summary:ASTERISK-26474: res_musiconhold: Crash when scanning files with realtime
Reporter:Ross Beer (rossbeer)Labels:
Date Opened:2016-10-17 05:07:00Date Closed:2016-10-17 14:24:11
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_musiconhold
Versions:13.11.2 14.0.2 Frequency of
Occurrence
Frequent
Related
Issues:
duplicatesASTERISK-22083 res_musiconhold segfault in free, in moh_scan_files
Environment:Fedora 23Attachments:( 0) backtrace_clean.txt
Description:Asterisk crashes in music on hold free when playing from within a queue:

{noformat}
#0  0x00007f149f800a28 in raise () at /lib64/libc.so.6
#1  0x00007f149f80262a in abort () at /lib64/libc.so.6
#2  0x00007f149f843dea in  () at /lib64/libc.so.6
#3  0x00007f149f84c22a in _int_free () at /lib64/libc.so.6
#4  0x00007f149f84f78c in free () at /lib64/libc.so.6
#5  0x00007f1398536ca7 in moh_scan_files (class=0x7f1418003348) at res_musiconhold.c:1099
{noformat}

This looks to be related to the option 'cachertclasses=yes' and has been raised before in Asterisk 1.8 under ticket ASTERISK-22083

Before the segfault, the CLI showed the following:

{noformat}
[2016-10-17 08:42:19] WARNING[26321][C-00000147]: res_musiconhold.c:361 ast_moh_files_next: Unable to open file '▒': No such file or directory
[2016-10-17 08:42:19] WARNING[26331][C-0000014f]: file.c:774 ast_openstream_full: File  does not exist in any format
[2016-10-17 08:42:19] WARNING[26331][C-0000014f]: res_musiconhold.c:361 ast_moh_files_next: Unable to open file '': No such file or directory
[2016-10-17 08:42:19] WARNING[26321][C-00000147]: file.c:774 ast_openstream_full: File  does not exist in any format
[2016-10-17 08:42:19] WARNING[26321][C-00000147]: res_musiconhold.c:361 ast_moh_files_next: Unable to open file '': No such file or directory
[2016-10-17 08:42:19] WARNING[26331][C-0000014f]: file.c:774 ast_openstream_full: File  does not exist in any format
[2016-10-17 08:42:19] WARNING[26331][C-0000014f]: res_musiconhold.c:361 ast_moh_files_next: Unable to open file '': No such file or directory
[2016-10-17 08:42:19] WARNING[26321][C-00000147]: file.c:774 ast_openstream_full: File  does not exist in any format
{noformat}

I believe that the file scan process did not return cleanly to other threads and therefore they output the above messages. This eventually lead to the crash.
Comments:By: Asterisk Team (asteriskteam) 2016-10-17 05:07:02.207-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].