Closed Bug 1632696 Opened 5 years ago Closed 5 years ago

Crash in [@ IPC::EnumSerializer<T>::Write]

Categories

(Core :: Graphics: WebGPU, defect)

defect

Tracking

()

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

People

(Reporter: mccr8, Assigned: kvark)

References

(Blocks 1 open bug)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

This bug is for crash report bp-c3ac5fe3-838c-4209-832d-351f70200422.

Top 10 frames of crashing thread:

0 libxul.so IPC::EnumSerializer<mozilla::wr::ImageFormat, IPC::ContiguousEnumValidator<mozilla::wr::ImageFormat,  ipc/glue/IPCMessageUtils.h:123
1 libxul.so IPC::ParamTraits<mozilla::wr::ImageDescriptor>::Write gfx/layers/wr/WebRenderMessageUtils.h:40
2 libxul.so mozilla::ipc::IPDLParamTraits<mozilla::layers::OpUpdatePrivateExternalImage>::Write ipc/ipdl/WebRenderMessages.cpp:2254
3 libxul.so mozilla::ipc::IPDLParamTraits<mozilla::layers::OpUpdateResource>::Write ipc/ipdl/WebRenderMessages.cpp:4495
4 libxul.so mozilla::ipc::IPDLParamTraits<nsTArray<mozilla::layers::OpUpdateResource> >::WriteValues ipc/glue/IPDLParamTraits.h:214
5 libxul.so mozilla::ipc::IPDLParamTraits<mozilla::layers::RenderRootUpdates>::Write gfx/layers/wr/RenderRootTypes.cpp:89
6 libxul.so mozilla::ipc::IPDLParamTraits<nsTArray<mozilla::layers::RenderRootUpdates> >::WriteValues ipc/glue/IPDLParamTraits.h:222
7 libxul.so mozilla::layers::PWebRenderBridgeChild::SendEmptyTransaction ipc/ipdl/PWebRenderBridgeChild.cpp:281
8 libxul.so mozilla::layers::WebRenderBridgeChild::EndEmptyTransaction gfx/layers/wr/WebRenderBridgeChild.cpp:165
9 libxul.so mozilla::layers::WebRenderLayerManager::EndEmptyTransaction gfx/layers/wr/WebRenderLayerManager.cpp:274

The crash reason is MOZ_RELEASE_ASSERT(EnumValidator::IsLegalValue(aValue)).

There were various WebGPU-related crash URLs:
https://austineng.github.io/webgpu-samples/#computeBoids
https://austineng.github.io/webgpu-samples/#texturedCube
https://austineng.github.io/webgpu-samples/#fractalCube
https://wgpu.rs/examples/?example=boids
https://wgpu.rs/examples/?example=skybox
etc.
I'm not sure if this should be in Webrender or whatever component is for WebGPU.

It looks like it first showed up on Nightly in the 20200421094220 build.
These are the changesets added into that build: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=272e82616218411bfb0b89ef7c710cd65830ece1&tochange=2fd61eb5c69ce9ac806048a35c7a7a88bf4b9652

Maybe bug 1630072? That's the only obviously WebGPU related thing I see.

Flags: needinfo?(dmalyshau)
Blocks: wr-stability

I encountered this crash on Nightly while testing with dom.webgpu.enabled manually set to true, as Dzmitry suggested in his hacks post.

Steps to Repeat:

  • Enable pref
  • go to wgpu.rs
  • switch tab
  • switch tab back to wgpu.rs
  • crash

My system is Ubuntu 19.10 with an Intel Corporation UHD Graphics 620 (Whiskey Lake). I can provide more information if required, this reproduces quite cleanly on Nightly 77.0a1 (2020-04-23) (64-bit) (built from hg ff7eec7be698cd21d92755d709e08897100fa9c8)

Assignee: nobody → dmalyshau
Component: Graphics: WebRender → Graphics: WebGPU
Flags: needinfo?(dmalyshau)

I believe the image descriptor was stale, since the code that updated it
was only doing this in case of a new image key. So if there was a new scene with the same image key
but different image descriptor, we'd not be updating it properly.

Pushed by dmalyshau@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/40e06d5f23c1 Fix updating of WebGPU canvas image descriptor r=aosmond
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77

Confirmed issue with 77.0a1 (2020-04-23) on Windows 10.
Fix verified with 77.0b2 on Windows 10, macOS 10.15.3, Ubuntu 18.04.

Status: RESOLVED → VERIFIED
See Also: → 1820622
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: