It first appeared in 16.0a1/20120619. The regression range might be:
Signature GetPdbInfo More Reports Search
Date Processed 2012-06-22 09:43:22
Last Crash 5.1 weeks before submission
Install Age 3.6 hours since version was first installed.
Install Time 2012-06-22 06:04:47
Build ID 20120621030536
Release Channel nightly
OS Windows NT
OS Version 6.1.7600
Build Architecture x86
Build Architecture Info GenuineIntel family 6 model 23 stepping 10
Crash Reason EXCEPTION_ACCESS_VIOLATION_READ
Crash Address 0x51ae0000
AdapterVendorID: 0x1002, AdapterDeviceID: 0x9591, AdapterSubsysID: 211617aa, AdapterDriverVersion: 8.752.4.0
Has dual GPUs. GPU #2: AdapterVendorID2: 0x8086, AdapterDeviceID2: 0x2a42, AdapterSubsysID2: 211517aa, AdapterDriverVersion2: 8.752.4.0D2D? D2D+ DWrite? DWrite+ D3D10 Layers? D3D10 Layers+
Adapter Vendor ID 0x1002
Adapter Device ID 0x9591
Total Virtual Memory 2147352576
Available Virtual Memory 1433157632
System Memory Use Percentage 61
Available Page File 1629605888
Available Physical Memory 777400320
Frame Module Signature Source
0 xul.dll GetPdbInfo tools/profiler/shared-libraries-win32.cc:30
1 xul.dll SharedLibraryInfo::GetInfoForSelf tools/profiler/shared-libraries-win32.cc:91
2 xul.dll mozilla::HangMonitor::GetChromeHangReport xpcom/threads/HangMonitor.cpp:137
3 xul.dll mozilla::HangMonitor::ThreadMain xpcom/threads/HangMonitor.cpp:218
4 nspr4.dll _PR_NativeRunThread nsprpub/pr/src/threads/combined/pruthr.c:395
5 nspr4.dll pr_root nsprpub/pr/src/md/windows/w95thred.c:90
6 msvcr100.dll _callthreadstartex f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c:314
7 msvcr100.dll _threadstartex f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c:292
8 kernel32.dll BaseThreadInitThunk
9 ntdll.dll __RtlUserThreadStart
10 ntdll.dll _RtlUserThreadStart
More reports at:
It's #12 top crasher in 16.0a1.
It's likely a regression from bug 764216.
Created attachment 638207 [details] [diff] [review]
One risky part of this code is the possibility of the module being unloaded as we're reading stuff from its header. This patch should prevent against this.
Comment on attachment 638207 [details] [diff] [review]
Thank you for fixing this
If you have access to a Windows machine, can you please test to make sure that this doesn't break the hand monitor? I'd do it myself, but I don't quite know how I should test this. (Or you can wait and tell me tomorrow at the office.)
Created attachment 639723 [details] [diff] [review]
Turns out that DuplicateHandle doesn't work on HMODULE's. This version uses LoadLibrary to increment the refcount, and VirtualQuery to make sure that the base address is in the virtual address space before attempting to access it.
Comment on attachment 639723 [details] [diff] [review]
Tested and can confirm it returns valid data
Landed with a proper commit message. Thanks for reviewing and testing the patch!