macOS Crash in [@ mozilla::layers::NativeLayerCA::NextSurface]
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox88 | --- | wontfix |
firefox89 | --- | wontfix |
firefox90 | --- | fixed |
People
(Reporter: aryx, Assigned: bradwerth)
References
(Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 file)
69 crashes for Firefox 87, there were fewer crashes for Firefox 86 which had the fix from bug 1686834. The frequency increased since early February but on a low level.
Crash report: https://crash-stats.mozilla.org/report/index/473190f6-e1cb-4aa9-8945-ea4660210426
MOZ_CRASH Reason: MOZ_RELEASE_ASSERT(newSurf) (NextSurface IOSurfaceCreate failed to create the surface.)
Top 10 frames of crashing thread:
0 XUL mozilla::layers::NativeLayerCA::NextSurface gfx/layers/NativeLayerCA.mm:643
1 XUL mozilla::layers::NativeLayerCA::NextSurfaceAsFramebuffer gfx/layers/NativeLayerCA.mm:718
2 XUL mozilla::wr::RenderCompositorNativeOGL::Bind gfx/webrender_bindings/RenderCompositorNative.cpp:518
3 XUL <webrender_bindings::bindings::WrCompositor as webrender::composite::Compositor>::bind gfx/webrender_bindings/src/bindings.rs:1310
4 XUL webrender::renderer::Renderer::draw_frame gfx/wr/webrender/src/renderer/mod.rs:4641
5 XUL webrender::renderer::Renderer::render_impl gfx/wr/webrender/src/renderer/mod.rs:2159
6 XUL webrender::renderer::Renderer::render gfx/wr/webrender/src/renderer/mod.rs:1894
7 XUL wr_renderer_render gfx/webrender_bindings/src/bindings.rs:636
8 XUL mozilla::wr::RenderThread::UpdateAndRender gfx/webrender_bindings/RenderThread.cpp:486
9 XUL mozilla::wr::RenderThread::HandleFrameOneDoc gfx/webrender_bindings/RenderThread.cpp:341
Comment 1•3 years ago
|
||
Brad, does it give us more information to look at the original crash?
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
This closes the only way that ObtainSurfaceFromPool could return a null
surface, unless the macOS API IOSurfaceCreate returns a null reference.
There's no evidence that this API should ever return null. Consequently, since
NativeLayerCA::NextSurface is the only caller of this function, this patch
removes the MOZ_RELEASE_ASSERTS there.
A potential follow-up would be to investigate the entries that are put into
mAvailableEntries and check that the surfaces are non-null at the time of
their insertion.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 3•3 years ago
|
||
Thanks Brad! Do you think you have the time to try investigating this further by putting the suggested checks in place?
Assignee | ||
Comment 4•3 years ago
|
||
(In reply to Dzmitry Malyshau [:kvark] from comment #3)
Thanks Brad! Do you think you have the time to try investigating this further by putting the suggested checks in place?
Yes, I'll update the patch with an approach that follows the suggestion by mstange.
Updated•3 years ago
|
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/79a02e8fc876 Ensure that SurfacePoolCA doesn't store or give out null recycled surfaces. r=mstange
Comment 6•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Comment 7•3 years ago
|
||
The patch landed in nightly and beta is affected.
:bradwerth, is this bug important enough to require an uplift?
If not please set status_beta
to wontfix
.
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Description
•