ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.24k stars 175 forks source link

Slackware current Steam line 813: Segmentation fault #10801

Open vuichka opened 6 months ago

vuichka commented 6 months ago

Your system information

Please describe your issue in as much detail as possible:

Steam should run correctly but I get a Segfault

bash-5.2$ steam
# ------------------------------------ #

Slackware 32-bit:
Check the directory matching your Slackware version below http://www.slackware.com/~alien/slackbuilds/steamclient/deps/ . Install/upgrade any packages you find there (may be zero).

Slackware 64-bit:
You need to install multilib (see https://docs.slackware.com/slackware:multilib). Additionally, you need to install/upgrade any packages in the '<slackwareversion>/multilib' subdirectory of http://www.slackware.com/~alien/slackbuilds/steamclient/deps/ instead.

# ------------------------------------ #
steam.sh[11380]: Running Steam on slackware 15.0 64-bit
steam.sh[11380]: STEAM_RUNTIME is enabled automatically
setup.sh[11453]: Steam runtime environment up-to-date!
steam.sh[11380]: Steam client's requirements are satisfied
tid(11510) burning pthread_key_t == 0 so we never use it
[2024-04-20 18:32:48] Startup - updater built Mar  6 2024 20:27:25
[2024-04-20 18:32:48] Startup - Steam Client launched with: '/home/jules/.local/share/Steam/ubuntu12_32/steam'
minidumps folder is set to /tmp/dumps
04/20 18:32:48 Init: Installing breakpad exception handler for appid(steam)/version(1709846872)/tid(11510)
crash_20240420183248_2.dmp[11513]: Uploading dump (out-of-process)
/tmp/dumps/crash_20240420183248_2.dmp
/home/jules/.local/share/Steam/steam.sh: line 813: 11510 Segmentation fault      "$STEAMROOT/$STEAMEXEPATH" "$@"

I tried to use strace as DEBUGGER=strace steam and I got the login window, after I scanned QR code an infinite loader follows image image Here's logs with strace debugger strace-steam.txt

Steps for reproducing this issue:

  1. Install Slackware64-current
  2. Install multilib using alienbob manual
  3. Install nvidia-driver using SBo using export COMPAT32="yes" && slpkg -i nvidia-driver command
  4. Install steamclient from alienbob repo
  5. run steam in terminal
TheMexicalineManiac commented 6 months ago

Same issue on arch.

usualMortal commented 6 months ago

Gentoo 23.0 profile migration led to similar issue

$ steam
steam.sh[17420]: Running Steam on gentoo 1.0.0.76-r1 64-bit
steam.sh[17420]: STEAM_RUNTIME is enabled by the user
setup.sh[17486]: Steam runtime environment up-to-date!
steam.sh[17420]: Can't find 'steam-runtime-check-requirements', continuing anyway
[2024-04-25 20:35:56] Startup - updater built Feb 14 2023 00:47:09
[2024-04-25 20:35:56] Startup - Steam Client launched with: '/home/gentoo/usualmortal/.local/share/Steam/ubuntu12_32/steam'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
crash_20240425203557_2.dmp[17560]: Uploading dump (out-of-process)
/tmp/dumps/crash_20240425203557_2.dmp
/home/gentoo/usualmortal/.local/share/Steam/steam.sh: line 798: 17557 Segmentation fault      "$STEAMROOT/$STEAMEXEPATH" "$@"
crash_20240425203557_2.dmp[17560]: Finished uploading minidump (out-of-process): success = yes
crash_20240425203557_2.dmp[17560]: response: CrashID=bp-90f57399-155e-433d-99ed-302e32240425
crash_20240425203557_2.dmp[17560]: file ''/tmp/dumps/crash_20240425203557_2.dmp'', upload yes: ''CrashID=bp-90f57399-155e-433d-99ed-302e32240425''
dorkster commented 6 months ago

Also getting this on Arch.

Downgrading lib32-glibc from 2.39-3 to 2.39-2 seems to fix it.

vuichka commented 6 months ago

Downgrading lib32-glibc from 2.39-3 to 2.39-2 seems to fix it.

bash-5.2# slpkg -f glibc
Database loading... ✔️
The list below shows the installed packages:

glibc-profile-2.39_multilib-x86_64-2alien (18 MB)
glibc-zoneinfo-2024a-noarch-1 (3 MB)
glibc-2.39_multilib-x86_64-2alien (74 MB)
aaa_glibc-solibs-2.39_multilib-x86_64-2alien (22 MB)
glibc-i18n-2.39_multilib-x86_64-2alien (2 GB)

It seems that I have 2.39-2 already

dorkster commented 6 months ago

It seems that I have 2.39-2 already

FWIW, I also downgraded my other lib32 packages: lib32-fribidi lib32-openssl lib32-libproxy lib32-libva-mesa-driver lib32-mesa lib32-mesa-vdpau. But I suspect these were just rebuilds due to the new glibc package and aren't the source of the problem.

Looking at the diff of Arch's package, I see that CFLAGS and LDFLAGS were changed. Maybe Slackware's package already had these flags?

@@ -66,7 +66,7 @@ build() {
     # Credits @allanmcrae
     # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
     # remove fortify for building libraries
-    CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=3/}
+    # CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/}

     "${srcdir}"/glibc/configure \
         --libdir=/usr/lib \
@@ -121,6 +121,7 @@ check() (
   sed -i 's/-Werror=format-security/-Wformat-security/' config.make   # failure to build testsuite
   sed -i '/CFLAGS/s/-fno-plt//' config.make                           # 16 failures
   sed -i '/CFLAGS/s/-fexceptions//' config.make                       # 1 failure
+  LDFLAGS=${LDFLAGS/-Wl,-z,now/}                                         # 10 failures

   # The following tests fail due to restrictions in the Arch build system
   # The correct fix is to add the following to the systemd-nspawn call:
butztill commented 6 months ago

Downgrading to 2.39-2 on arch seems to fix it but idk about other distros I recommend using the downgrade utility for it, worked for me at least

vuichka commented 6 months ago

This is absurd. I changed literally nothing. I started steam as DEBUGGER="strace -o /dev/null" steam and it worked. image

Then I closed steam. Started it without debugger. Get same error.

steam.sh[30392]: Running Steam on slackware 15.0 64-bit
steam.sh[30392]: STEAM_RUNTIME is enabled automatically
setup.sh[30465]: Steam runtime environment up-to-date!
steam.sh[30392]: Steam client's requirements are satisfied
tid(30522) burning pthread_key_t == 0 so we never use it
[2024-05-02 22:39:01] Startup - updater built Mar  6 2024 20:27:25
[2024-05-02 22:39:01] Startup - Steam Client launched with: '/home/jules/.local/share/Steam/ubuntu12_32/steam'
minidumps folder is set to /tmp/dumps
05/02 22:39:01 Init: Installing breakpad exception handler for appid(steam)/version(1709846872)/tid(30522)
crash_20240502223901_2.dmp[30525]: Uploading dump (out-of-process)
/tmp/dumps/crash_20240502223901_2.dmp
/home/jules/.local/share/Steam/steam.sh: line 813: 30522 Segmentation fault      "$STEAMROOT/$STEAMEXEPATH" "$@"
vuichka commented 6 months ago

Next absurd is I installed the game and it works. image

Same error without debugger. If anybody knows what's going on explain please.

vuichka commented 6 months ago

~Okay. It is fixed. Tried it without debugger again and it worked. Steam WORKS! Thanks everyone!~

Nah I closed the game and it segfaults again :-)

airblast-dev commented 6 months ago

Came across the same issue on Endeavour OS (an arch based distro).

Downgrading lib32-glibc from 2.39-3 to 2.39-2 seems to fix it.

Downgrading lib32-glibc to 2.39-2 fixed the issue for me as well.

Oikio commented 6 months ago

Archlinux, lib32-glibc from 2.39-4 fixed it for me. See https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/issues/10

usualMortal commented 6 months ago

Gentoo user here, upgrading glibc from 2.38-r13 to 2.39-r4 fixed the issue.