Crash in mozilla::recordreplay::RR_CGBitmapContextCreateWithData

RESOLVED FIXED in Firefox 64

Status

()

--
critical
RESOLVED FIXED
5 months ago
4 months ago

People

(Reporter: marcia, Assigned: bhackett)

Tracking

({crash, regression})

Trunk
mozilla64
Unspecified
macOS
crash, regression
Points:
---

Firefox Tracking Flags

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

Details

(crash signature)

Attachments

(1 attachment)

This bug was filed from the Socorro interface and is
report bp-327a44be-6831-4137-a242-3cd490180927.
=============================================================

Although this appears to be a single installation crashing twice, I thought it was interesting since it also had webrender stuff in the stack.

Top 10 frames of crashing thread:

0 XUL mozilla::recordreplay::RR_CGBitmapContextCreateWithData toolkit/recordreplay/ProcessRedirectDarwin.cpp:2195
1 libate.dylib EncodeASTC_4x4_RGBA_SSE4_1 
2 XUL webrender::platform::macos::font::FontContext::new third_party/rust/core-graphics/src/context.rs:97
3 XUL webrender::renderer::Renderer::new gfx/webrender/src/glyph_rasterizer/mod.rs:560
4 XUL wr_window_new gfx/webrender_bindings/src/bindings.rs:975
5 XUL mozilla::wr::NewRenderer::Run gfx/webrender_bindings/WebRenderAPI.cpp:74
6 XUL mozilla::wr::RenderThread::RunEvent gfx/webrender_bindings/RenderThread.cpp:319
7 XUL mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void  xpcom/threads/nsThreadUtils.h:1178
8 XUL MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:451
9 XUL base::MessagePumpDefault::Run ipc/chromium/src/base/message_pump_default.cc:38

=============================================================
(Assignee)

Comment 1

4 months ago
Created attachment 9015132 [details] [diff] [review]
patch

The attached patch force-disables WebRender in recording/replaying processes.  For now we only support the basic compositor / rendering paths when recording/replaying.  This shouldn't affect any WebRender related IPC as WebRender will still be turned on in the middleman process, which is responsible for sending graphics rendered by the tab up to the UI process.
Assignee: nobody → bhackett1024
Attachment #9015132 - Flags: review?(nical.bugzilla)
Comment on attachment 9015132 [details] [diff] [review]
patch

Review of attachment 9015132 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/thebes/gfxPlatform.cpp
@@ +791,5 @@
>          gfxVars::SetGREDirectory(nsString(path));
>        }
> +
> +      if (recordreplay::IsRecordingOrReplaying()) {
> +        gfxVars::SetUseWebRender(false);

I'd prefer this to be in gfxPlatform::InitWebRenderConfig .
Attachment #9015132 - Flags: review?(nical.bugzilla) → review+

Comment 3

4 months ago
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d85e5fb4421c
Disable WebRender when recording/replaying, r=nical.

Comment 4

4 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/d85e5fb4421c
Status: NEW → RESOLVED
Last Resolved: 4 months ago
status-firefox64: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
status-firefox62: --- → unaffected
status-firefox-esr60: --- → unaffected
You need to log in before you can comment on or make changes to this bug.