Closed Bug 1635823 Opened 5 years ago Closed 5 years ago

Crash in [@ nvd3d9wrap.dll | SharedLibraryInfo::GetInfoForSelf]

Categories

(External Software Affecting Firefox :: Telemetry, defect)

x86
Windows 7
defect

Tracking

(relnote-firefox 76+, firefox-esr68 unaffected, firefox75 unaffected, firefox76+ fixed, firefox77+ fixed, firefox78+ fixed)

RESOLVED FIXED
Tracking Status
relnote-firefox --- 76+
firefox-esr68 --- unaffected
firefox75 --- unaffected
firefox76 + fixed
firefox77 + fixed
firefox78 + fixed

People

(Reporter: philipp, Assigned: toshi)

References

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

[Tracking Requested - why for this release]:
this content crash signature is reappearing in firefox 76 for 32bit users on windows 7 (we had fixed it before in bug 1607574). it's currently accounting for 7% of all tab crashes in the early phase of the 76.0 release.

This bug is for crash report bp-77781b47-6d28-4a57-9696-47f090200506.

Top 10 frames of crashing thread:

0 nvd3d9wrap.dll nvd3d9wrap.dll@0x24dd 
1 nvd3d9wrap.dll nvd3d9wrap.dll@0x4a8d 
2 xul.dll static SharedLibraryInfo::GetInfoForSelf tools/profiler/core/shared-libraries-win32.cc:188
3 xul.dll mozilla::Telemetry::BatchProcessedStackGenerator::BatchProcessedStackGenerator toolkit/components/telemetry/other/ProcessedStack.cpp:72
4 xul.dll mozilla::UntrustedModulesProcessor::CompleteProcessing toolkit/xre/UntrustedModulesProcessor.cpp:821
5 xul.dll mozilla::UntrustedModulesProcessor::BackgroundProcessModuleLoadQueueChildProcess::<unnamed-tag>::operator const toolkit/xre/UntrustedModulesProcessor.cpp:528
6 xul.dll mozilla::MozPromise<mozilla::Maybe<mozilla::UntrustedModulesProcessor::ModulesMapResultWithLoads>, nsresult, 1>::ThenValue<`lambda at /builds/worker/checkouts/gecko/toolkit/xre/UntrustedModulesProcessor.cpp:521:9', `lambda at /builds/worker/checkouts/gecko/toolkit/xre/UntrustedModulesProcessor.cpp:530:9'>::DoResolveOrRejectInternal xpcom/threads/MozPromise.h:730
7 xul.dll mozilla::MozPromise<DiskInfo, nsresult, 0>::ThenValueBase::DoResolveOrReject xpcom/threads/MozPromise.h:492
8 xul.dll mozilla::MozPromise<mozilla::Maybe<mozilla::UntrustedModulesProcessor::ModulesMapResultWithLoads>, nsresult, 1>::ThenValueBase::ResolveOrRejectRunnable::Run xpcom/threads/MozPromise.h:405
9 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1220

Flags: needinfo?(tkikuchi)

It seems Nvidia assigns a different name to 32bit and 64bit. As bug 1607574, we've implemented a workaround for nvd3d9wrapx.dll which is for 64bit. This time the name is nvd3d9wrap.dll (no trailing X in the name!) which is apparently for 32bit. Let me prepare a simple patch to solve this naming rule.

Flags: needinfo?(tkikuchi)

As Bug 1607574, we implemented a workaround for the crash caused by Nvidia's
shim driver, where we hardcoded "nvd3d9wrapx.dll" as a target's name. However,
it turned out that nvd3d9wrapx.dll is only for x64, and in x86 nvd3d9wrap.dll
causes the same crash. We need to choose a right name per platform.

Since there is no crash reports from ARM64 (probably no Nvidia driver is
available for Windows ARM64 now), we skip the workaround for ARM64.

Assignee: nobody → tkikuchi
Status: NEW → ASSIGNED

Comment on attachment 9146298 [details]
Bug 1635823 - Skip nvd3d9wrap.dll to bypass Nvidia's crash for x86. r=mhowell

Beta/Release Uplift Approval Request

  • User impact if declined: This is the 32bit version of bug 1607574, the tab crash caused by Nvidia's injected module.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch switches string literals depending on the platform. No logic change. More specifically, we take care of nvd3d9wrap.dll and nvinit.dll for x86, keeping nvd3d9wrapx.dll and nvinitx.dll for x64, to align with Nvidia's naming rule.
  • String changes made/needed: None
Attachment #9146298 - Flags: approval-mozilla-release?
Attachment #9146298 - Flags: approval-mozilla-beta?

Comment on attachment 9146298 [details]
Bug 1635823 - Skip nvd3d9wrap.dll to bypass Nvidia's crash for x86. r=mhowell

Approved for 77 beta 3, thanks.

Attachment #9146298 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9146298 [details]
Bug 1635823 - Skip nvd3d9wrap.dll to bypass Nvidia's crash for x86. r=mhowell

Approved for 76.0.1.

Attachment #9146298 - Flags: approval-mozilla-release? → approval-mozilla-release+

Added to the Firefox 76.0.1 release notes:

Fixed a crash on 32-bit Windows systems with some nVidia drivers installed

Feel free to to suggest any changes to the wording.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: