Dota-2-Vulkan
Dota-2-Vulkan copied to clipboard
Freeze on exit (also in Dota Underlords)
Your system information
System: Archlinux-64bit, 5.14.15/ 5.14.15-zen GPU: Nvidia GTX 1060 6GB, driver 495.44
- Have you checked for system updates?: Yes
- Are you using the latest stable video driver available for your system? Yes, nvidia 495.44
- Have you verified the game files?: Yes
Please describe your issue in as much detail as possible:
Dota freezes on Exit
Steps for reproducing this issue:
- Use the Vulkan renderer
- Start and try to quit dota.
- Window freezes on last frame and refuse to quit, even with waiting for several minutes. The process seems to sleep
- dota has to be killed via console or via the "Stop" in the Steam interface
Expected: Close dota properly.
Issue is reproducible in Dota Underlords but not in Artifact. Trying the steam beta version, activating the preshader-caching or cleaning shader caches doesn't fix the problem. The Problem does not arise with OpenGL. Issue persists regardless of -novid.
ps aux before closing:
user 25180 0.0 0.0 30164 6280 ? S 00:00 0:00 /home/user/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=570 -- /home/dave/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
user 25184 0.0 0.1 36788 26528 ? S 00:00 0:00 /bin/bash /home/user/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
user 25187 75.7 21.2 6670788 3460940 ? Sl 00:00 0:44 /home/user/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2 +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
ps aux after closing:
user 25180 0.0 0.0 30164 5160 ? S 00:00 0:00 /home/user/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=570 -- /home/dave/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
user 25184 0.0 0.1 36788 26528 ? S 00:00 0:00 /bin/bash /home/user/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
user 25187 47.6 20.3 5785840 3312956 ? Rl 00:00 1:12 /home/user/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2 +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -novid
Update
The issue seems to be caused by an interaction between the newest nvidia driver 495.44 and dota (underlords, too). Mitigating the issue by downgrading to an old nvidia driver version: I downgraded the following packages (your package names may differ, just for arch64):
lib32-nvidia-utils, opencl-nvidia, libxnvctrl, nvidia-settings, nvidia (for main kernel), nvidia-dkms (for custom kernels), nvidia-utils. Important seem only nvidia(-dkms) and lib32-nvidia.
Downgrading fixes the issue...sort of. It still takes Dota 30 secs to shut down (Underlords is quicker). The second issue is steams shader-precaching. It precached 5GB (for my whole system (which seems...excessive)), so my guess is it tries to clear the cache, that might be what is taking so long.
Long story short: downgrade nvidia AND disable shader-precaching. This issue might only be a problem for dota because of the amount of shaders, but every vulkan game might have issues.
So long, might be closed and forwarded as a steam client issue (and nvidia).
A little additonal information - attaching strace
when trying to close dota
yields the following results:
strace: Process 8652 attached with 16 threads
[pid 10330] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8770] futex(0x5652a88f6210, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8765] ppoll([{fd=141, events=POLLIN}, {fd=144, events=POLLIN}], 2, NULL, NULL, 8 <unfinished ...>
[pid 8756] futex(0x5652305f7054, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8744] futex(0x56522e9ab734, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8743] futex(0x7fce390642e0, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 8742] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8741] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8738] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8735] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8732] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8731] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8688] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8687] futex(0x7fce35622828, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8674] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 8652] futex(0x7fce2b0d1910, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 8743, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8688] <... restart_syscall resumed>) = -1 ETIMEDOUT (Connection timed out)
[pid 8688] futex(0x56522c09b9f0, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 8688] futex(0x56522e2eb6b8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1636027141, tv_nsec=220566000}, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8674] <... restart_syscall resumed>) = -1 ETIMEDOUT (Connection timed out)
[pid 8674] futex(0x56522c279b70, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 8674] futex(0x56522c2992c8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1636027141, tv_nsec=231420000}, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8731] <... restart_syscall resumed>) = 0
[pid 8731] readv(68, [{iov_base=0x7fce2b636db0, iov_len=32768}], 1) = -1 EAGAIN (Resource temporarily unavailable)
[pid 8731] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, <unfinished ...>
[pid 10330] <... restart_syscall resumed>) = -1 ETIMEDOUT (Connection timed out)
[pid 10330] futex(0x56522c0dfa50, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 10330] futex(0x56525bfd86ec, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1636027141, tv_nsec=300443000}, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8688] <... futex resumed>) = -1 ETIMEDOUT (Connection timed out)
[pid 8688] futex(0x56522c09b9f0, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 8688] futex(0x56522e2eb6b8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1636027141, tv_nsec=321094000}, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8674] <... futex resumed>) = -1 ETIMEDOUT (Connection timed out)
[pid 8674] futex(0x56522c279b70, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 8674] futex(0x56522c2992c8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1636027141, tv_nsec=331583000}, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 8731] <... clock_nanosleep resumed>0x7fce2b636970) = 0
[pid 8731] readv(68, [{iov_base=0x7fce2b636db0, iov_len=32768}], 1) = -1 EAGAIN (Resource temporarily unavailable)
[pid 8731] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=100000000}, <unfinished ...>
[pid 8742] <... restart_syscall resumed>) = -1 ETIMEDOUT (Connection timed out)
[pid 8742] futex(0x56522c0de1b0, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 8742] openat(AT_FDCWD, "/proc/stat", O_RDONLY) = 95
[pid 8742] readv(95, [{iov_base="cpu 36454 2288 9340 3061002 615"..., iov_len=299}], 1) = 299
[pid 8742] close(95) = 0
[pid 8742] futex(0x56522f6ed05c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1636027141, tv_nsec=466388000}, FUTEX_BITSET_MATCH_ANY <unfinished ...>
[pid 10330] <... futex resumed>) = -1 ETIMEDOUT (Connection timed out)
This then pretty much repeats ad infinitum.
On Fedora 35 I can also confirm that installing the 470 driver instead of the 495 driver fixes the issue.
I have the same problem. Reproducible crash every time when quitting. Alt tab to Steam to force close has to be done to kill the process.
Operating System: Arch Linux KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.89.0 Qt Version: 5.15.2 Kernel Version: 5.15.13-arch1-1 (64-bit) Graphics Platform: X11 Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor Memory: 62.8 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Package: 495.46-7
Why was this closed? I just updated and tested this issue and it is still reproducible 100% of the time.
Operating System: Arch Linux KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 Kernel Version: 5.16.4-arch1-1 (64-bit) Graphics Platform: X11 Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor Memory: 62.8 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Package: 510.47.03-1
It was fixed for me with the latest nvidia-update (5.16 with 510.47 nvidia). This issue seemed to be a duplicate (because many people reported the bug). And the issue is 3 months old so I don't expect any fixes should it persist. But re-opened if it isn't fixed for you.
@mfed3 The issue was fixed for me as @bajidu described with shader precaching disabled in Steam settings. It still freezes with shader precaching enabled (similar system: Arch Linux, Nvidia GTX).
Just retested and it is fixed with the following: Operating System: Arch Linux KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 Kernel Version: 5.16.5-arch1-1 (64-bit) Graphics Platform: X11 Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor Memory: 62.8 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 1070/PCIe/SSE2 nvidia: 510.47.03-2
Recommend to close.
I retested it with shader pre-caching enabled and also can't reproduce it.