Crash in gfxPlatform::Init in GPU process

RESOLVED FIXED in Firefox 52

Status

()

defect
--
critical
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: mccr8, Assigned: dvander)

Tracking

({crash})

unspecified
mozilla52
Unspecified
Windows 10
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox52 fixed)

Details

(crash signature)

Attachments

(3 attachments)

This bug was filed from the Socorro interface and is 
report bp-3d442b90-b9d9-4025-8a46-9a7d52161109.
=============================================================

There are about a half dozen of these crashes a day on Nightly. At least for the 11-8 build, they are all in the GPU process, so there might be something to improve here.
Flags: needinfo?(dvander)
Assignee: nobody → dvander
Flags: needinfo?(dvander)
It looks like there's a bunch of device reset code in TextureD3D11.cpp. Not sure exactly how much of this is needed anymore, but let's give it the benefit of the doubt and migrate reset code handling to DeviceManagerDx.
This moves all the DeviceResetReason state from gfxWindowsPlatform to DeviceManagerDx. Mostly code motion, but some small details changed:

(1) mHasDeviceReset/mDeviceResetReason were folded into a Maybe<>
(2) mHasD3D9DeviceReset was folded into DeviceResetReason
(3) Everything now happens in the device lock
(4) Test device resets now only work on the main thread (and still only in the GPU process), since that's the only place where it's valid to set gfxPrefs.
Attachment #8809705 - Flags: review?(rhunt)
This fixes TextureD3D11 so it no longer uses gfxWindowsPlatform.
Attachment #8809706 - Flags: review?(rhunt)
This updates MaybeResetAndReacquireDevices for the changes in part 1.
Attachment #8809716 - Flags: review?(rhunt)
Attachment #8809705 - Flags: review?(rhunt) → review+
Attachment #8809706 - Flags: review?(rhunt) → review+
Attachment #8809716 - Flags: review?(rhunt) → review+
Really happy that this code is being moved out of gfxWindowsPlatform.
Pushed by danderson@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1b76383a5182
Move device reset detection from gfxPlatform to DeviceManagerDx. (bug 1316690 part 1, r=rhunt)
https://hg.mozilla.org/integration/mozilla-inbound/rev/86e2aea8417c
Don't use gfxWindowsPlatform in TextureD3D11. (bug 1316690 part 2, r=rhunt)
https://hg.mozilla.org/integration/mozilla-inbound/rev/353ef7001763
Handle forced device resets in the GPU process. (bug 1316690 part 3, r=rhunt)
You need to log in before you can comment on or make changes to this bug.