Closed Bug 1655357 Opened 4 years ago Closed 4 years ago

Crash in [@ webrender::renderer::Renderer::update_texture_cache]

Categories

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

Unspecified
macOS
defect

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- unaffected
firefox78 --- unaffected
firefox79 --- unaffected
firefox80 --- wontfix
firefox83 --- wontfix
firefox84 --- wontfix
firefox85 --- fixed

People

(Reporter: gsvelto, Assigned: kvark)

References

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

This bug is for crash report bp-7632e19b-dca5-47cb-8731-50ea90200725.

Top 10 frames of crashing thread:

0 XUL RustMozCrash mozglue/static/rust/wrappers.cpp:17
1 XUL mozglue_static::panic_hook mozglue/static/rust/lib.rs:89
2 XUL core::ops::function::Fn::call src/libcore/ops/function.rs:72
3 XUL std::panicking::rust_panic_with_hook src/libstd/panicking.rs:474
4 XUL rust_begin_unwind src/libstd/panicking.rs:378
5 XUL std::panicking::begin_panic_fmt src/libstd/panicking.rs:332
6 XUL webrender::renderer::Renderer::update_texture_cache gfx/wr/webrender/src/renderer.rs:3911
7 XUL webrender::renderer::Renderer::render_impl gfx/wr/webrender/src/renderer.rs:3391
8 XUL webrender::renderer::Renderer::render gfx/wr/webrender/src/renderer.rs:3183
9 XUL wr_renderer_render gfx/webrender_bindings/src/bindings.rs:606

This crash appears to be macOS-specific and started in buildid 20200708094217. Disregard crashes older than that because they appear to be unrelated problems.

The raw crash reason appears to be something like this:

Unexpected external texture X for the texture cache update of ExternalImageId(Y) 

With X and Y being different numbers in different crashes.

Severity: -- → S3
Priority: -- → P3
Crash Signature: [@ webrender::renderer::Renderer::update_texture_cache] → [@ __memmove_avx_unaligned_erms | webrender::renderer::Renderer::update_texture_cache] [@ webrender::renderer::Renderer::update_texture_cache]

Added a signature

Crash Signature: [@ __memmove_avx_unaligned_erms | webrender::renderer::Renderer::update_texture_cache] [@ webrender::renderer::Renderer::update_texture_cache] → [@ __memmove_avx_unaligned_erms | webrender::renderer::Renderer::update_texture_cache] [@ __memcpy_sse2_unaligned_erms | webrender::renderer::Renderer::update_texture_cache] [@ webrender::renderer::Renderer::update_texture_cache]

This crash was almost certainly introduced by bug 1536515, which added WebRender support for client storage backed textures.

I don't know if there are different cases mixed up here, but I certainly discovered the case, and it's related to WebGPU support. The following code path on macOS (this OS only, and with specific resolutions) made the presentation broken for WebGPU: https://searchfox.org/mozilla-central/rev/85b84f82489451362a351b144fe5232a8e46c61c/gfx/layers/composite/TextureHost.cpp#590

I'm going to adjust the keywords here accordingly. Please feel free to file another issue if the crash shows up without WebGPU support.

Assignee: nobody → dmalyshau
Blocks: webgpu-mvp
No longer blocks: wr-stability
Status: NEW → ASSIGNED
Component: Graphics: WebRender → Graphics: WebGPU
No longer regressed by: 1536515

The external texture we create in WebGPU to present the canvas was taking
a different path on macOS with specific resolutions:
https://searchfox.org/mozilla-central/rev/85b84f82489451362a351b144fe5232a8e46c61c/gfx/layers/composite/TextureHost.cpp#590

Pushed by dmalyshau@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/44c6059d3345 Disable use of external textures on macOS in WebGPU r=aosmond
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: