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

RESOLVED FIXED in Firefox 68

Status

()

defect
P2
critical
RESOLVED FIXED
5 months ago
13 days ago

People

(Reporter: tsmith, Assigned: gw)

Tracking

(Blocks 4 bugs, 4 keywords)

unspecified
mozilla68
Unspecified
All
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite ?

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox67 wontfix, firefox68 fixed)

Details

(crash signature)

Attachments

(2 attachments)

Reporter

Description

5 months ago
Posted 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?
Reporter

Updated

5 months ago
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

Updated

2 months ago
Assignee: nobody → gwatson
Assignee

Comment 4

2 months ago

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.

Comment 5

2 months ago
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

Comment 6

2 months ago
bugherder
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Assignee

Comment 7

Last month

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

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

Comment 8

Last month

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?
Assignee

Comment 9

Last month

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.