Bug 1227312 - Avoid calling FinalizeChildData twice in GenerateCompleteMinidump. r=ted

This commit is contained in:
Jim Mathies
2015-12-03 10:25:10 -06:00
parent f90e248d93
commit fe1db32780
3 changed files with 21 additions and 10 deletions

View File

@@ -1291,6 +1291,8 @@ PluginModuleChromeParent::TerminateChildProcess(MessageLoop* aMsgLoop,
}
if (reportsReady) {
// Important to set this here, it tells the ActorDestroy handler
// that we have an existing crash report that needs to be finalized.
mPluginDumpID = crashReporter->ChildDumpID();
PLUGIN_LOG_DEBUG(
("generated paired browser/plugin minidumps: %s)",
@@ -1537,7 +1539,13 @@ PluginModuleChromeParent::ProcessFirstMinidump()
WriteExtraDataForMinidump(notes);
if (!mPluginDumpID.IsEmpty()) {
// mPluginDumpID may be set in TerminateChildProcess, which means the
// process hang monitor has already collected a 3-way browser, plugin,
// content crash report. If so, update the existing report with our
// annotations and finalize it. If not, fall through for standard
// plugin crash report handling.
crashReporter->GenerateChildData(&notes);
crashReporter->FinalizeChildData();
return;
}