ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.16k stars 173 forks source link

The app does not respond to the close command #8468

Closed guglovich closed 2 years ago

guglovich commented 2 years ago

Your system information

Please describe your issue in as much detail as possible:

Снимок экрана_2022-03-10_15-45-08 When you click to close Steam, the standard Steam close window pops up, but the client does not close. The Task Manager also does not show any processes or attempts to close. The closure can only be enforced. The problem also appears in the stable version of the client. Every time the client is killed and started, a new process descendant appears, which is the very 1st one in the screenshot above, and they pile up and pile up. Снимок экрана_2022-03-10_16-05-05

Second problem: After forcibly killing the main Steam processes, many child processes are left.

Steps for reproducing this issue:

Just try to close the client.

kisak-valve commented 2 years ago

Hello @guglovich, this reads like a similar issue to #6811 and #8113. Can you clarify exactly what sh is trying to run there? Your screenshot shows part of what was called with it being truncated in environment variables before the actual command.

guglovich commented 2 years ago

@kisak-valve I haven't figured out how to copy this from the task manager yet. This process, by the way, is not the only one that is duplicated, they also accumulate:

Снимок экрана_2022-03-10_17-44-34

Снимок экрана_2022-03-10_17-44-59

Снимок экрана_2022-03-10_17-44-46

A little log from the terminal.

assert_20220310172353_38.dmp[29594]: Uploading dump (out-of-process)
/tmp/dumps/assert_20220310172353_38.dmp
src/clientdll/steamclient.cpp (854) : bufRet.TellPut() == sizeof(uint8)
src/clientdll/steamclient.cpp (854) : bufRet.TellPut() == sizeof(uint8)
assert_20220310172353_38.dmp[29594]: Finished uploading minidump (out-of-process): success = yes
assert_20220310172353_38.dmp[29594]: response: CrashID=bp-c3ee7cf3-053d-4df2-85d3-6244d2220310
assert_20220310172353_38.dmp[29594]: file ''/tmp/dumps/assert_20220310172353_38.dmp'', upload yes: ''CrashID=bp-c3ee7cf3-053d-4df2-85d3-6244d2220310''
Thread "CJobMgr::m_WorkThreadPool:2" (ID 29152) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:2" (ID 29152) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:2" (ID 29152) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:2" (ID 29152) failed to shut down
[2022-03-10 17:24:35] Background update loop checking for update. . .
[2022-03-10 17:24:35] Проверка на наличие обновлений...
[2022-03-10 17:24:35] Downloading manifest: https://cdn.akamai.steamstatic.com/client/steam_client_ubuntu12
Thread "CJobMgr::m_WorkThreadPool:2" (ID 29152) failed to shut down
kisak-valve commented 2 years ago

[...]/usr/share/steam/compatibilitytools.d/proton-ge-custom/[...] is probably the key detail here. d3ddriverquery64.exe is used by Steam's shader pre-caching subcomponent to help figure out which shaders are relevant for games that use various versions of Proton and should complete its task very quickly. Since this isn't happening, then the issue is with that particular version of Proton.

Please reconfigure any games using that third party version of Proton to use a mainline Proton release, remove proton-ge-custom from the system, and test how Steam behaves without it.

If that helps, then this quirk is something that needs to be investigated in the third party compatibility tool.

guglovich commented 2 years ago

Thank you. That really turned out to be the reason.

kisak-valve commented 2 years ago

Thanks for testing. Closing as not a Steam client issue.

guglovich commented 2 years ago

I've found what the problem is. The changes in Proton-GE are taken from Proton Experimental. And this problem repeated itself when specifying Proton Experimental for the same game. Exactly the same processes start piling up and Steam won't close.

kisak-valve commented 2 years ago

https://github.com/ValveSoftware/Proton/issues/5680 is tracking the Proton Experimental variant of this issue.

guglovich commented 2 years ago

@kisak-valve I installed a git version of xfce4-taskmanager to copy the full paths of those processes. I installed a git version of xfce4-taskmanager to copy the full paths of those processes. However, chunks in the middle are still cut out.

c:\windows\system32\steam.exe /home/perfectionist/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe /Games/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/pv-bwrap --args 26 /usr/lib/pressure-vessel/from-host/bin/pressure-vessel-adverb --generate-locales --fd 19 --regenerate-ld.so-cache /run/pressure-vessel/ldso --add-ld.so-path /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu --add-ld.so-path /usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu --set-ld-library-path /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/aliases:/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/aliases --exit-with-parent --subreaper --shell=none --terminal=none -- /Media/Games/SteamLibrary/steamapps/common/Proton 7.0/proton run /home/perfectionist/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe

python3 /Media/Games/SteamLibrary/steamapps/common/Proton 7.0/proton run /home/perfectionist/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe

sh -c LD_LIBRARY_PATH="$SYSTEM_LD_LIBRARY_PATH" PATH="$SYSTEM_PATH" STEAM_COMPAT_APP_ID='1887720' STEAM_COMPAT_TOOL_PATHS='' STEAM_COMPAT_LIBRARY_PATHS='' STEAM_COMPAT_SHADER_PATH='/Media/Games/SteamLibrary/steamapps/shadercache/1887720' STEAM_COMPAT_INSTALL_PATH='/Media/Games/SteamLibrary/steamapps/common/Proton 7.0' STEAM_COMPAT_MOUNTS='' PRESSURE_VESSEL_SOCKET_DIR='/tmp/SteamPVSockets.2NMjPZ' STEAM_COMPAT_DATA_PATH='/Media/Games/SteamLibrary/steamapps/compatdata/1887720' STEAM_COMPAT_CLIENT_INSTALL_PATH='/home/perfectionist/.local/share/Steam' PROTON_CRASH_REPORT_DIR='/tmp/proton_crashreports' STEAM_FOSSILIZE_DUMP_PATH='/home/perfectionist/.local/share/Steam/shader_cache_temp_dir_d3d11_64/fozpipelinesv6/steamapprun_pipeline_cache' STEAM_FOSSILIZE_DUMP_PATH_READ_ONLY='$bucketdir/steam_pipeline_cache.foz;$bucketdir/steamapp_pipeline_cache.foz' FOSSILIZE_APPLICATION_INFO_FILTER_PATH='/home/perfectionist/.local/share/Steam/fossilize_engine_filters.json' ENABLE_VK_LAYER_VALVE_steam_fossilize_1='1' FONTCONFIG_

guglovich commented 2 years ago

@kisak-valve I have fixed the problem. I don't know if this will work for others in the future but ask to do it just in case. In my case, removing mangohud completely helped. Installing mangohud even without running it immediately breaks wine and steam. Then after looking at AUR repositories I saw mangohud-nonvidia, installed it and no problems. Apparently there is a conflict between vanilla version and AMD hardware.