protonscr

Proton probably preventing Steam shutdown

protonclosed
ValveSoftware/Proton#5680 · opened 2022-03-14 by Gryxx · updated 2023-07-01 · 12 comments · github
GGryxx 2022-03-14 github

Your system information

  • Steam client version (build number or date):
  • Distribution (e.g. Ubuntu): openSUSE Tumbleweed
  • Opted into Steam client beta?: [Yes/No] Both
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

Steam is not closing properly. Here is log from console https://pastebin.com/iDGtzpzc
Steam stays in tray while in console there are this messages: Thread "CJobMgr::m_WorkThreadPool:3" (ID 23129) failed to shut down
While killing steam processes i noticed that killing processes that contained following keywords in command field like pressure-vessel and proton-experimental and d3ddriverquery64.exe allowed steam to exit gracefully. I can't copy full command from my GUI where i see it, i need help getting that data.
Proton games stop working, if i mess up with proton settings the game will be stuck on "preparing to launch". So far tested on Vampire survivors and SW: The Old Republic.
I tried clearing Steam directory, to no avail. Shader caching is now disabled. I was able to temporary resolve closing issue while completely disabling and removing all Proton ans Steam Linux runtime, but the problem is back after trying to launch any game.

Link to system information https://pastebin.com/RgwTD2P3

GGryxx 2022-03-14 github

image
This chain starting with reaper process needs to be closed for Steam to close. I managed to launch SW: KOTOR, but Vampire Survivors are still hanging. I observe similar behavior on Proton 7.0. I have tried replicating on another machine with up to date Tumbleweed with no luck. My best guess is it broke when i was moving it between libraries using Steam built in function.

GGryxx 2022-03-14 github

OK, this is weird. It works on new system user, but not if i delete whole Steam directory. What gives?

Gguglovich 2022-04-01 github

@kisak-valve Even when Steam Proton is disabled for third-party games, Proton and Wine processes still run. The only way to avoid the problem is to remove the games themselves.

Gguglovich 2022-04-15 github

@Gryxx I have fixed this problem along with the problem of running games. I see you have AMD video card too, so try uninstalling mangohud with all traces of it too, then kill all processes afterwards in task manager or just restart your session. That worked for me.

Mmazunki 2022-12-20 github

Same issue. This doesn't happen on Proton 6.x, although i still get d3ddriverquery64.exe segfaults.

[527213.769846] vulkandriverque[20007]: segfault at 0 ip 0000000000000000 sp 00007ffd15a26b58 error 14 in vulkandriverquery[563524220000+1f000] likely on CPU 2 (core 2, socket 0)
[527213.769856] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527229.864218] fossilize_repla[20343]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 30 (core 14, socket 0)
[527229.864244] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527229.954487] fossilize_repla[20342]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 14 (core 14, socket 0)
[527229.954508] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527230.039267] fossilize_repla[20341]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 13 (core 13, socket 0)
[527230.039281] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527230.050051] fossilize_repla[20339]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 19 (core 3, socket 0)
[527230.050065] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527230.472965] fossilize_repla[20344]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 30 (core 14, socket 0)
[527230.472980] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527230.614525] fossilize_repla[20340]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 24 (core 8, socket 0)
[527230.614537] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527230.711264] fossilize_repla[20345]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 13 (core 13, socket 0)
[527230.711276] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527230.974847] fossilize_repla[20338]: segfault at 0 ip 0000000000000000 sp 00007ffe8f2f92e8 error 14 in fossilize_replay[5596d03c6000+23d000] likely on CPU 0 (core 0, socket 0)
[527230.974860] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527233.706313] fossilize_repla[20684]: segfault at 0 ip 0000000000000000 sp 00007ffdc2f7e478 error 14 in fossilize_replay[560a0125b000+23d000] likely on CPU 0 (core 0, socket 0)
[527233.706328] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527233.753427] fossilize_repla[20687]: segfault at 0 ip 0000000000000000 sp 00007ffdc2f7e478 error 14 in fossilize_replay[560a0125b000+23d000] likely on CPU 18 (core 2, socket 0)
[527233.753437] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[527248.165560] show_signal_msg: 6 callbacks suppressed```
GGryxx 2022-12-20 github

In my case it was old ProtonGE version downloaded using ProtonUp-Qt. Even after removing everything ProtonGE related from /home it was hanging as i described. I was able to break it on two more systems, only thing i found to get rid of it is to create new /home directory without copying most of hidden files. I'm not sure because it was half a year ago, but i think the offending file? was in one of subdirectories in either .local or .config.

Not issue of Steam per se, but removing Proton/Steam directory should be enough to clear up the issue-> that i would consider the bug with Steam

I'm closing the issue, @kisak-valve i leave it up to you if you think this worth pursuing.

Mmazunki 2022-12-21 github

I don't think closing it as completed makes sense until we figure out exactly what the cause of the issue is. I don't think I've ever used ProtonUp, at least I have never installed it manually. I have used several versions of Proton, and the issue seems to only take place on (several subversions of) Proton 7.x.

I have deleted the compatdata directory several times, since there seems to be some corrupted textures at times with other versions, I feel it's related... but it hasn't fixed anything. What else do you suggest deleting?

Mmazunki 2022-12-21 github

I'm cropping off half the command here. Only way to "easily" close it is to pkill -g 4538. pkill 4489 or pkill 4526 don't seem to react, even if given -KILL

image

GGryxx 2022-12-21 github

What else do you suggest deleting?

Try creating new user and logging and testing there. If it is not helping, it probably isn't the same bug.

Mmazunki 2022-12-25 github

@Gryxx Thanks, it worked for a bit, until it broke after updating some game, it seems.

I have ~/.local/share/Steam/steamapps pointing to /opt/games/steam. Here's the order of what I just attempted.

  • I removed ~/.local/share/Steam in its entirety, and started Steam. Worked fine.
  • Added back the symlink, and it worked fine.
  • I added "Allow Proton for all other titles", or whatever the option is called. Worked fine.
  • Updated all the games. Broken.

I will try to reinstall the games one by one, and see if it's any particular game's fault.

Mmazunki 2022-12-25 github

Before uninstalling any apps, I inspected my processes a bit further, and found some ids. After cross-referencing some of the numbers in the commands with the installed game ids, I found Noita's game ID appearing there. After uninstalling Noita, the problem is gone. No need to wipe anything else.

Mmadrang 2023-07-01 github

Had the same bug. Fixed it with a cron job...
It will only kill d3ddriverquery64 if it's been running for more than 4 minutes.

#!/bin/bash

PROCESS_ID=$(pgrep d3ddriverquery6)
if [ $? -eq 0 ]; then
    echo "Process d3ddriverquery64($PROCESS_ID) found"
else
    echo "Process not found!"
    exit
fi

PROCESS_START_TIME=$(ps -p $PROCESS_ID -o etimes --no-headers | xargs)
if [ "$PROCESS_START_TIME" -gt 340 ]; then
    # 340 Seconds is 4 minutes.
    echo "Process d3ddriverquery64 started $PROCESS_START_TIME seconds ago."
    echo "Killing process ID"
    kill $PROCESS_ID
else
    echo "Ignored was running only since $PROCESS_START_TIME seconds."
fi

Proton versions