Open Bug 1319205 Opened 9 years ago Updated 3 years ago

Fix destruction ordering in GfxInfoBase

Categories

(Core :: Graphics, defect, P5)

defect

Tracking

()

People

(Reporter: gw280, Unassigned)

Details

(Whiteboard: [gfx-noted])

We use three static fields in GfxInfoBase; mDriverInfo, mDeviceFamilies and mDeviceVendors. These are deleted and nulled out in ShutdownObserver. It is possible to get a request for GfxInfo after it's begun its shutdown sequence which requires access to these statics; in particular, DescribeFeatures() eventually ends up in GetFeatureStatusImpl() which recreates mDriverInfo, and then calls into FindBlocklistedDeviceInList() which tries to access mDeviceVendors. This causes a crash. For now, there's a fix in place which sets a static to say that shutdown has occurred, and it early returns if it has (in GetFeatureStatusImpl), but we may want to look into resurrecting the various statics as this could potentially lead to inconsistencies in gfx info reporting. I'm not sure how big of a deal this is though, as I don't know how much we try and use GfxInfo after shutdown has occurred (and in the cases where we do, whether its data actually matters to us or not).
Priority: -- → P5
Whiteboard: [gfx-noted]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.