what happens if you use a custom cache path that is not default (i.e. not right next to game .exe)? Is there any idea of where the crash is happening with e.g. PROTON_LOG?
Here is an example dump txt file. No errors showed in the proton_log.
2022-07-18 22.40.44 Crash - 1964.txt
Setting the VKD3D_SHADER_CACHE_PATH to /home/jhu/Games gave the following crash file:
2022-07-18 22.45.59 Crash - 1476.txt
Again, no errors in the logs.
Finally set VKD3D_SHADER_CACHE_PATH back to 0 and no error files.
The memory could not be "executed".
<ErrorDescription> The instruction at "0x000000035e526a36" referenced memory at "0x000000035e526a36".
The memory could not be "executed".
<:Exception.DebugModules>
Unloaded Module: 000000035e4e0000 002A6000 "d3d12.dll"
Unloaded Module: 0000000359050000 00306000 "d3d11.dll"
Unloaded Module: 00000002de970000 00032000 "rsaenh.dll"
Unloaded Module: 00000002de970000 00032000 "rsaenh.dll"
Unloaded Module: 00000002f2930000 0000C000 "avrt.dll"
Unloaded Module: 00007f718d6a0000 00037000 "winealsa.drv"
Unloaded Module: 00000002de970000 00032000 "rsaenh.dll"
Unloaded Module: 000000025d740000 0000E000 "dwmapi.dll"
Unloaded Module: 0000000180000000 001DE000 "d3d12.dll"
Unloaded Module: 000000024f470000 0001F000 "mpr.dll"
<HookModuleFound> No
This looks very suspicious. It's plausible that the game yoinked d3d12.dll out of existence before destroying the d3d12 device fully, meaning the disk cache thread is still running and will then fault on accessing d3d12.dll code.
LOL - With Blizzard would not surprise me. No performance loss and the work around (no cache) does not generate the error so maybe a note is all that is needed for anyone else who might observe this behaviour in the future (doubt Blizzard would fix it with a new release in testing right now)?
Work around if anyone needs it as Blizzard unlikely to fix the underlying issue...
ge-proton7-20x1 2022-07ge-proton7-24x1 2022-07VKD3D_SHADER_CACHE_PATHx2 2022-07PROTON_LOGx1 2022-07avrt.dllx1 2022-07d3d11.dllx1 2022-07d3d12.dllx1 2022-07dwmapi.dllx1 2022-07mpr.dllx1 2022-07rsaenh.dllx1 2022-07
I have tested this with a 6700xt on kernel 5.18.12 with Linux Mint 20.3, 21 beta and Nobara (Fedora 36) using latest oibaf Mesa releases and vkd3d-proton release 2.6 and Git.
In preparing for the upgrade to Mint 21, I installed it on a fresh drive with latest kernel, Mesa and Lutris. Fresh install of Battle.net and fresh install of WoW. Initially I left all settings default, just changed the runner to Wine-GE-Proton7-20. Reviewing the logs and directories for errors, I stumbled across an errors folder in retail folder of the WoW installation which contained a dump record timestamped to when I quit out of the game. The dump record mentioned a memory access error. Checking the same folder on both my Fedora 36 and Mint 20.3 WoW installs, I found many dump files. What is funny is I do occasionally get an error when leaving the game which started to happen around the time a patch to Shadow Lands was released. My errors folder showed records back to March 2022 and searching in my back ups, I found the same type of error message back to April 2021, but nothing prior.
I checked on my Windows installation and no errors. Performed extensive memory tests with the GPU at max load to rule out physical memory instability.
Finally after a lot of trying various fixes and troubleshooting, I set the VKD3D_SHADER_CACHE_PATH option to 0 to disable shader caching. Running WoW through Lutris or through Steam (my original WoW installation copied to both Fedora and Mint 20/21) with GE-Proton7-24 (older vkd3d), the dump files are no longer created when exiting the game (not the battle.net launcher). I did not notice a reduction in performance, WoW has its own cache files. When I did receive notification of the error, it was always when I exited the game, not during actual game play.