Closed Bug 1634239 Opened 4 years ago Closed 4 years ago

Crash in [@ core::option::expect_failed | <wgpu_core::hub::Storage<T, I> as core::ops::index::Index<I>>::index]

Categories

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

defect

Tracking

()

VERIFIED FIXED
mozilla77
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- unaffected
firefox76 --- unaffected
firefox77 --- verified

People

(Reporter: kvark, Assigned: kvark)

References

Details

(Keywords: crash)

Crash Data

Attachments

(2 files)

This bug is for crash report bp-5d4b8f1a-cdde-4876-88a7-978f90200429.

Top 10 frames of crashing thread:

0 libxul.so RustMozCrash mozglue/static/rust/wrappers.cpp:17
1 libxul.so mozglue_static::panic_hook mozglue/static/rust/lib.rs:89
2 libxul.so core::ops::function::Fn::call src/libcore/ops/function.rs:72
3 libxul.so std::panicking::rust_panic_with_hook src/libstd/panicking.rs:475
4 libxul.so rust_begin_unwind src/libstd/panicking.rs:375
5 libxul.so core::panicking::panic_fmt src/libcore/panicking.rs:84
6 libxul.so core::option::expect_failed src/libcore/option.rs:1188
7 libxul.so <wgpu_core::hub::Storage<T, I> as core::ops::index::Index<I>>::index gfx/wgpu/wgpu-core/src/hub.rs:83
8 libxul.so wgpu_core::command::render::<impl wgpu_core::hub::Global<G>>::command_encoder_run_render_pass gfx/wgpu/wgpu-core/src/command/render.rs:365
9 libxul.so mozilla::webgpu::WebGPUParent::RecvCommandEncoderRunRenderPass dom/webgpu/ipc/WebGPUParent.cpp:345

Happening on https://expenses.github.io/hectic-rs-wasm/ after playing for a few seconds.

Had a first look at this. The adapter was dropped, and we are trying to access it as a dependency of the device. We need to keep it alive in the same way we are keeping pipeline layouts alive.

The internal logic accesses adapters during command recording.
This PR makes up to keep that reference for while the device lives.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77

Hi Dzmitry, is there something that QA can help with here? And if so, are there any STR for this? Thanks!

Flags: needinfo?(dmalyshau)

Catalin, the repro steps here are pretty simple:

  • enable "dom.webgpu.enabled" and "gfx.webrender.all", then restart
  • open "https://expenses.github.io/hectic-rs-wasm/"
  • play for about 1-5 minutes. It was reported to crash at ~15 seconds mark, depends on the JS garbage collector
Flags: needinfo?(dmalyshau)
Flags: qe-verify+
Attached file adsd.txt

Crash encountered with 77.0a1(2020-04-29-21-55-39).
Verified with 77.0a1(20200503093615).

However, before updating the status.
We've encountered some difficulties in our attempts to confirm the fix, that might also still be indicators of some potential issues lingering.

In short, the game did not load at all. Managed to copy some of the errors thrown in the console - Win10 but the issue was the same for macOS(10.15.3).
For macOS, after a couple of attempts the game loaded, for Win10 could not load the game on 3 different PCs.

Is that an issue that is known or should we open up a followup bug for it?

Flags: needinfo?(dmalyshau)

Cristian, apparently that game is being actively worked on, and it looks slightly different now from what I saw last time. Just tried it on the latest Nightly without issues. In the menu before the game, you need to make a selection by using cursor keys and "z" for confirmation. After 2 menu screens the game starts.

I just tested it on both Linux and macOS 10.15, and it appears to be working fine. Could you please make sure that you have WebRender enabled as well as WebGPU?

If you that's still a problem, please file the issue. That would be helpful!

Flags: needinfo?(dmalyshau)
See Also: → 1636034
Status: RESOLVED → VERIFIED
Flags: qe-verify+

Thanks, updated this bug and filled 1636034 as followup for the remaining issue.

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

Attachment

General

Created:
Updated:
Size: