Crash in [@ mozilla::layers::CanvasClient::UseTexture]
Categories
(Core :: Graphics: Layers, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox-esr78 | --- | unaffected |
firefox77 | --- | unaffected |
firefox78 | --- | unaffected |
firefox79 | + | wontfix |
firefox80 | - | wontfix |
firefox81 | --- | wontfix |
firefox82 | --- | fix-optional |
People
(Reporter: RyanVM, Assigned: jgilbert)
References
(Regression)
Details
(Keywords: crash, regression)
Crash Data
This bug is for crash report bp-a3431afd-f1ef-4cf1-bbcf-6a2420200615.
This signature first appeared in the 20200611093454 Nightly build. Pushlog for that build:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=fab7c4f54054&tochange=10ad7868f3ca27cb90db9bd1d392ff4d7852a0cd
Regression from bug 1632249?
Top 10 frames of crashing thread:
0 xul.dll mozilla::layers::CanvasClient::UseTexture gfx/layers/client/CanvasClient.cpp:38
1 xul.dll mozilla::layers::ShareableCanvasRenderer::UpdateCompositableClient gfx/layers/ShareableCanvasRenderer.cpp:192
2 xul.dll nsDisplayCanvas::CreateWebRenderCommands layout/generic/nsHTMLCanvasFrame.cpp:138
3 xul.dll mozilla::layers::WebRenderCommandBuilder::CreateWebRenderCommands gfx/layers/wr/WebRenderCommandBuilder.cpp:1651
4 xul.dll mozilla::layers::WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList gfx/layers/wr/WebRenderCommandBuilder.cpp:1756
5 xul.dll mozilla::layers::WebRenderCommandBuilder::BuildWebRenderCommands gfx/layers/wr/WebRenderCommandBuilder.cpp:1577
6 xul.dll mozilla::layers::WebRenderLayerManager::EndTransactionWithoutLayer gfx/layers/wr/WebRenderLayerManager.cpp:322
7 xul.dll nsDisplayList::PaintRoot layout/painting/nsDisplayList.cpp:2382
8 xul.dll static nsLayoutUtils::PaintFrame layout/base/nsLayoutUtils.cpp:4142
9 xul.dll mozilla::PresShell::Paint layout/base/PresShell.cpp:6347
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Comment 1•4 years ago
|
||
Ah yes, definitely from bug 1632249. The crashes correlate exactly with when those patches landed, were backed out, and then re-landed.
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Reporter | ||
Updated•4 years ago
|
Reporter | ||
Comment 3•4 years ago
|
||
Interestingly, we haven't seen any crashes in 79.0b7+, which corresponds to when the early beta period ended. Is this maybe tied to something only enabled through early beta?
Comment 4•4 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)
Interestingly, we haven't seen any crashes in 79.0b7+, which corresponds to when the early beta period ended. Is this maybe tied to something only enabled through early beta?
Hmm, I guess this could be that remote canvas 2D is only enabled for early beta.
jgilbert - could the refactoring for WebGL in bug 1632249 have affected Canvas 2D as well?
Assignee | ||
Comment 5•4 years ago
|
||
(In reply to Bob Owen (:bobowen) from comment #4)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)
Interestingly, we haven't seen any crashes in 79.0b7+, which corresponds to when the early beta period ended. Is this maybe tied to something only enabled through early beta?
Hmm, I guess this could be that remote canvas 2D is only enabled for early beta.
jgilbert - could the refactoring for WebGL in bug 1632249 have affected Canvas 2D as well?
Sure does! 1632249 touched the compositing path for both canvas2d and webgl.
Comment 6•4 years ago
|
||
Due to the size of this refactor, I'm really struggling to see how the remote canvas setting affects this.
It looks like the context is a webgl one, because the mIsAlphaPremult in CanvasRendererData is false, which as far as I can see can only happen in ClientWebGLContext.
I also notice that we've had another one in Fx79b9, so maybe this is still there without remote canvas, just less likely.
jgilbert: can you take a look please, because you probably have a better handle on how those changes might have caused this.
Assignee | ||
Comment 7•4 years ago
|
||
So this is a DIAG_ASSERT, so I expect this is surfacing a possible correctness invariant violation, so that's not awful once it goes away on Release. P2/S3 sounds right here, absent evidence of worsening crashrates or actual reports of correctness issues.
I agree that this sounds like the WebGL side of things due to the premult-alpha aspect here.
Comment 8•4 years ago
|
||
(In reply to Jeff Gilbert [:jgilbert] from comment #7)
So this is a DIAG_ASSERT, so I expect this is surfacing a possible correctness invariant violation, so that's not awful once it goes away on Release. P2/S3 sounds right here, absent evidence of worsening crashrates or actual reports of correctness issues.
I agree that this sounds like the WebGL side of things due to the premult-alpha aspect here.
OK thanks, I'd forgotten that MOZ_ALWAYS_TRUE was a diagnostic assert.
I'll stop worrying about this from a remote canvas 2D point of view then.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 9•3 years ago
|
||
Closing because no crashes reported for 12 weeks.
Description
•