Bug 1605478 - Skip processing a loading event of xul.dll without duration. r=aklotz

Analyzing the diagnostics asserts that were temporarily introduced, there were
loading events of xul.dll where `mLoadDurationMS` was empty.  We put them into
the array of loading events but excluding them from the array of modules,
resulting in serialization failure of `UntrustedModulesData`.

The crashing processes loaded external modules of antivirus application, such
as Symantec, AVAST, or Comodo.  With these modules, xul.dll might be loaded
without hitting `ntdll!LdrLoadDll` (`ModuleLoadInf::IsBare()` == false).

The proposed fix is to skip processing a loading event of xul.dll regardless of
the state of `mLoadDurationMS`.

Differential Revision: https://phabricator.services.mozilla.com/D66110

--HG--
extra : rebase_source : b24890eff3ba6352556450bd214fa2f3cebd68ea
extra : source : e87ab6d3d9ab192bddcb8c20935284cffbe2453c
This commit is contained in:
Toshihito Kikuchi 2020-03-12 17:43:41 +00:00
Родитель 0e690cebc0
Коммит 2beea96feb
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -287,7 +287,7 @@ uint64_t ProcessedModuleLoadEvent::QPCTimeStampToProcessUptimeMilliseconds(
}
bool ProcessedModuleLoadEvent::IsXULLoad() const {
if (!mModule || !mLoadDurationMS) {
if (!mModule) {
return false;
}