protonscr

steamwebhelper run in firejail fails with an illegal instruction

steamclosed Distro Family: DebianWeb Component
ValveSoftware/steam-for-linux#8588 · opened 2022-05-16 by Llamaaardvark · updated 2022-05-23 · 3 comments · github
1 matching comments, n / p to jump
LLlamaaardvark 2022-05-16 github

Your system information

  • Steam client version (build number or date): steam-runtime_0.20220315.0 (but this started on the previous update)
  • Distribution: Debian GNU/Linux 11 (bullseye) (64 bit), Xorg, kernel 5.15.0-2-amd64
  • Opted into Steam client beta?: [Yes/No] I do not know how to check this
  • Have you checked for system updates?: [Yes/No] yes

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

-------------- Steps to reproduce
sudo aptitude install steam
firejail --private=/path/to/installation steam
everything's fine as far as I can tell

May update happens

firejail --private=/path/to/installation steam
Library and Store and everything are blank gray screens and inaccessible
switching to Small Mode is a temporary workaround, but launching games still seems 'broken' even with Small Mode:
stdout output: https://gist.github.com/Llamaaardvark/cf9f295241f7dddc804c4209d2038029

-------------- discussion:
Firejail is a sandbox which gives Steam a view of a blank installation environment. Some change from Thu May 12 caused Steam (or a library Steam depends on) to start doing "something weird" like making an incorrect assumption about the filesystem or library locations or read/write permissions (e.g. perhaps assume some structure of the user's home directory which didn't exist, some write permissions somewhere, etc. -- these are likely culprits due to the nature of Firejail as a filesystem sandbox)

Previously, some games like Rimworld could launch just fine.
Previously, some games could not be launched (when they are launched, the sound is on but they instantly crash). However when Firejail is disabled, those games seem to work properly (with Proton-experimental; Linux native crashes).

Now, everything seems 'broken' as above (gray screen in all modes except Small Mode), and failure to launch games.
The gray screen seems identical to the fourth screenshot at https://github.com/ValveSoftware/steam-for-linux/issues/8584 namely https://user-images.githubusercontent.com/71661989/168402902-8bf5db86-d064-4a36-aa9b-882f3bcfa87c.png
Running steam without firejail does not seem to have issues, but I will only run steam with firejail... thank for looking into this May ~12 update which seems to have messed things up for multiple users.

Kkisak-valve maintainer 2022-05-16 github

Hello @Llamaaardvark, this issue report is more in line with the discussion at #8373 instead of #8584.

If you run steam -no-cef-sandbox instead of steam, does that return Steam to its previous behavior before the update? The Steam client should be trying harder than before to use cef's sandboxing feature, and there may be another edge cases here with firejail, or firejail's restrictions are to tight for the feature.

It might be interesting to also test steam -cef-disable-seccomp-sandbox from https://github.com/ValveSoftware/steam-for-linux/issues/8522#issuecomment-1097150059.

LLlamaaardvark 2022-05-16 github

Thank you kisak.

firejail --private=etcetc steam -no-cef-sandbox* allows rendering Library/Store/etc.
(*but not ...steam -no-cef-sandbox; that fails)

However one still cannot launch games as before. For example, trying to launch rimworld results in an entirely black screen as if it's loading, but then the black window disappears into the background and I don't see it anywhere (it disappeared and is not alt-tabbable). The process is running as revealed by top, and one can "Stop" the process (after some wait) via the steam UI, but it remains the case that nothing graphical is displayed. Also tested with Mini Metro and Elite: Dangerous.

begin trying to launch RimWorld to a temporary black fullscreen:

GameAction [AppID 294100, ActionID 7] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 294100, ActionID 7] : LaunchApp changed task to ProcessingShaderCache with ""
Fossilize INFO: Autogroup scheduling is not enabled on this kernel. Will rely entirely on nice().
GameAction [AppID 294100, ActionID 7] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 294100, ActionID 7] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 294100, ActionID 7] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 294100, ActionID 7] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=294100 -- '/home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld/start_RimWorld.sh'\0
Game process added : AppID 294100 "/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=294100 -- '/home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld/start_RimWorld.sh'", ProcID 1266, IP 0.0.0.0:0
chdir /home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld
ERROR: ld.so: object '/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 294100, ActionID 7] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/MYUSERNAME/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
GameAction [AppID 294100, ActionID 7] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Set current directory to /home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld
Found path: /home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld/RimWorldLinux
Game process updated : AppID 294100 "/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=294100 -- '/home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld/start_RimWorld.sh'", ProcID 1271, IP 0.0.0.0:0
src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1204 -- gameoverlayui

src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1204 -- gameoverlayui

Installing breakpad exception handler for appid(gameoverlayui)/version(20220514000309)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)

begin to terminate the process:

src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1266 -- sh

src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1266 -- sh

Game process removed: AppID 294100 "/home/MYUSERNAME/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=294100 -- '/home/MYUSERNAME/.steam/debian-installation/steamapps/common/RimWorld/start_RimWorld.sh'", ProcID 1271 
ThreadGetProcessExitCode: no such process 1329
ThreadGetProcessExitCode: no such process 1271
ThreadGetProcessExitCode: no such process 1270
ThreadGetProcessExitCode: no such process 1269
ThreadGetProcessExitCode: no such process 1268
ThreadGetProcessExitCode: no such process 1267
ThreadGetProcessExitCode: no such process 1266
Game 294100 created interface STEAMAPPLIST_INTERFACE_VERSION001 / AppList
Game 294100 created interface STEAMAPPS_INTERFACE_VERSION008 / Apps
Game 294100 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_005 / HTMLSurface
Game 294100 created interface STEAMHTTP_INTERFACE_VERSION003 / HTTP
Game 294100 created interface STEAMINVENTORY_INTERFACE_V003 / Inventory
Game 294100 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 / MusicRemote
Game 294100 created interface STEAMMUSIC_INTERFACE_VERSION001 / Music
Game 294100 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 / ParentalSettings
Game 294100 created interface STEAMREMOTEPLAY_INTERFACE_VERSION001 / RemotePlay
Game 294100 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION016 / RemoteStorage
Game 294100 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 / Screenshots
Game 294100 created interface STEAMUGC_INTERFACE_VERSION016 / UGC
Game 294100 created interface STEAMUSERSTATS_INTERFACE_VERSION012 / UserStats
Game 294100 created interface STEAMVIDEO_INTERFACE_V002 / Video
Game 294100 created interface SteamFriends017 / Friends
Game 294100 created interface SteamInput006 / Controller
Game 294100 created interface SteamMatchGameSearch001 / GameSearch
Game 294100 created interface SteamMatchMaking009 / Matchmaking
Game 294100 created interface SteamMatchMakingServers002 / MatchmakingServers
Game 294100 created interface SteamNetworking006 / Networking
Game 294100 created interface SteamNetworkingMessages002 / 
Game 294100 created interface SteamNetworkingSockets012 / 
Game 294100 created interface SteamNetworkingUtils004 / 
Game 294100 created interface SteamParties002 / Parties
Game 294100 created interface SteamUser021 / User
Game 294100 created interface SteamUtils010 / 
Game 294100 created interface SteamUtils010 / Utils
Game 294100 method call count for IClientNetworkingSocketsSerialized::GetSTUNServer : 2
Game 294100 method call count for IClientNetworkingSocketsSerialized::GetCachedRelayTicketCount : 1
Game 294100 method call count for IClientNetworkingSocketsSerialized::GetCertAsync : 1
Game 294100 method call count for IClientUGC::GetItemInstallInfo : 39
Game 294100 method call count for IClientUGC::GetSubscribedItems : 1
Game 294100 method call count for IClientUGC::GetNumSubscribedItems : 1
Game 294100 method call count for IClientHTTP::SendHTTPRequest : 1
Game 294100 method call count for IClientHTTP::SetHTTPRequestHeaderValue : 1
Game 294100 method call count for IClientHTTP::CreateHTTPRequest : 1
Game 294100 method call count for IClientAppManager::IsAppDlcInstalled : 4
Game 294100 method call count for IClientUtils::RecordSteamInterfaceCreation : 29
Game 294100 method call count for IClientUtils::GetAppID : 32
Game 294100 method call count for IClientUtils::GetConnectedUniverse : 1
Game 294100 method call count for IClientUser::GetSteamID : 2
Game 294100 method call count for IClientUser::BLoggedOn : 1
Uploaded AppInterfaceStats to Steam

(process:1326): GLib-GObject-CRITICAL **: 16:03:28.844: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1326 -- gameoverlayui

src/steamexe/main.cpp (253) : Assertion Failed: reaping pid: 1326 -- gameoverlayui

LLlamaaardvark 2022-05-23 github

@kisak-valve ignore prior comment. It seems the games launching was a fault of xmonad, somehow. If someone encouters games launching being a problem, I would encourage them to see if the problem is reproducible on a different window manager. Sorry for the confusion.

(To solve the blank screens, see the emoji'd comments above.)