ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

Steam Won't Exit Properly After Latest Steam Beta Update #8113

Open gardotd426 opened 3 years ago

gardotd426 commented 3 years ago

Your system information

Please describe your issue in as much detail as possible:

After today's Steam Client Beta update, Steam crashes when attempting to exit the application. I click "exit," the tray icon stays (and steam is still running, only the window has closed), and it takes about 2-3 minutes before it finally exits.

Running Steam from the terminal so I can see the logs indicates there's some sort of crash that happens when I try to exit. Here is the output to the terminal after I click "Exit":

src/common/pipes.cpp (885) : stalled cross-thread pipe.
src/common/pipes.cpp (885) : stalled cross-thread pipe.
Installing breakpad exception handler for appid(steam)/version(1632875646)
DBG DBG ffffffff DUMP_REQUESTED Assert( stalled cross-thread pipe. ):/data/src/common/pipes.cpp:885

assert_20210929212546_30.dmp[9790]: Uploading dump (out-of-process)
/tmp/dumps/assert_20210929212546_30.dmp
src/clientdll/steamclient.cpp (854) : bufRet.TellPut() == sizeof(uint8)
src/clientdll/steamclient.cpp (854) : bufRet.TellPut() == sizeof(uint8)
assert_20210929212546_30.dmp[9790]: Finished uploading minidump (out-of-process): success = yes
assert_20210929212546_30.dmp[9790]: response: CrashID=bp-d15bff2a-f4e2-4411-8159-4eccd2210929
assert_20210929212546_30.dmp[9790]: file ''/tmp/dumps/assert_20210929212546_30.dmp'', upload yes: ''CrashID=bp-d15bff2a-f4e2-4411-8159-4eccd2210929''
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Thread "CJobMgr::m_WorkThreadPool:1" (ID 9460) failed to shut down
Exiting workitem thread

(steam:9350): GLib-GObject-CRITICAL **: 21:27:27.979: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(steam:9350): GLib-GObject-WARNING **: 21:27:27.980: invalid (NULL) pointer instance

(steam:9350): GLib-GObject-CRITICAL **: 21:27:27.980: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(steam:9350): GLib-GObject-CRITICAL **: 21:27:27.980: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
[2021-09-29 21:27:28] Shutdown

Thread "CJobMgr::m_WorkThreadPool:2" (ID 6548) failed to shut down just repeats every few seconds until I either kill the process manually, or it finally shuts down after a few minutes of waiting.

When I re-launch Steam after it finally shuts down, I see a bunch of this in the terminal:

DBG DBG ffffffff DUMP_REQUESTED Assert( GetCompatibilityToolCommandLineInternal on dependent tool failed ):/data/src/clientdll/compatmanager.cpp:906

assert_20210929212939_22.dmp[10710]: Uploading dump (out-of-process)
/tmp/dumps/assert_20210929212939_22.dmp
Opted-in Controller Mask for AppId 0: b
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed
src/clientdll/compatmanager.cpp (906) : GetCompatibilityToolCommandLineInternal on dependent tool failed

And then the process repeats. All games and whatnot are working as always.

Steps for reproducing this issue:

  1. Update to the latest Steam Client Beta update
  2. Open Steam
  3. Click Steam->Exit
  4. Wait. Will take an inordinate amount of time to close, and there will be crash dumps left over.
kisak-valve commented 3 years ago

Hello @gardotd426, this is similar to some of the feedback on #6811, where one of Steam's worker tasks can outlive the main window. Instead of Fossilize replaying shaders like that issue report, in this case it's the worker task that is finding appropriate shader pre-cache datasets for your system. The same subcomponent mentioned in #8114.

gardotd426 commented 3 years ago

@kisak-valve ah, that might explain why I've been seeing issues related to #8114 as well. Namely that I'm constantly getting a wineprefix update window for ~/.steam/root/steamapps/compatdata/0/pfx whenever Steam is open. After I launch any Proton game I get several wineprefix update windows for the 0 appid prefix, lasting several minutes. It just took 6 or 7 minutes for the last round to finish.

Zorgodon commented 7 months ago

Still not fixed! Need to run pkill -9 -f steam to get it to close after enabling proton for all titles and 'restarting'.

pfirsich commented 3 months ago

Not sure if that is the same issue, but for me the process keeping steam from exiting is explorer.exe (C:\windows\system32\explorer.exe /desktop). For me this process is using 100% CPU while steam is running (which makes Steam not very usable for me at the moment) and when I try to close it, steam does not disappear from the tray until I kill that process.

kisak-valve commented 3 months ago

Hello @pfirsich, that reads like a misbehaving compatibility tool. Can you tell which tool is the parent of that process? I'd use htop in tree view to find that information.

pfirsich commented 3 months ago
@kisak-valve Just in case I attached the whole process tree. I hope that's fine and still useful: ``` $ pstree -a -p (pidof steam) steam,1514833 -srt-logger-opened ├─sh,1515210 -c... │ └─srt-bwrap,1515211 --args 34 /usr/lib/pressure-vessel/from-host/bin/pressure-vessel-adverb --generate-locales --fd 21 --regenerate-ld.so-cache/var │ └─pressure-vessel,1515326 --generate-locales --fd 21 --regenerate-ld.so-cache /var/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/o │ ├─explorer.exe,1515489 /desktop │ │ ├─{explorer.exe},1515495 │ │ └─{explorer.exe},1515497 │ ├─plugplay.exe,1515472 │ │ ├─{plugplay.exe},1515477 │ │ ├─{plugplay.exe},1515478 │ │ └─{plugplay.exe},1515479 │ ├─python3,1515370 /home/joel/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton run /home/joel/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe │ │ └─steam.exe,1515385 /home/joel/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe │ ├─rpcss.exe,1515500 │ │ ├─{rpcss.exe},1515506 │ │ ├─{rpcss.exe},1515507 │ │ ├─{rpcss.exe},1515508 │ │ ├─{rpcss.exe},1515509 │ │ └─{rpcss.exe},1515510 │ ├─services.exe,1515405 │ │ ├─{services.exe},1515415 │ │ ├─{services.exe},1515425 │ │ ├─{services.exe},1515429 │ │ ├─{services.exe},1515435 │ │ ├─{services.exe},1515438 │ │ ├─{services.exe},1515476 │ │ ├─{services.exe},1515482 │ │ ├─{services.exe},1515487 │ │ └─{services.exe},1515504 │ ├─svchost.exe,1515481 -k LocalServiceNetworkRestricted │ │ ├─{svchost.exe},1515483 │ │ └─{svchost.exe},1515484 │ ├─tabtip.exe,1515513 │ │ └─{tabtip.exe},1515517 │ ├─winedevice.exe,1515422 │ │ ├─{winedevice.exe},1515427 │ │ ├─{winedevice.exe},1515428 │ │ ├─{winedevice.exe},1515430 │ │ ├─{winedevice.exe},1515431 │ │ ├─{winedevice.exe},1515432 │ │ ├─{winedevice.exe},1515485 │ │ └─{winedevice.exe},1515486 │ ├─winedevice.exe,1515434 │ │ ├─{winedevice.exe},1515436 │ │ ├─{winedevice.exe},1515437 │ │ ├─{winedevice.exe},1515440 │ │ ├─{winedevice.exe},1515441 │ │ ├─{winedevice.exe},1515466 │ │ ├─{winedevice.exe},1515467 │ │ ├─{winedevice.exe},1515468 │ │ └─{winedevice.exe},1515470 │ └─wineserver,1515387 ├─steam-runtime-l,1514986 --alongside-steam │ ├─{steam-runtime-l},1514988 │ └─{steam-runtime-l},1514989 ├─steam-runtime-s,1514892 --exit-with-parent --subreaper --terminate-idle-timeout=1 --terminate-timeout=5 --lock-create --lock-verbose --lock-wait --lock-file/home/joel/.local/share/Stea │ ├─srt-bwrap,1514913 --args 21 /usr/lib/pressure-vessel/from-host/bin/pressure-vessel-adverb --generate-locales --fd 13 --regenerate-ld.so-cache/var/pressure │ │ └─pressure-vessel,1515031 --generate-locales --fd 13 --regenerate-ld.so-cache /var/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/o │ │ ├─steamwebhelper,1515059 -lang=en_US -cachedir=/home/joel/.local/share/Steam/config/htmlcache -steampid=1514833 -buildid=1718904662 -steamid=0 -logdir=/home/joel/.local/share/Steam/logs -uimode=7 -startcount=0... │ │ │ ├─steamwebhelper,1515072 │ │ │ │ └─steamwebhelper,1515094 │ │ │ │ ├─{steamwebhelper},1515099 │ │ │ │ ├─{steamwebhelper},1515100 │ │ │ │ ├─{steamwebhelper},1515101 │ │ │ │ ├─{steamwebhelper},1515102 │ │ │ │ ├─{steamwebhelper},1515105 │ │ │ │ ├─{steamwebhelper},1515106 │ │ │ │ ├─{steamwebhelper},1515107 │ │ │ │ ├─{steamwebhelper},1515108 │ │ │ │ ├─{steamwebhelper},1515109 │ │ │ │ ├─{steamwebhelper},1515110 │ │ │ │ ├─{steamwebhelper},1515111 │ │ │ │ ├─{steamwebhelper},1515112 │ │ │ │ ├─{steamwebhelper},1515113 │ │ │ │ ├─{steamwebhelper},1515114 │ │ │ │ ├─{steamwebhelper},1515115 │ │ │ │ ├─{steamwebhelper},1515120 │ │ │ │ ├─{steamwebhelper},1515121 │ │ │ │ ├─{steamwebhelper},1515423 │ │ │ │ ├─{steamwebhelper},1515424 │ │ │ │ ├─{steamwebhelper},1515501 │ │ │ │ ├─{steamwebhelper},1515519 │ │ │ │ └─{steamwebhelper},1515617 │ │ │ ├─steamwebhelper,1515073 │ │ │ │ └─steamwebhelper,1515075 │ │ │ │ ├─steamwebhelper,1515136 │ │ │ │ │ ├─{steamwebhelper},1515138 │ │ │ │ │ ├─{steamwebhelper},1515139 │ │ │ │ │ ├─{steamwebhelper},1515140 │ │ │ │ │ ├─{steamwebhelper},1515141 │ │ │ │ │ └─{steamwebhelper},1515624 │ │ │ │ ├─steamwebhelper,1515149 │ │ │ │ │ ├─{steamwebhelper},1515150 │ │ │ │ │ ├─{steamwebhelper},1515151 │ │ │ │ │ ├─{steamwebhelper},1515152 │ │ │ │ │ ├─{steamwebhelper},1515153 │ │ │ │ │ ├─{steamwebhelper},1515154 │ │ │ │ │ ├─{steamwebhelper},1515155 │ │ │ │ │ ├─{steamwebhelper},1515156 │ │ │ │ │ ├─{steamwebhelper},1515157 │ │ │ │ │ ├─{steamwebhelper},1515158 │ │ │ │ │ ├─{steamwebhelper},1515159 │ │ │ │ │ ├─{steamwebhelper},1515160 │ │ │ │ │ ├─{steamwebhelper},1515161 │ │ │ │ │ ├─{steamwebhelper},1515172 │ │ │ │ │ ├─{steamwebhelper},1515173 │ │ │ │ │ └─{steamwebhelper},1515198 │ │ │ │ └─steamwebhelper,1515590 │ │ │ │ ├─{steamwebhelper},1515591 │ │ │ │ ├─{steamwebhelper},1515592 │ │ │ │ ├─{steamwebhelper},1515593 │ │ │ │ ├─{steamwebhelper},1515594 │ │ │ │ ├─{steamwebhelper},1515595 │ │ │ │ ├─{steamwebhelper},1515596 │ │ │ │ ├─{steamwebhelper},1515597 │ │ │ │ ├─{steamwebhelper},1515598 │ │ │ │ ├─{steamwebhelper},1515599 │ │ │ │ ├─{steamwebhelper},1515600 │ │ │ │ ├─{steamwebhelper},1515601 │ │ │ │ ├─{steamwebhelper},1515602 │ │ │ │ ├─{steamwebhelper},1515603 │ │ │ │ ├─{steamwebhelper},1515604 │ │ │ │ ├─{steamwebhelper},1515605 │ │ │ │ ├─{steamwebhelper},1515606 │ │ │ │ ├─{steamwebhelper},1515607 │ │ │ │ ├─{steamwebhelper},1515609 │ │ │ │ └─{steamwebhelper},1515613 │ │ │ ├─steamwebhelper,1515127 │ │ │ │ ├─{steamwebhelper},1515128 │ │ │ │ ├─{steamwebhelper},1515129 │ │ │ │ ├─{steamwebhelper},1515130 │ │ │ │ ├─{steamwebhelper},1515131 │ │ │ │ ├─{steamwebhelper},1515132 │ │ │ │ ├─{steamwebhelper},1515133 │ │ │ │ ├─{steamwebhelper},1515134 │ │ │ │ ├─{steamwebhelper},1515135 │ │ │ │ ├─{steamwebhelper},1515453 │ │ │ │ └─{steamwebhelper},1515464 │ │ │ ├─{steamwebhelper},1515062 │ │ │ ├─{steamwebhelper},1515069 │ │ │ ├─{steamwebhelper},1515076 │ │ │ ├─{steamwebhelper},1515077 │ │ │ ├─{steamwebhelper},1515080 │ │ │ ├─{steamwebhelper},1515082 │ │ │ ├─{steamwebhelper},1515085 │ │ │ ├─{steamwebhelper},1515086 │ │ │ ├─{steamwebhelper},1515087 │ │ │ ├─{steamwebhelper},1515088 │ │ │ ├─{steamwebhelper},1515089 │ │ │ ├─{steamwebhelper},1515090 │ │ │ ├─{steamwebhelper},1515091 │ │ │ ├─{steamwebhelper},1515092 │ │ │ ├─{steamwebhelper},1515093 │ │ │ ├─{steamwebhelper},1515123 │ │ │ ├─{steamwebhelper},1515124 │ │ │ ├─{steamwebhelper},1515126 │ │ │ ├─{steamwebhelper},1515137 │ │ │ ├─{steamwebhelper},1515148 │ │ │ ├─{steamwebhelper},1515203 │ │ │ ├─{steamwebhelper},1515204 │ │ │ ├─{steamwebhelper},1515249 │ │ │ ├─{steamwebhelper},1515252 │ │ │ ├─{steamwebhelper},1515253 │ │ │ ├─{steamwebhelper},1515254 │ │ │ ├─{steamwebhelper},1515255 │ │ │ ├─{steamwebhelper},1515308 │ │ │ ├─{steamwebhelper},1515309 │ │ │ ├─{steamwebhelper},1515312 │ │ │ ├─{steamwebhelper},1515313 │ │ │ ├─{steamwebhelper},1515316 │ │ │ ├─{steamwebhelper},1515317 │ │ │ ├─{steamwebhelper},1515324 │ │ │ ├─{steamwebhelper},1515325 │ │ │ ├─{steamwebhelper},1515330 │ │ │ ├─{steamwebhelper},1515331 │ │ │ ├─{steamwebhelper},1515334 │ │ │ ├─{steamwebhelper},1515335 │ │ │ ├─{steamwebhelper},1515340 │ │ │ ├─{steamwebhelper},1515341 │ │ │ ├─{steamwebhelper},1515346 │ │ │ ├─{steamwebhelper},1515347 │ │ │ ├─{steamwebhelper},1515373 │ │ │ ├─{steamwebhelper},1515374 │ │ │ ├─{steamwebhelper},1515378 │ │ │ ├─{steamwebhelper},1515379 │ │ │ ├─{steamwebhelper},1515383 │ │ │ ├─{steamwebhelper},1515384 │ │ │ ├─{steamwebhelper},1515439 │ │ │ ├─{steamwebhelper},1515442 │ │ │ ├─{steamwebhelper},1515443 │ │ │ ├─{steamwebhelper},1515447 │ │ │ ├─{steamwebhelper},1515458 │ │ │ ├─{steamwebhelper},1515459 │ │ │ ├─{steamwebhelper},1515460 │ │ │ └─{steamwebhelper},1515461 │ │ └─steamwebhelper,1515064 --monitor-self-annotation=ptype=crashpad-handler --type=crashpad-handler --max-uploads=5 --max-db-size=20 --max-db-age=5 --database=/tmp/dumps --url=https://crash.steampowered.com/submit--annotation │ │ ├─{steamwebhelper},1515067 │ │ └─{steamwebhelper},1515068 │ └─srt-logger,1514897 --exec-fallback --filename=webhelper-linux.txt --identifier=steamwebhelper ├─{steam},1514838 ├─{steam},1514839 ├─{steam},1514840 ├─{steam},1514909 ├─{steam},1514934 ├─{steam},1514935 ├─{steam},1514944 ├─{steam},1514945 ├─{steam},1514966 ├─{steam},1514967 ├─{steam},1514968 ├─{steam},1514970 ├─{steam},1514972 ├─{steam},1514973 ├─{steam},1514974 ├─{steam},1514975 ├─{steam},1514976 ├─{steam},1514977 ├─{steam},1514979 ├─{steam},1514980 ├─{steam},1514981 ├─{steam},1514982 ├─{steam},1514983 ├─{steam},1514987 ├─{steam},1514993 ├─{steam},1514994 ├─{steam},1515026 ├─{steam},1515147 ├─{steam},1515187 ├─{steam},1515189 ├─{steam},1515209 ├─{steam},1515275 └─{steam},1515377 ```

I wanted to make that collapsible, but the code block stops working if I do it. I can replace it with a file attachment if that's better as well.

kisak-valve commented 3 months ago

/home/joel/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton run /home/joel/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe is the process to focus on there. It's supposed to be a short lived test to figure out what that render path goes through. Somewhere between that, Proton 9.0, and your Vulkan driver it's getting stuck.

pfirsich commented 3 months ago

@kisak-valve That process looked weird to me too, because I see it constantly. When I run it manually it terminates after < 1s with exit status 1:

$ env STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/joel/.local/share/Steam STEAM_COMPAT_INSTALL_PATH="/home/joel/.local/share/Steam/steamapps/common/Proton - Experimental" STEAM_COMPAT_DATA_PATH=/home/joel/.local/share/Steam/steamapps/compatdata/1493710/ /home/joel/.local/share/Steam/steamapps/common/Proton\ 9.0\ \(Beta\)/proton run /home/joel/.local/share/Steam/bin/d3ddriverquery64.exe
Proton: Upgrading prefix from 9.0-201 to 9.0-200 (/home/joel/.local/share/Steam/steamapps/compatdata/1493710//)
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.

I am using a laptop with a dedicated nvidia MX150 gpu and intel integrated graphics. This is my mesa-vulkan driver: mesa-vulkan-drivers/jammy,now 24.0.3-1pop1~1711635559~22.04~7a9f319 amd64. And this is my NVIDIA driver: nvidia-driver-550/jammy,now 550.67-1pop0~1710948064~22.04~b0f6b1b amd64.

I have not installed your mesa-drivers, because I hoped it would use the MX150 anyways, but maybe something is going wrong there.

Is there some information I could provide or things to try that could help fix this issue? Does my issue still fit into this github issue or should I open another?

pfirsich commented 2 months ago

After an update and restarting the issue has disappeared.