protonscr

"steam://rungameid" on a non-Steam game segfaults Steam client if passing arguments

steamclosed Steam clientDistro Family: SteamOSnon-Steam application
ValveSoftware/steam-for-linux#9194 · opened 2023-02-10 by blattersturm · updated 2023-03-02 · 6 comments · github
Bblattersturm 2023-02-10 github

Your system information

  • Steam client version (build number or date): Feb 10 2023 at 02:38:06
  • Distribution (e.g. Ubuntu): SteamOS on Deck
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

When using the steam://rungameid/ launch argument to launch a non-Steam game with custom command line arguments, the main Steam process will crash.

$ steam "steam://rungameid/15059998769837768704//test"

If running the main Steam process from a terminal, it shows the following output:

ExecCommandLine: "'/home/deck/.local/share/Steam/ubuntu12_32/steam' '-steamdeck' 'steam://rungameid/15059998769837768704//test'"
ExecuteSteamURL: "steam://rungameid/15059998769837768704//test"
System startup time: 5.79 seconds
GameAction [AppID 2990150406, ActionID 1] : LaunchApp changed task to ShowGameArgs with ""
GameAction [AppID 2990150406, ActionID 1] : LaunchApp waiting for user response to ShowGameArgs "test"
crash_20230210173640_28.dmp[77216]: Uploading dump (out-of-process)
/tmp/dumps/crash_20230210173640_28.dmp
/home/deck/.local/share/Steam/steam.sh: line 798: 76834 Segmentation fault      (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"

In dmesg, the following segfault is shown:

[14970.052835] steam[78951]: segfault at 0 ip 00000000e737369e sp 00000000ff89b340 error 4 in steamui.so[e6d48000+1712000]

Steps for reproducing this issue:

  1. Add a non-Steam game to the Steam client.
  2. Make a desktop shortcut for the non-Steam game and copy the game ID from the .desktop file.
  3. Run steam "steam://rungameid/15059998769837768704//test" in a terminal, replacing 15059998769837768704 with the game ID from the shortcut.
  4. Observe the Steam client crashing.
TTTimo 2023-02-17 github

We cannot reproduce. There were several changes made to the non-steam shortcuts code, so this may have been addressed.

Please see if you can reproduce in the beta client that shipped today (Feb 17th), and provide an ID for an uploaded crash report.

TTTimo 2023-02-17 github

Nevermind! The beta client crashes but our internal code doesn't ..

TTTimo 2023-02-20 github

This will be fixed in next beta client update (planned to ship today).

XXinerki 2023-03-02 github

Although the crash appears to be fixed, the feature doesn't seem to be entirely functional. Trying to run a non-steam game with custom arguments behaves oddly, first taking an unusually long amount of time to launch (and in Deck's game mode, the "failed cloud sync" dialog popped up.. for a non-steam game), only to launch without the actual arguments.

Repro steps are the same as in the original post too.

Kkisak-valve maintainer 2023-03-02 github

Hello @Xinerki, your follow up issue should be tracked separately. Please open a new issue report.

TTTimo 2023-03-02 github

I believe the problems @Xinerki reports are adressed in next update also. See https://github.com/ValveSoftware/steam-for-linux/issues/8164 (meaning, no need to create a new report, this is known)