Closed Bug 1474180 Opened 2 years ago Closed 2 years ago

Crash in static union webrender_api::font::FontTemplate* webrender::resource_cache::{{impl}}::get_font_data


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

Windows 10



Tracking Status
firefox-esr60 --- unaffected
firefox62 --- unaffected
firefox63 --- disabled
firefox64 --- fixed


(Reporter: jseward, Assigned: lsalzman)


(Blocks 2 open bugs)


(Keywords: crash)

Crash Data


(1 obsolete file)

This bug was filed from the Socorro interface and is
report bp-ad55538b-fe8a-4f83-8306-b0d930180706.

This is topcrash #19 in the Windows nightly 20180705100105.  It's not
a high roller, but it did occur in two different installations, which
suggests it might be real.  Crash reason is "called `Option::unwrap()`
on a `None` value".

Top 10 frames of crashing thread:

0 xul.dll static void std::panicking::rust_panic_with_hook src/libstd/
1 xul.dll static void std::panicking::continue_panic_fmt src/libstd/
2 xul.dll static void std::panicking::rust_begin_panic src/libstd/
3 xul.dll static void core::panicking::panic_fmt src/libcore/
4 xul.dll static void core::panicking::panic src/libcore/
5 xul.dll static union webrender_api::font::FontTemplate* webrender::resource_cache::{{impl}}::get_font_data gfx/webrender/src/
6 xul.dll static void webrender_bindings::moz2d_renderer::{{impl}}::request gfx/webrender_bindings/src/
7 xul.dll static void webrender::resource_cache::ResourceCache::request_image gfx/webrender/src/
8 xul.dll static void webrender::prim_store::PrimitiveStore::prepare_prim_for_render_inner gfx/webrender/src/
9 xul.dll static union core::option::Option<euclid::rect::TypedRect<f32, webrender_api::units::LayoutPixel>> webrender::prim_store::PrimitiveStore::prepare_prim_for_render gfx/webrender/src/

Flags: needinfo?(bugmail)
I think this has been bug 1413571, but it came back in May.
/cc Lee since it seems possibly font-related. But it's not high volume so I'm fine with it sitting on the back burner for now. We'll want want to fix it before WR riding the trains, though.
Flags: needinfo?(bugmail)
Priority: -- → P1
Assignee: nobody → lsalzman
This is based on a patch idea Jeff proposed in bug 1413571. It makes sure the WR user data points to the UnscaledFonts while the blob image is alive. Once the WR user data goes away and its associated RefPtrs go with it, the weak pointer tracking will pick up on this and happily automatically discard things as normal.
Attachment #9003680 - Flags: review?(jmuizelaar)
Comment on attachment 9003680 [details] [diff] [review]
keep track of UnscaledFonts in blob image user data

This should be fixed by bug 1480615.
Attachment #9003680 - Attachment is obsolete: true
Attachment #9003680 - Flags: review?(jmuizelaar)
Depends on: 1480615
Closed: 2 years ago
Resolution: --- → FIXED
See Also: → 1492437
You need to log in before you can comment on or make changes to this bug.