Closed Bug 1422288 Opened 7 years ago Closed 7 years ago

Crash in core::option::expect_failed | webrender::renderer::Renderer::submit_batch

Categories

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

Unspecified
Windows 10
defect

Tracking

()

VERIFIED FIXED
mozilla60
Tracking Status
firefox-esr52 --- unaffected
firefox57 --- unaffected
firefox58 --- unaffected
firefox59 --- disabled
firefox60 --- verified

People

(Reporter: marcia, Assigned: sotaro)

References

(Blocks 1 open bug)

Details

(Keywords: crash, Whiteboard: [wr-reserve])

Crash Data

Attachments

(3 files)

This bug was filed from the Socorro interface and is report bp-ea507452-47b8-482a-9c76-8d96c0171130. ============================================================= Seen while looking at nightly crashes: http://bit.ly/2jAXLmM Top 10 frames of crashing thread: 0 xul.dll std::panicking::rust_panic_with_hook src/libstd/panicking.rs:583 1 xul.dll std::panicking::begin_panic<alloc::string::String> src/libstd/panicking.rs:538 2 xul.dll std::panicking::begin_panic_fmt src/libstd/panicking.rs:522 3 xul.dll core::panicking::panic_fmt src/libcore/panicking.rs:70 4 xul.dll core::option::expect_failed src/libcore/option.rs:839 5 xul.dll webrender::renderer::Renderer::submit_batch gfx/webrender/src/renderer.rs:2738 6 xul.dll webrender::renderer::Renderer::draw_color_target gfx/webrender/src/renderer.rs:3284 7 xul.dll webrender::renderer::{{impl}}::render::{{closure}} gfx/webrender/src/renderer.rs:2422 8 xul.dll webrender_bindings::bindings::wr_renderer_render gfx/webrender_bindings/src/bindings.rs:505 9 xul.dll mozilla::wr::RendererOGL::Render gfx/webrender_bindings/RendererOGL.cpp:149 =============================================================
Whiteboard: [wr-mvp] [triage]
Starting with build 20171129111030. A Regression?
Whiteboard: [wr-mvp] [triage] → [wr-reserve]
Attached image bug.png
Nightly 59 x64 20171207100053 de_DE @ Windows 10 (Radeon RX480) main profile: webrender + blob-images + image.mem.shared gfx.webrender.force-angle;false Had a YouTube livestream (vp9/mp4a) in fullscreen, made a right click and wanted to show Statistics. Audio was still playing, but the screen freezed to what you can see on the screenshot. > Unsupported image shader kind bp-6ecdf120-d1ce-49f8-aaf1-9a6920171207 07.12.2017 22:37 bp-f7b32d2f-fe7e-43fe-9ffb-3ff7d0171207 07.12.2017 22:37 bp-86bc5d62-7a38-41c4-8928-bd24f0171207 07.12.2017 22:37 bp-741f0cec-b956-42c5-b9df-e536b0171207 07.12.2017 22:37 ----- Reproducible with a fresh profile: change prefs, restart Nightly, open https://www.youtube.com/watch?v=9V0_ok938R4 > fullscreen > right click > Statistics 1. gfx.webrender.enabled + gfx.webrender.blob-images + image.mem.shared => video control buttons are flickering red 2. gfx.webrender.force-angle;false => it's broken like on the screenshot and there are crash reports. 3. gfx.canvas.azure.backends;skia,cairo (remove direct2d1.1) => fine 4. reset gfx.canvas.azure.backends => crashes 5. gfx.canvas.azure.backends;skia,cairo (remove direct2d1.1) => fine
Removing direct2d1.1 from gfx.canvas.azure.backends makes this bug/crash go away. I think bug 1421818 might be about this?
Has STR: --- → yes
See Also: → 1421818
https://realcctv.blogspot.kr/p/html5-sparkle.html causes this kind of crash too, and if I change gfx.webredner.force-angel to true, it causes massive vram leakage.(but no crash)
"'Unsupported image shader kind" is the key here, coming from https://dxr.mozilla.org/mozilla-central/source/gfx/webrender/src/renderer.rs#3185 :kvark, is this related to what you recently fixed? There is a crash from a recent build (https://crash-stats.mozilla.com/report/index/5033adbc-9383-401a-bc29-fd6c40180121), but I'm not sure if that contained your fix.
Assignee: nobody → kvark
Flags: needinfo?(kvark)
Priority: P3 → P1
Punchline from comment 2: > gfx.webrender.force-angle;false So mixed OpenGL/DirectX or how it was called. I think I should switch back to Windows to check its status. :(
Apparently, Gecko submits a display list with `ImageBufferKind::TextureExternal` (the only kind not supported on GL). It is not related to my recent fixes.
Flags: needinfo?(kvark)
Milan, would there be someone more appropriate to revert/re-implement https://hg.mozilla.org/mozilla-central/rev/ac50a38689a0 ? This is a problem on Gecko side: "egl stream" (quoted from the commit message) is only available on EGL/Angle. The crash is happening on pure GL windows runs, so not too critical.
Flags: needinfo?(milan)
It seems that gecko does not handle well of non ANGLE use case on Windows.
When ANGLE is disabled on windows, d3d texture usage is disabled for content rendering by gfxWindowsPlatform::GetContentBackendFor() https://dxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxWindowsPlatform.cpp#477 But it is not disabled for canvas rendering. It caused the problem. And d3d texture host side needs protection not to add ExternalImage.
It mimics gfxWindowsPlatform::GetContentBackendFor().
Attachment #8944660 - Flags: review?(nical.bugzilla)
Attachment #8944661 - Flags: review?(nical.bugzilla)
Attachment #8944660 - Flags: review?(nical.bugzilla) → review+
Attachment #8944661 - Flags: review?(nical.bugzilla) → review+
Assignee: kvark → sotaro.ikeda.g
Flags: needinfo?(milan)
Priority: P1 → P2
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
No more crashes since the patch landed.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: