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

RESOLVED FIXED in Firefox 64

Status

()

defect
P1
critical
RESOLVED FIXED
Last year
10 months ago

People

(Reporter: jseward, Assigned: lsalzman)

Tracking

(Blocks 2 bugs, {crash})

unspecified
mozilla64
Unspecified
Windows 10
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox62 unaffected, firefox63 disabled, firefox64 fixed)

Details

(crash signature)

Attachments

(1 obsolete attachment)

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/panicking.rs:521
1 xul.dll static void std::panicking::continue_panic_fmt src/libstd/panicking.rs:426
2 xul.dll static void std::panicking::rust_begin_panic src/libstd/panicking.rs:337
3 xul.dll static void core::panicking::panic_fmt src/libcore/panicking.rs:92
4 xul.dll static void core::panicking::panic src/libcore/panicking.rs:53
5 xul.dll static union webrender_api::font::FontTemplate* webrender::resource_cache::{{impl}}::get_font_data gfx/webrender/src/resource_cache.rs:276
6 xul.dll static void webrender_bindings::moz2d_renderer::{{impl}}::request gfx/webrender_bindings/src/moz2d_renderer.rs:426
7 xul.dll static void webrender::resource_cache::ResourceCache::request_image gfx/webrender/src/resource_cache.rs:685
8 xul.dll static void webrender::prim_store::PrimitiveStore::prepare_prim_for_render_inner gfx/webrender/src/prim_store.rs:1783
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/prim_store.rs:2611

=============================================================
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
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
See Also: → 1492437
You need to log in before you can comment on or make changes to this bug.