Dota-2-Vulkan icon indicating copy to clipboard operation
Dota-2-Vulkan copied to clipboard

Freeze on exit (also in Dota Underlords)

Open bajidu opened this issue 2 years ago • 7 comments

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:

  1. Use the Vulkan renderer
  2. Start and try to quit dota.
  3. Window freezes on last frame and refuse to quit, even with waiting for several minutes. The process seems to sleep
  4. 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).

bajidu avatar Nov 03 '21 12:11 bajidu

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.

bergmannf avatar Nov 04 '21 12:11 bergmannf

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

mfed3 avatar Jan 07 '22 15:01 mfed3

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

mfed3 avatar Feb 01 '22 22:02 mfed3

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.

bajidu avatar Feb 02 '22 13:02 bajidu

@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).

isrvoid avatar Feb 05 '22 11:02 isrvoid

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.

mfed3 avatar Feb 05 '22 16:02 mfed3

I retested it with shader pre-caching enabled and also can't reproduce it.

isrvoid avatar Feb 05 '22 17:02 isrvoid