Closed Bug 1660675 Opened 4 years ago Closed 4 years ago

Crash in [@ webrender::prepare::prepare_interned_prim_for_render]

Categories

(Core :: Graphics: WebRender, defect)

79 Branch
defect

Tracking

()

RESOLVED DUPLICATE of bug 1511493
Tracking Status
firefox79 --- wontfix
firefox80 --- wontfix

People

(Reporter: smurfendrek123, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: crash, Whiteboard: [tbird crash])

Crash Data

Attachments

(1 file)

Crash report: https://crash-stats.mozilla.org/report/index/77145bc3-61ea-426d-8fe4-4a7db0200823

Top 10 frames of crashing thread:

0 libxul.so RustMozCrash /builddir/build/BUILD/firefox-79.0/mozglue/static/rust/wrappers.cpp:17
1 libxul.so mozglue_static::panic_hook /builddir/build/BUILD/firefox-79.0/mozglue/static/rust/lib.rs:89
2 libxul.so core::ops::function::Fn::call /builddir/build/BUILD/rustc-1.45.0-src/src/libcore/ops/function.rs:72
3 libxul.so std::panicking::rust_panic_with_hook /builddir/build/BUILD/rustc-1.45.0-src/src/libstd/panicking.rs:490
4 libxul.so std::panicking::begin_panic /builddir/build/BUILD/rustc-1.45.0-src/src/libstd/panicking.rs:410
5 libxul.so webrender::prepare::prepare_interned_prim_for_render /builddir/build/BUILD/firefox-79.0/gfx/wr/webrender/src/glyph_rasterizer/mod.rs:72
6 libxul.so webrender::prepare::prepare_primitives /builddir/build/BUILD/firefox-79.0/gfx/wr/webrender/src/prepare.rs:249
7 libxul.so webrender::prepare::prepare_primitives /builddir/build/BUILD/firefox-79.0/gfx/wr/webrender/src/prepare.rs:189
8 libxul.so webrender::frame_builder::FrameBuilder::build /builddir/build/BUILD/firefox-79.0/gfx/wr/webrender/src/frame_builder.rs:483
9 libxul.so webrender::render_backend::Document::build_frame /builddir/build/BUILD/firefox-79.0/gfx/wr/webrender/src/render_backend.rs:643

This happened after playing this game: https://www.newgrounds.com/portal/view/753071

When I play this game for a minute or three, the game window turns black (not the entire tab, just the game, game works fine in chromium). I've also had this issue with other games, but not with more simple html/js based ones, i presume they all share the same "game engine" or at least all use webgl. After I refresh, either the tab crashes, (which I don't know how to get a report for) or firefox crashes entirely, which is what this crash report is about.

It would also be nice if the game turning black could be fixed.

I can't try in safe mode, because these games need webGL

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: General → Graphics: WebRender
Product: Firefox → Core

I can't consistently reproduce the crashes, but the games becoming black does consistently happen.

With this game: https://armorgames.com/rum-gun-game/18856?fp=ng I can pretty consistently get a tab crash upon refreshing after the screen becomes black.

Blocks: wr-stability
Keywords: crash
OS: Unspecified → All
Hardware: Unspecified → All

(In reply to smurfendrek123 from comment #3)

With this game: https://armorgames.com/rum-gun-game/18856?fp=ng I can pretty consistently get a tab crash upon refreshing after the screen becomes black.

Thanks for the report!

  1. Do all these tab crashes likewise contain [@ webrender::prepare::prepare_interned_prim_for_render ]? If not, please post the other bp-XXXXXXXX crash IDs.
  2. Can "WebGL becomes black" be fixed by disabling DMABUF WebGL? Open about:config, search "dmabuf", disable the webgl pref and restart Firefox. (bug 1655323)

How do i access tab crash reports? When a tab crashes i only get the option to either cancel or restore the tab.

They should appear on about:crashes. But: bug 1655323 didn't generate any crash reports for me, WebGL just became black. Therefore I assume the crash report might not have been about WebGL becoming black.

I don't get the option to report these tab crashes, and about:crashes show no additional crashes. It's only upon a full browser crash that I see new crashes in about:crashes. I did turn off webrenderer again, and got this tab crash (https://crash-stats.mozilla.org/report/index/08524eed-db67-4781-92e4-dbc7e0200823). That tab crash was successfully reported (and had a UI in the tab crash page to report it right away when it crahsed).

But the tab crash with webrenderer does not give me the option to report it.

manually setting widget.wayland-dmabuf-webgl.enabled to false does seem to fix the webgl black screens.

I assume this is expected but it does make the game a good bit slower though.

:gw, do you have any ideas what causes the crash?

Flags: needinfo?(gwatson)

The panic seems to be the assertion failure at [1]. I'm not sure how this could occur - maybe if a font fails to parse and doesn't get added or something like that? Lee, Nical, any ideas what situation could cause that assert to fail?

[1] https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/glyph_rasterizer/mod.rs#72

Flags: needinfo?(nical.bugzilla)
Flags: needinfo?(lsalzman)
Flags: needinfo?(gwatson)
Severity: -- → S2

There are other crash signatures with assertion failed: self.font_contexts.lock_shared_context().has_font(&font.font_key):

  • bug 1511493 (the bug about this crash reason) even contains a previous variant of this bug's crash signature:
    [@ webrender::prim_store::PrimitiveStore::prepare_interned_prim_for_render ]
    So this doesn't seem to be a spike, rather just a slightly changed crash signature.
  • Some crash signatures mention DejaVuSans.ttf, NotoSansCJK-Bold.ttc, NotoSansCJK-Regular.ttc, NotoSansCJK-Thin.ttc.
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Flags: needinfo?(lsalzman)
Flags: needinfo?(nical.bugzilla)

comment 12 was intended for bug 1511493

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: