Summary: | ASTERISK-17353: The MixMonitor application fails to execute the "command" upon termination if ExtenSpy is used on the channel | ||
Reporter: | John Covert (jcovert) | Labels: | |
Date Opened: | 2011-02-04 10:39:42.000-0600 | Date Closed: | 2011-02-07 12:16:15.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_mixmonitor |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
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. ****** ADDITIONAL INFORMATION ****** Evidence exists that this problem has gone on unnoticed since before we upgraded to 1.8. Actually 1.8.1.1, but I can't select it. | ||
Comments: | By: Jeremy Kister (jkister) 2011-02-04 12:23:17.000-0600 dupe, 18742. :) By: John Covert (jcovert) 2011-02-04 13:45:14.000-0600 sorry By: Jeremy Kister (jkister) 2011-02-04 17:25:52.000-0600 nothing to be sorry about - i just noticed because i entered the same issue just a few hours before. :) By: John Covert (jcovert) 2011-02-04 20:06:49.000-0600 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. By: Leif Madsen (lmadsen) 2011-02-07 12:16:14.000-0600 I'm closing this in favour of the other issue I've marked as a duplicate. |