Closed Bug 1624817 Opened 4 years ago Closed 4 years ago

Crash in [@ webrender::renderer::Renderer::draw_frame] (internal error: entered unreachable code)

Categories

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

x86_64
Windows 10
defect

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox-esr68 --- unaffected
firefox74 --- disabled
firefox75 --- disabled
firefox76 --- fixed

People

(Reporter: jan, Assigned: sotaro)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, nightly-community, regression)

Crash Data

Attachments

(1 file)

Seen in bug 1624250 comment 3:

This bug is for crash report bp-68978ac6-e40a-478f-a511-27f1d0200324.

internal error: entered unreachable code

Top 10 frames of crashing thread:

0 xul.dll RustMozCrash mozglue/static/rust/wrappers.cpp:16
1 xul.dll mozglue_static::panic_hook mozglue/static/rust/lib.rs:89
2 xul.dll core::ops::function::Fn::call<fn ../f3e1a954d2ead4e2fc197c7da7d71e6c61bad196/src/libcore/ops/function.rs:232
3 xul.dll std::panicking::rust_panic_with_hook ../f3e1a954d2ead4e2fc197c7da7d71e6c61bad196//src/libstd/panicking.rs:475
4 xul.dll std::panicking::begin_panic<str*> ../f3e1a954d2ead4e2fc197c7da7d71e6c61bad196/src/libstd/panicking.rs:404
5 xul.dll webrender::renderer::Renderer::draw_frame gfx/wr/webrender/src/renderer.rs
6 xul.dll webrender::renderer::Renderer::render_impl gfx/wr/webrender/src/renderer.rs:3274
7 xul.dll webrender::renderer::Renderer::render gfx/wr/webrender/src/renderer.rs:3052
8 xul.dll webrender_bindings::bindings::wr_renderer_render gfx/webrender_bindings/src/bindings.rs:603
9 xul.dll mozilla::wr::RendererOGL::UpdateAndRender gfx/webrender_bindings/RendererOGL.cpp:154

Flags: needinfo?(gwatson)

If it's that line of code, it might suggest that there is a bug in the code that handles a switch from native compositor <-> draw compositor, which I think occurs when taking screenshots in the profiler? Do we have any bug repro steps? Does that sound right to you, Sotaro?

Flags: needinfo?(gwatson) → needinfo?(sotaro.ikeda.g)

Yea, it seems that problem happened during switch from native compositor <-> draw compositor. I am going to check if it is reproducible.

Assignee: nobody → sotaro.ikeda.g

I could reproduce the problem.

Flags: needinfo?(sotaro.ikeda.g)

The crash happened by reusing old Tile's descriptor SurfaceTextureDescriptor::Native. SurfaceTextureDescriptor::Native could not be used when wr native compositor is disabled.

Attachment #9137388 - Attachment description: Bug 1624817 - Do not reuse Tile's descriptor when we native compositor is disabled → Bug 1624817 - Fix Tile invalidation during disabling native compositor
Attachment #9137388 - Attachment description: Bug 1624817 - Fix Tile invalidation during disabling native compositor → Bug 1624817 - Fix Tile invalidation during disabling WR native compositor
Pushed by sikeda.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/95ddb3213aec
Fix Tile invalidation during disabling WR native compositor r=gw
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76
Blocks: 1627117
Regressed by: 1602643
Has Regression Range: --- → yes
Keywords: regression

Comment on attachment 9137388 [details]
Bug 1624817 - Fix Tile invalidation during disabling WR native compositor

Beta/Release Uplift Approval Request

  • User impact if declined: CPU process could crash during profiling with screenshots and WebRender native compositor on. Though taking screenshot during profiling is off by default on Firefox 75.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It is simple fix that address Tile invalidation.
  • String changes made/needed: none
Attachment #9137388 - Flags: approval-mozilla-beta?

Comment on attachment 9137388 [details]
Bug 1624817 - Fix Tile invalidation during disabling WR native compositor

Too late for 75, sorry.

Attachment #9137388 - Flags: approval-mozilla-beta? → approval-mozilla-beta-

Also given this is disabled by default and very low volume on beta it doesn't seem like a must-have.

QA Whiteboard: [qa-76b-p2]
You need to log in before you can comment on or make changes to this bug.