On Tue Oct 18 21:43:53 2022 +0000, Rémi Bernon wrote:
Yes, I'm investigating. I can reproduce the failures locally, and they look indeed related.
The cause of the failure was that we're using incorrect mutex names in some places for the `display_device_init` mutex. In some unlikely event, which becomes apparently more likely with the changes here, `D3DKMTOpenAdapterFromGdiDisplayName` was able to enter the mutex CS at the same time as the devices are refreshed, and fails to find the video device in `HKLM\HARDWARE\DEVICEMAP\VIDEO`, returning an error which ultimately triggers an allocation failure.
This should never happens as the device refresh should also be done while holding the same mutex, but because the names were wrong it was two different mutexes. I've opened https://gitlab.winehq.org/wine/wine/-/merge_requests/1099 to fix this.
This is for the `d3drm` tests failure at least, I didn't look at the ddraw ones, hopefully it's the same problem.