Closed
Bug 985773
Opened 10 years ago
Closed 10 years ago
[Skia] Shutdown: "Assertion failure: SingletonExists()"
Categories
(Core :: Graphics, defect)
Tracking
()
VERIFIED
FIXED
mozilla31
Tracking | Status | |
---|---|---|
firefox31 | --- | verified |
People
(Reporter: jruderman, Assigned: snorp)
References
Details
(Keywords: assertion, regression, testcase)
Attachments
(3 files, 2 obsolete files)
With: user_pref("gfx.canvas.azure.accelerated", true); user_pref("gfx.canvas.azure.backends", "skia"); Shutting down the browser after loading this testcase hits: Assertion failure: SingletonExists(), at gfxPrefs.h:177 Maybe a regression from bug 978274?
Reporter | ||
Comment 1•10 years ago
|
||
Updated•10 years ago
|
Assignee: nobody → milan
Comment 2•10 years ago
|
||
Destroying GLContext calls GLContext::MakeCurrent, and all of this is being done after gfxPlatform has been shutdown. MakeCurrent tries to access a graphics pref, but the lifetime of those is currently tied to gfxPlatform, so we assert. Is the last thing the bad one, the fact that the lifetime of graphics prefs is tied to gfxPlatform?
Flags: needinfo?(snorp)
Flags: needinfo?(gwright)
Assignee | ||
Comment 3•10 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #2) > Destroying GLContext calls GLContext::MakeCurrent, and all of this is being > done after gfxPlatform has been shutdown. > MakeCurrent tries to access a graphics pref, but the lifetime of those is > currently tied to gfxPlatform, so we assert. > Is the last thing the bad one, the fact that the lifetime of graphics prefs > is tied to gfxPlatform? I think we just need to null the mSkiaGlue in gfxPlatform::Shutdown() before the prefs stuff gets shut down. Right now it's doing it in the gfxPlatform destructor, which is bad for this reason.
Flags: needinfo?(snorp)
Assignee | ||
Comment 4•10 years ago
|
||
Assignee: milan → snorp
Attachment #8396419 -
Flags: review?(milan)
Assignee | ||
Comment 5•10 years ago
|
||
Oh, gfxPlatform::Shutdown() is static, so this is wrong. New patch coming.
Comment 6•10 years ago
|
||
Comment on attachment 8396419 [details] [diff] [review] Destroy SkiaGLGlue in gfxPlatform::Shutdown() instead of relying on destructor Review of attachment 8396419 [details] [diff] [review]: ----------------------------------------------------------------- I like it.
Attachment #8396419 -
Flags: review?(milan)
Attachment #8396419 -
Flags: review?(gwright)
Attachment #8396419 -
Flags: feedback+
Comment 7•10 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #6) > Comment on attachment 8396419 [details] [diff] [review] > Destroy SkiaGLGlue in gfxPlatform::Shutdown() instead of relying on > destructor > > Review of attachment 8396419 [details] [diff] [review]: > ----------------------------------------------------------------- > > I like it. Assuming you call it the gPlatform->... way of course :)
Assignee | ||
Comment 8•10 years ago
|
||
Attachment #8396419 -
Attachment is obsolete: true
Attachment #8396419 -
Flags: review?(gwright)
Attachment #8396488 -
Flags: review?(gwright)
Comment 9•10 years ago
|
||
Comment on attachment 8396488 [details] [diff] [review] Destroy SkiaGLGlue in gfxPlatform::Shutdown() instead of relying on destructor Review of attachment 8396488 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/thebes/gfxPlatform.cpp @@ +885,5 @@ > > void > +gfxPlatform::DestroySkiaGLGlue() > +{ > + mSkiaGlue = nullptr; Perhaps add a comment here stating that as this is a refptr this is effectively an unref op
Attachment #8396488 -
Flags: review?(gwright) → review+
Updated•10 years ago
|
Flags: needinfo?(gwright)
Assignee | ||
Comment 10•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/3d83a5202173
Assignee | ||
Comment 11•10 years ago
|
||
This got backed out, because apparently gPlatform is sometimes null. Oops.
Assignee | ||
Comment 12•10 years ago
|
||
Attachment #8396488 -
Attachment is obsolete: true
Attachment #8397122 -
Flags: review?(gwright)
Comment 13•10 years ago
|
||
Push backed out: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?changeset=b9f2eb47b6f5 For xpcshell crashes: https://tbpl.mozilla.org/php/getParsedLog.php?id=36734637&tree=Mozilla-Inbound
Updated•10 years ago
|
Attachment #8397122 -
Flags: review?(gwright) → review+
Comment 14•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/6374f5d7525d
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
Comment 15•10 years ago
|
||
Reproduced in 2014-03-19-mozilla-central-debug, Mac OS X 10.9. Verified fixed FF 31.0a1 2014-03-31-mozilla-central-debug.
Status: RESOLVED → VERIFIED
status-firefox31:
--- → verified
You need to log in
before you can comment on or make changes to this bug.
Description
•