Closed Bug 1485274 Opened 6 years ago Closed 6 years ago

Crash in static void webrender::display_list_flattener::DisplayListFlattener::add_primitive

Categories

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

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox61 --- unaffected
firefox62 --- unaffected
firefox63 --- disabled

People

(Reporter: calixte, Assigned: u480271)

References

(Blocks 2 open bugs)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is report bp-dda0d954-84aa-4753-bbc3-d540a0180822. ============================================================= 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 <NoType> std::panicking::begin_panic<str*> src/libstd/panicking.rs:445 2 xul.dll static void webrender::display_list_flattener::DisplayListFlattener::add_primitive gfx/webrender/src/display_list_flattener.rs:896 3 xul.dll static union core::option::Option<webrender_api::display_list::BuiltDisplayListIter> webrender::display_list_flattener::DisplayListFlattener::flatten_item gfx/webrender/src/display_list_flattener.rs:610 4 xul.dll static void webrender::display_list_flattener::DisplayListFlattener::flatten_items gfx/webrender/src/display_list_flattener.rs:297 5 xul.dll static union core::option::Option<webrender_api::display_list::BuiltDisplayListIter> webrender::display_list_flattener::DisplayListFlattener::flatten_item gfx/webrender/src/display_list_flattener.rs:619 6 @0x4aae03c6af 7 xul.dll static void webrender::display_list_flattener::DisplayListFlattener::flatten_items gfx/webrender/src/display_list_flattener.rs:297 8 xul.dll static void webrender::display_list_flattener::DisplayListFlattener::flatten_root gfx/webrender/src/display_list_flattener.rs:260 9 xul.dll static union core::option::Option<webrender_api::display_list::BuiltDisplayListIter> webrender::display_list_flattener::DisplayListFlattener::flatten_item gfx/webrender/src/display_list_flattener.rs:644 ============================================================= There are 19 crashes (from 7 installations) in nightly 63 with buildid 20180821220101. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1483303. [1] https://hg.mozilla.org/mozilla-central/rev?node=912a1df48dfd
Flags: needinfo?(jmuizelaar)
Crash Signature: [@ static void webrender::display_list_flattener::DisplayListFlattener::add_primitive] → [@ static void webrender::display_list_flattener::DisplayListFlattener::add_primitive] [@ webrender::display_list_flattener::DisplayListFlattener::add_primitive]
Saw that when loading a Form in Service Now.
It seems I can reproduce at will on this service now page. Anything that you guys would like me to capture? (more logs etc ...)
[ludovic@saraan ~]$ export RUST_BACKTRACE=1 [ludovic@saraan ~]$ bin/firefox/firefox thread 'WRSceneBuilder#1' panicked at 'bug: other brush kinds not expected here yet', gfx/webrender/src/prim_store.rs:1252:25 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. stack backtrace: 0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace 1: std::panicking::default_hook::{{closure}} 2: std::panicking::default_hook 3: std::panicking::rust_panic_with_hook 4: std::panicking::begin_panic 5: webrender::display_list_flattener::DisplayListFlattener::add_primitive 6: webrender::display_list_flattener::DisplayListFlattener::flatten_item 7: webrender::display_list_flattener::DisplayListFlattener::flatten_items 8: webrender::display_list_flattener::DisplayListFlattener::flatten_item 9: webrender::display_list_flattener::DisplayListFlattener::flatten_items 10: webrender::display_list_flattener::DisplayListFlattener::flatten_root 11: webrender::display_list_flattener::DisplayListFlattener::flatten_item 12: webrender::display_list_flattener::DisplayListFlattener::flatten_items 13: webrender::display_list_flattener::DisplayListFlattener::flatten_item 14: webrender::display_list_flattener::DisplayListFlattener::flatten_items 15: webrender::display_list_flattener::DisplayListFlattener::flatten_root 16: webrender::display_list_flattener::DisplayListFlattener::create_frame_builder Redirecting call to abort() to mozalloc_abort ExceptionHandler::GenerateDump cloned child 19372 ExceptionHandler::SendContinueSignalToChild sent continue signal to child ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[ludovic@saraan ~]$ export RUST_BACKTRACE=full [ludovic@saraan ~]$ bin/firefox/firefox thread 'WRSceneBuilder#1' panicked at 'bug: other brush kinds not expected here yet', gfx/webrender/src/prim_store.rs:1252:25 stack backtrace: 0: 0x7f433fc1b802 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h845003dfd4057b58 1: 0x7f433fc0c84c - std::panicking::default_hook::{{closure}}::h67eac88e3f053d87 2: 0x7f433fc0bcab - std::panicking::default_hook::hb9cbad724f559203 3: 0x7f433fc0b85e - std::panicking::rust_panic_with_hook::he4c3a67f6258a8f9 4: 0x7f433f73a356 - std::panicking::begin_panic::hbc69133b13209583 5: 0x7f433f81929f - webrender::display_list_flattener::DisplayListFlattener::add_primitive::h9d980fc61ea0e76c 6: 0x7f433f817605 - webrender::display_list_flattener::DisplayListFlattener::flatten_item::h7ad0c8420bb8126c 7: 0x7f433f80f16e - webrender::display_list_flattener::DisplayListFlattener::flatten_items::h4f98fb6e47e4678d 8: 0x7f433f8153f8 - webrender::display_list_flattener::DisplayListFlattener::flatten_item::h7ad0c8420bb8126c 9: 0x7f433f80f16e - webrender::display_list_flattener::DisplayListFlattener::flatten_items::h4f98fb6e47e4678d 10: 0x7f433f80d347 - webrender::display_list_flattener::DisplayListFlattener::flatten_root::hc3d4dae650415e2b 11: 0x7f433f817d37 - webrender::display_list_flattener::DisplayListFlattener::flatten_item::h7ad0c8420bb8126c 12: 0x7f433f80f16e - webrender::display_list_flattener::DisplayListFlattener::flatten_items::h4f98fb6e47e4678d 13: 0x7f433f8153f8 - webrender::display_list_flattener::DisplayListFlattener::flatten_item::h7ad0c8420bb8126c 14: 0x7f433f80f16e - webrender::display_list_flattener::DisplayListFlattener::flatten_items::h4f98fb6e47e4678d 15: 0x7f433f80d347 - webrender::display_list_flattener::DisplayListFlattener::flatten_root::hc3d4dae650415e2b 16: 0x7f433f80705f - webrender::display_list_flattener::DisplayListFlattener::create_frame_builder::he2ca009d71c0ab3a 17: 0x7f433f824b84 - std::sys_common::backtrace::__rust_begin_short_backtrace::h241ff1ca87bfabca 18: 0x7f433f822dde - <F as alloc::boxed::FnBox<A>>::call_box::h7d6217009f8bd197 19: 0x7f433fc0e711 - std::sys::unix::thread::Thread::new::thread_start::h7d7a420a78cfa84d 20: 0x7f434de16593 - start_thread 21: 0x7f434ce000de - clone 22: 0x0 - <unknown> Redirecting call to abort() to mozalloc_abort
Blocks: wr-stability
I can reproduce this on macOS by navigating to https://sso.mozilla.com/ and clicking ‘The Hub’.
OS: Windows 10 → All
Hardware: Unspecified → All
Attached file Reduced test case, v1 (deleted) —
I created a reduced test case from the Hub link.
Flags: needinfo?(jmuizelaar) → needinfo?(gwatson)
I've investigated this and it's caused by the rendering of unknown glyph "tofu" using border for the surrounding box. The shadow code didn't expect a border. I've extended PrimitiveContainer::create_shadow() to handle BrushKind::Border and BrushKind::Image and the panic!() goes away.
Another page which constantly reproduces it for me is http://es6-features.org/. Just in case you need another example to verify your fix.
Can instantly crash Firefox using this URL: https://www.soundguys.com/understanding-bluetooth-codecs-15352/
Assignee: nobody → dglastonbury
Depends on: 1485791
The fix has landed in WR and will be in the next update.
Flags: needinfo?(gwatson)
Yesterday I found a site that was causing crashes in nightly and the crash reports linked to this. Today no crashes! Thanks!
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: