Closed Bug 1559535 Opened 5 months ago Closed 5 months ago

Crash in [@ webrender::prim_store::PrimitiveStore::update_visibility]

Categories

(Core :: Graphics: WebRender, defect, P1, critical)

69 Branch
Desktop
All
defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox-esr60 --- unaffected
firefox67 --- unaffected
firefox68 --- unaffected
firefox69 + fixed

People

(Reporter: jcristau, Assigned: gw)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file, 1 obsolete file)

This bug is for crash report bp-13c59bdb-a656-44c7-881f-db5f50190615.

Dying with "assertion failed: level.clip_counts.is_empty() && level.clips.is_empty()"

Top 10 frames of crashing thread:

0 xul.dll GeckoCrash toolkit/xre/nsAppRunner.cpp:5168
1 xul.dll static void gkrust_shared::panic_hook toolkit/library/rust/shared/lib.rs:244
2 xul.dll static void core::ops::function::Fn::call<fn src/libcore/ops/function.rs:69
3 xul.dll static void std::panicking::rust_panic_with_hook src/libstd/panicking.rs:478
4 xul.dll static <NoType> std::panicking::begin_panic<str*> src/libstd/panicking.rs:408
5 xul.dll static union core::option::Option<euclid::rect::TypedRect<f32, webrender_api::units::PicturePixel>> webrender::prim_store::PrimitiveStore::update_visibility gfx/wr/webrender/src/prim_store/mod.rs:2233
6 xul.dll static union core::option::Option<euclid::rect::TypedRect<f32, webrender_api::units::PicturePixel>> webrender::prim_store::PrimitiveStore::update_visibility gfx/wr/webrender/src/prim_store/mod.rs:1918
7 xul.dll static union core::option::Option<euclid::rect::TypedRect<f32, webrender_api::units::PicturePixel>> webrender::prim_store::PrimitiveStore::update_visibility gfx/wr/webrender/src/prim_store/mod.rs:1918
8 xul.dll static union core::option::Option<webrender::render_task::RenderTaskId> webrender::frame_builder::FrameBuilder::build_layer_screen_rects_and_cull_layers gfx/wr/webrender/src/frame_builder.rs:415
9 xul.dll static struct webrender::internal_types::RenderedDocument webrender::render_backend::Document::build_frame gfx/wr/webrender/src/render_backend.rs:526

This started in the 20190613215335 nightly build.

Dying with "assertion failed: level.clip_counts.is_empty() && level.clips.is_empty()"

Added by bug 1558106.

Blocks: wr-stability
Regressed by: 1558106

Do we have a URL for this one? It's probably very dependent on content.

Thanks, I can reproduce on the abc.net.au URL - I will investigate this today.

Assignee: nobody → gwatson

Fixes an edge case where splitting the top level primitive list
for picture caching may result in a mismatched push/pop clip
pair.

This is not a particularly efficient fix, but it's a rare enough
edge case for now that this fix will be good enough until we work
out the long term solution for the push/pop clip chain instances.

Priority: -- → P1
Blocks: wr-69
Status: NEW → ASSIGNED

Fixes an edge case where splitting the top level primitive list
for picture caching may result in a mismatched push/pop clip
pair.

This is not a particularly efficient fix, but it's a rare enough
edge case for now that this fix will be good enough until we work
out the long term solution for the push/pop clip chain instances.

Attachment #9072774 - Attachment is obsolete: true
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/11f0e1ee8f0c
Fix crash related to mismatched clips with picture caching. r=kvark
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in before you can comment on or make changes to this bug.