WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 291775
323544
[WebGPU] GPUDevice.onuncapturederror event handler attribute is not implemented
https://bugs.webkit.org/show_bug.cgi?id=323544
Summary
[WebGPU] GPUDevice.onuncapturederror event handler attribute is not implemented
sohamzemse143
Reported
2026-09-06 02:13:10 PDT
The WebGPU specification defines `attribute EventHandler onuncapturederror` on GPUDevice. Safari 26.6 does not implement it. `addEventListener('uncapturederror', ..)` works, so the event itself is dispatched; only the event-handler IDL attribute is missing. STEPS TO REPRODUCE const device = await (await navigator.gpu.requestAdapter()).requestDevice(); console.log('onuncapturederror' in device); // false console.log(typeof device.onuncapturederror); // undefined device.onuncapturederror = () => console.log('setter fired'); device.addEventListener('uncapturederror', () => console.log('listener fired')); // now trigger any device error, for example an invalid createComputePipeline EXPECTED Both fire. Chrome 152 reports `'onuncapturederror' in device === true` and calls both. ACTUAL Only the addEventListener callback fires. Assigning to device.onuncapturederror creates an ordinary expando property that nothing ever calls, so it fails silently: the page has no indication that its error handler is not installed. WHY IT MATTERS MORE THAN IT LOOKS wgpu, the Rust WebGPU implementation used by most Rust code targeting the web, installs its uncaptured-error handler by assigning to this attribute (wgpu-30.0.1/src/backend/webgpu.rs:2641, `set_onuncapturederror`). On Safari that means `Device::on_uncaptured_error` is dead code for every error, so no Rust WebGPU application sees any uncaptured device error at all unless it also pushes explicit error scopes. I hit this alongside
bug 323543
, a WGSL to MSL translation bug, where a shader failed to compile, every pipeline was invalid, every submit was a no-op, and the application read back unwritten buffers and produced a wrong answer with no error raised anywhere. The translation bug is the defect; this one is why it took a day to find. ENVIRONMENT Safari 26.6 (WebKit 605.1.15), macOS on Apple M2 Max. Control: Chrome 152.0.7977.66, same machine, both handlers fire.
Attachments
Add attachment
proposed patch, testcase, etc.
sohamzemse143
Comment 1
2026-09-06 02:14:57 PDT
Filed against wgpu as
https://github.com/gfx-rs/wgpu/issues/10269
, since it registers through this attribute and is therefore blind to every device error on Safari.
Radar WebKit Bug Importer
Comment 2
2026-09-06 12:44:34 PDT
<
rdar://problem/186803582
>
Mike Wyrzykowski
Comment 3
2026-09-06 13:02:22 PDT
*** This bug has been marked as a duplicate of
bug 291775
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug