sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.03k stars 69 forks source link

steam stuck at "pid # !=#, skipping destruction (fork without exec)" #1102

Closed PFleur closed 1 month ago

PFleur commented 1 month ago

System Information

Issue Description

Whenever I try to launch a game through STL Steam gets stuck repeating a pid # != # error for hundreds of lines.

Logs

Included are logs from steam and from STL steamLaunch.txt steamtinkerlaunch.log

sonic2kk commented 1 month ago

Does this happen if you use an up-to-date version of SteamTinkerLaunch from master instead of the outdated and unsupported v12.12? The issue template already asked you to test master.

This error message usually comes from a lingering Wineserver or other system issue (the spam is normally a result of Steam trying and failing to start a game, as one or some is normal, but repeated spam is indicative of another issue), but it may also be related to the Steam Linux Runtime being missing, which master has quite a few fixes for. I don't know if it's worth troubleshooting an issue that might only be on v12.12, and you shouldn't be using it anyway.

Do a reboot, make sure the Steam Linux Runtime 1.0, 2.0, and 3.0 are installed, and confirm the issue exists on master, and attach a new log from that test.

PFleur commented 1 month ago

After removing 12.12 and installing by cloning from master and following the instructions and installing Steam Linux Runtime 1.0, the issue persists. STL log. steamtinkerlaunch.log

sonic2kk commented 1 month ago

The log you attached looks like it's from a Steam Client startup, not a game launch log.

Other things to check:

PFleur commented 1 month ago

No problem since it's best to rule out easy mistakes. It's being used as a compatibility tool but, when used as such, it never reaches the game menu. When ran from command-line with the 'one time run' option (as it's the only way I've been able to set a proton version) it still doesn't start. Log provided below in case it's useful: steamtinkerlaunch.log

sonic2kk commented 1 month ago

Oh, why is One-Time Run the only way you can set a Proton version? Does the Game Menu not work for you? It's expected that a game wouldn't really start from One-Time Run as that's more for like, mod patch installers so on, or some other one-off run.

One user recently had an issue where the Game Menu segfaulted for them so I'm just wondering if that's something you're running into (#1070).

PFleur commented 1 month ago

When launching as a compatibility option steam times out launching before any STL menu appears and as such I can't go to the Game Menu as I can't get to the Main Menu. It seems to mostly be working as a launch option for linux native games. As for the possibility of a segfault, following the instruction provided in the linked issue there were no dumps related to yad only ones reading something like core.xdg-desktop-por.1000.<some number that changes occasionally>.<a number that's always different>.<another number that's always different>.zst I'll try reinstalling and/or uninstalling xdg-desktop-portal to see if that changes anything since it's showed up in the logs on occasion.

Update: removing xdg-desktop-portal-gtk and replacing it with xdg-desktop-portal seemed to get it to work

sonic2kk commented 1 month ago

This is all very strange, although this does I suppose answer a question about no menu function calls being present.

When launching as a compatibility option steam times out launching before any STL menu appears and as such I can't go to the Game Menu as I can't get to the Main Menu

This shouldn't be happening. Does it happen with all games you use SteamTinkerLaunch as a compatibility tool with?


Something exceedingly strange in your log is that your XDG_SESSION_TYPE is for some reason tty. Unless you're actually running from a tty? This has, as far as I know, not been tested outside of SteamOS (and even then, XDG_SESSION_TYPE may not return tty with GameScope, I am unsure) and could have a lot of oddities.

If you are running from a TTY, can you test from a different session, such as a desktop environment? If not, I guess I'll check out SteamTinkerLaunch from a TTY and see if it works. If it doesn't maybe the issue comes from Yad...

PFleur commented 1 month ago

For the first, it didn't work for any game I launched using it as a compatibility tool with. It's now working with xdg-desktop-portal, probably should of made that clearer.

For the second, I'm running from xorg so I have no idea why XDG thinks it's tty.

sonic2kk commented 1 month ago

Ooh, that's a bit strange, but I think I understand you now. So the Main Menu, Game Menu, and launching games is now working for you with xdg-desktop-portal installed?

If so, that's great! Although I'm really not sure why that would be the case. I'm not sure what would depend on that. Also, you can probably have both xdg-desktop-portal and xdg-desktop-portal-* installed at any given time. On my Arch system, I have -gnome, -gtk-, and -kde (and on a VM, I have the base one and xdg-desktop-portal-kde and xdg-desktop-portal-hyprland).

I wonder if perhaps a newer version of Yad requires it? That's the only thing I could think of. STL itself shouldn't explicitly require any portals, we don't call portals anywhere. The closest thing we can optionally use is xdg-open, which on Arch is provided by xdg-utils (pacman -F $(which xdg-open)).

I checked the dependencies of the yad package, the xdg-utils package, and the steam package for good measure, and none should be requiring any portals.


if your issue is resolved though, I suppose we can close this, and I'll document that portals may be required on the wiki.