Replies: 1 comment
-
|
This definitely belongs in an issue rather than a discussion. But I'd have to think further about if it makes sense. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
This is technically a bug in NVIDIA driver but posting here for info.
Bug
wgpu::Instance::default()creates Vulkan + GL/EGL backends.The NVIDIA implementation of two backends share multiple mutex locks, and concurrent teardown of two backends have a deadlock cycle.
A simple fix is to manually specifying only one backend.
Even with one backend, I guess Thread1 and Thread2 using different backends can cause deadlock.
Explanation
Vulkan backend and EGL backend acquire multiple internal mutexes.
I attached GDB to hung threads and the AI-assisted stacktrace is like the below:
If wgpu has a control, wgpu can add a global lock to serialize the backend teardowns within a process.
Platform
Linux 6.12.69 + NVIDIA open driver 580.119.02 + wgpu 27.0.1 with features = ["webgl"]
Beta Was this translation helpful? Give feedback.
All reactions