Closed Bug 1524427 Opened 1 year ago Closed 1 year ago

Hit MOZ_CRASH(Didn't find a cached resource with that ID!) at src/libcore/option.rs:1008

Categories

(Core :: Graphics: WebRender, defect, P2)

Unspecified
All
defect

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox-esr60 --- unaffected
firefox67 --- wontfix
firefox68 --- fixed

People

(Reporter: tsmith, Assigned: gw)

References

(Blocks 4 open bugs)

Details

(4 keywords)

Crash Data

Attachments

(2 files)

Attached file testcase.html

Hit MOZ_CRASH(Didn't find a cached resource with that ID!) at src/libcore/option.rs:1008

#0 MOZ_CrashOOL(char const*, int, char const*) src/obj-firefox/dist/include/mozilla/Assertions.h:314:3
#1 GeckoCrashOOL src/toolkit/xre/nsAppRunner.cpp:5197:3
#2 gkrust_shared::panic_hook::h0944b37bc6f61e76 src/toolkit/library/rust/shared/lib.rs:232:8
#3 core::ops::function::Fn::call::h288f35b4d6a771bb /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libcore/ops/function.rs:78:4
#4 std::panicking::rust_panic_with_hook::h8cbdfe43764887be /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/panicking.rs:495:16
#5 std::panicking::continue_panic_fmt::h3d3c5a833c00a5e1 /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/panicking.rs:398:4
#6 rust_begin_unwind /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/panicking.rs:325:4
#7 core::panicking::panic_fmt::h4d67173bc68f6d5a /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libcore/panicking.rs:95:13
#8 core::option::expect_failed::h2f881c519f1d8001 /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libcore/option.rs:1008:4
#9 webrender::resource_cache::ResourceCache::get_image_info::hdf4ba7b03d3b9697 src/gfx/wr/webrender/src/resource_cache.rs
#10 webrender::resource_cache::ResourceCache::get_cached_image::h5b2d61f27b13ce07 src/gfx/wr/webrender/src/resource_cache.rs:1521
#11 webrender::batch::ClipBatcher::add::_$u7b$$u7b$closure$u7d$$u7d$::hb9f2c80bba7260bc src/gfx/wr/webrender/src/batch.rs:2720:47
#12 webrender::batch::ClipBatcher::add::h9e00115712e8ac57 src/gfx/wr/webrender/src/batch.rs:2750:28
#13 _$LT$webrender..tiling..AlphaRenderTarget$u20$as$u20$webrender..tiling..RenderTarget$GT$::add_task::hc24b663985f2ceff src/gfx/wr/webrender/src/tiling.rs:646:16
#14 webrender::tiling::RenderPass::build::h80f2c5a68529b69c src/gfx/wr/webrender/src/tiling.rs:1025:59
#15 webrender::frame_builder::FrameBuilder::build::hbd813383dba89301 src/gfx/wr/webrender/src/frame_builder.rs:556:12
#16 webrender::render_backend::Document::build_frame::h95e0b08a8d49274d src/gfx/wr/webrender/src/render_backend.rs:510:24
#17 webrender::render_backend::RenderBackend::update_document::h03f877a4a20970dc src/gfx/wr/webrender/src/render_backend.rs:1365:40
#18 webrender::render_backend::RenderBackend::prepare_transaction::h13ed0e663d5dd93d src/gfx/wr/webrender/src/render_backend.rs:1241:12
#19 webrender::render_backend::RenderBackend::process_api_msg::he394fa0dc2f807e1 src/gfx/wr/webrender/src/render_backend.rs:1169
#20 webrender::render_backend::RenderBackend::run::h22aabff67ebd3c3b src/gfx/wr/webrender/src/render_backend.rs:927:20
#21 webrender::renderer::Renderer::new::_$u7b$$u7b$closure$u7d$$u7d$::h5e59561e34412618 src/gfx/wr/webrender/src/renderer.rs:1936:12
#22 std::sys_common::backtrace::__rust_begin_short_backtrace::h46f582ed0b8a89f1 /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/sys_common/backtrace.rs:136
#23 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h008c26be35017138 /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/thread/mod.rs:477:16
#24 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h0883a5fb03e2889a /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/panic.rs:319
#25 std::panicking::try::do_call::h6b41cfcf6b392e6a (.llvm.9558968515841764721) /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/panicking.rs:310
#26 __rust_maybe_catch_panic /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libpanic_abort/lib.rs:39:4
Flags: in-testsuite?
Priority: -- → P3

Win10, GTX1060
bp-10ae63ad-4971-43ed-84e6-359680190508

Didn't find a cached resource with that ID!

Given this crash reason has three different STR (comment 0 + bug 1521095 + bug 1549993)
and sounds similar to "no entry found for key" (bug 1538540 comment 45 + bug 1523589)
a reprioritization could be desired?

Severity: normal → critical
Crash Signature: [@ core::option::expect_failed | webrender::resource_cache::ResourceCache::get_cached_image ]
OS: Unspecified → All
Flags: needinfo?(jbonisteel)

/cc :gw also. I agree it would be good to look at this sooner rather than later considering we seem to have STR and the crash seems to be manifesting in a variety of ways so we might be under-reporting it in terms of crash-stats.

Blocks: wr-68
Flags: needinfo?(jbonisteel)
Priority: P3 → P2
Assignee: nobody → gwatson

In some cases, Gecko supplies a display item with an image clip
mask where the image itself does not exist in the resource cache.

In these cases, WR would skip requesting the image, but would
still try to fetch the image info during batching, causing a panic.

This patch skips adding clip items to the batching pass if the
image mask does not exist.

It also adds support to wrench for a crash test when the image
mask is invalid.

Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d8fa440167f5
Fix panic when clip mask is supplied with non-existent image key. r=kvark
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

kats, jessie: Do we want to request uplift of this to any branch(es)?

Flags: needinfo?(kats)
Flags: needinfo?(jbonisteel)

Comment on attachment 9063900 [details]
Bug 1524427 - Fix panic when clip mask is supplied with non-existent image key.

Beta/Release Uplift Approval Request

  • User impact if declined: Crashes occurring for WR users in the bug scenario.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It's a small patch. Only affects WR-enabled users. Should strictly be an improvement for a crash bug.
  • String changes made/needed:
Attachment #9063900 - Flags: approval-mozilla-beta?

I don't think this crash is that common, so it may not be that important to take. But it is low risk, and does fix a crash we've seen in user crash reports.

Updating flag so this shows up in the uplift requests.

Flags: needinfo?(kats)

Comment on attachment 9063900 [details]
Bug 1524427 - Fix panic when clip mask is supplied with non-existent image key.

4 crashes only with this signature in the whole beta cycle, I don't think that's a good candidate for uplift, especially during RC week, thanks anyway.

Attachment #9063900 - Flags: approval-mozilla-beta? → approval-mozilla-beta-
Flags: needinfo?(jbonisteel)
You need to log in before you can comment on or make changes to this bug.