gecko-dev/tools
Toshihito Kikuchi 4e1b4037be Bug 1702086 - Part2: Get PDB information from the new handle. r=gerald
This patch is the actual fix for Bug 1702086.  The problem of Bug 1702086 is that
`LoadLibraryExW` loaded the module onto an address different from the original
mapped addresss because it was unloaded after we started enumeration.  Calling
`GetPdbInfo` with the original address `module.lpBaseOfDll` caused a crash.

The proposed fix consists of three parts.

The first part is to get PDB information from `handleLock`, which is always valid
even if the original address was unloaded.  With this, we don't need a check
of `VirtualQuery`.

The second part is to add `LOAD_LIBRARY_AS_IMAGE_RESOURCE` along with
`LOAD_LIBRARY_AS_DATAFILE` to the call to `LoadLibraryEx`.  This is needed
to read information from the sections outside the PE headers because
RVA (= relative virtual address) is an address after relocation.
Without `LOAD_LIBRARY_AS_IMAGE_RESOURCE`, a module is mapped without relocation,
so `GetPdbInfo()` accesses wrong memory resulting in a crash.

The third part is to introduce `PEHeaders::GetPdbInfo`, replacing two versions
of `GetPdbInfo` in Gecko profiler and baseprofiler.

Depends on D115252

Differential Revision: https://phabricator.services.mozilla.com/D115253
2021-05-19 18:01:48 +00:00
..
bloatview
browsertime Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
clang-tidy Bug 1696180 - Update Clang based static analysis to clang 12. r=firefox-build-system-reviewers,mhentges 2021-04-28 09:56:13 +00:00
code-coverage Bug 1541224 - Avoid to use uninitialized handle when flushing ccov counters r=marco 2021-05-04 16:02:49 +00:00
compare-locales Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
coverity
crashreporter Bug 1697929 - Create a breakpad injector toolchain build. r=glandium 2021-04-19 14:21:42 +00:00
fuzzing Bug 1695761 - Patch libFuzzer to return instead of exit() r=decoder 2021-04-07 13:37:12 +00:00
github-sync
infer
jprof
leak-gauge
lint Bug 1702858 - Update node modules for latest versions, remove obsolete. r=mossop 2021-05-19 16:53:53 +00:00
moztreedocs Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
performance Bug 1703956 - Extend network perfstats to include all http channel completion times r=necko-reviewers,valentin 2021-04-12 21:42:21 +00:00
phabricator Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
power Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
profiler Bug 1702086 - Part2: Get PDB information from the new handle. r=gerald 2021-05-19 18:01:48 +00:00
quitter Bug 1698158 - part 3.2 - Remove unnecessary imports from testharness addons experimental API. r=mixedpuppy 2021-03-16 18:15:41 +00:00
rb Backed out 10 changesets (bug 1696531) for causing mochitest failures in TypeError: cannot use a string pattern on a bytes-like object. CLOSED TREE 2021-05-06 23:57:56 +03:00
rewriting Bug 1690475 - [remote] Reorganize xpcshell and browser chrome tests. r=remote-protocol-reviewers,jdescottes 2021-02-23 17:37:03 +00:00
rusttests Bug 1697489: Run rusttests on Mac in CI r=firefox-build-system-reviewers,glandium 2021-04-08 23:06:29 +00:00
sanitizer/docs Bug 1700475 - Allow the WebRender build script to leak under ASAN. r=firefox-build-system-reviewers,glandium 2021-04-01 09:14:40 +00:00
tryselect Bug 1694531: Clarify try docs regarding signing and OS signatures r=glandium DONTBUILD 2021-05-18 15:00:45 +00:00
update-packaging Bug 1643195 Remove nonfunctional make_incremental_updates.py r=aki 2021-02-17 21:43:39 +00:00
update-programs
update-verify Bug 1689040 - bump update-verify docker image to ubuntu 20.04. r=bhearsum 2021-03-01 10:49:26 +00:00
vcs Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
mach_commands.py Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers 2021-05-17 16:15:58 +00:00
moz.build