[asterisk-bugs] [Asterisk 0018750]: The MixMonitor application fails to execute the "command" upon termination if ExtenSpy is used on the channel

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Feb 4 20:06:49 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18750 
====================================================================== 
Reported By:                jcovert
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18750
Category:                   Applications/app_mixmonitor
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.8.2.3 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-02-04 10:39 CST
Last Modified:              2011-02-04 20:06 CST
====================================================================== 
Summary:                    The MixMonitor application fails to execute the
"command" upon termination if ExtenSpy is used on the channel
Description: 
One of my client's clients noticed this week that if they monitor a call
which is being recorded, the recording file is not being processed when the
call terminates, and an examination of the log shows no execution of the
"command".

I have just received this report and have not yet determined if the
recording file is still intact.

I expect to have to find and fix this bug myself this weekend, and will
upload a patch when I do so.
====================================================================== 

---------------------------------------------------------------------- 
 (0131521) jcovert (reporter) - 2011-02-04 20:06
 https://issues.asterisk.org/view.php?id=18750#c131521 
---------------------------------------------------------------------- 
This is a deadlock of some sort

When there is an ExtenSpy on top of a recording (something that is VERY
important for my client to allow) we get stuck:

        /* Datastore cleanup.  close the filestream and wait for ds
destruction */
        ast_mutex_lock(&mixmonitor->mixmonitor_ds->lock);
        mixmonitor_ds_close_fs(mixmonitor->mixmonitor_ds);
        if (!mixmonitor->mixmonitor_ds->destruction_ok) {
               
ast_cond_wait(&mixmonitor->mixmonitor_ds->destruction_condition,
&mixmonitor->mixmonitor_ds->lock);
        }
        ast_mutex_unlock(&mixmonitor->mixmonitor_ds->lock);

destruction_ok is false; we go into ast_cond_wait and never return

This would also explain one of my client's memory leaks on their main
production system.

The thread and all of its storage remain active forever. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-04 20:06 jcovert        Note Added: 0131521                          
======================================================================




More information about the asterisk-bugs mailing list