Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam won't launch, get a crash dump after libcurl.so #2021

Open
geerlingguy opened this issue Nov 12, 2024 · 11 comments
Open

Steam won't launch, get a crash dump after libcurl.so #2021

geerlingguy opened this issue Nov 12, 2024 · 11 comments

Comments

@geerlingguy
Copy link

After debugging over in Pi-Apps (see Botspot/pi-apps#2676), I still can't get Steam to launch today after its latest update (and now a fresh install). It always fails with a crashdump, consistently.

I've tried with a brand new Pi OS 12 install, and with my existing install, and also tried reinstalling and updating everything both ways, and always end up here:

$ /usr/local/bin/steam 
steam.sh[9700]: Running Steam on debian 12 64-bit
steam.sh[9700]: STEAM_RUNTIME is enabled by the user
setup.sh[9764]: Steam runtime environment up-to-date!
/home/pi/.local/share/Steam/ubuntu12_32/steam-runtime/run.sh: line 85: steam-runtime-identify-library-abi: command not found
run.sh[9776]: steam-runtime-identify-library-abi --ldconfig-paths failed, falling back to ldconfig
steam.sh[9700]: Couldn't find /home/pi/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/srt-logger, logging to console-linux.txt
steam.sh[9700]: Can't find 'steam-runtime-check-requirements', continuing anyway
Debug level is 1
Dynarec for ARMv8, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA AES PMULL PageSize:4096 Running on Cortex-A76 with 4 Cores
Params database has 32 entries
Box86 with Dynarec v0.3.7 1e749beb built on Nov 10 2024 06:31:27
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/:i686/
Using default BOX86_PATH: ./:bin/
Counted 42 Env var
Looking for /home/pi/.local/share/Steam/ubuntu12_32/steam
steam detected
Apply RC params for steam
Applying BOX86_NOGTK=1
Applying BOX86_DYNAREC_STRONGMEM=1
Applying BOX86_DYNAREC_CALLRET=0
Applying BOX86_EMULATED_LIBS=libudev.so.0:libSDL2-2.0.so.0
argv[1]="-no-cef-sandbox"
argv[2]="steam://open/minigameslist"
Rename process to "steam"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using native(wrapped) libX11.so.6
Using native(wrapped) libm.so.6
[2024-11-12 11:26:13] Startup - updater built Jul 16 2024 23:21:18
[2024-11-12 11:26:13] Startup - Steam Client launched with: '/home/pi/.local/share/Steam/ubuntu12_32/steam' '-no-cef-sandbox' 'steam://open/minigameslist'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
src/steamexe/updateui_xwin.cpp (1466) : BFileExists( m_FontFileRegular )
src/steamexe/updateui_xwin.cpp (1466) : BFileExists( m_FontFileRegular )
Using emulated /home/pi/.local/share/Steam/ubuntu12_32/crashhandler.so
Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT 0x6009aac0 (0x81b6)
11/12 11:26:13 minidumps folder is set to /tmp/dumps
11/12 11:26:13 Init: Installing breakpad exception handler for appid(steam)/version(1.0)/tid(9798)
Debug level is 1
Dynarec for ARMv8, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA AES PMULL PageSize:4096 Running on Cortex-A76 with 4 Cores
Params database has 32 entries
Box86 with Dynarec v0.3.7 1e749beb built on Nov 10 2024 06:31:27
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/:i686/
Using default BOX86_PATH: ./:bin/
Counted 43 Env var
Looking for /home/pi/.local/share/Steam/linux32/steamerrorreporter
steam detected
argv[1]="uptime"
argv[2]="24"
argv[3]="StartupTime"
argv[4]="1731432630"
argv[5]="CrashTime"
argv[6]="1731432655"
argv[7]="BuildID"
argv[8]="20240716232046"
argv[9]="Platform"
argv[10]="Linux"
argv[11]="ProductName"
argv[12]="steam"
argv[13]="SteamUniverse"
argv[14]="Public"
argv[15]="URL"
argv[16]="www.steampowered.com"
argv[17]="Vendor"
argv[18]="Valve"
argv[19]="Version"
argv[20]="1.0"
Rename process to "steamerrorreporter"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
/share/Steam/linux32/steamerrorreporter[9809]: Uploading dump (out-of-process)
/tmp/dumps/assert_20241112112613_3.dmp
Error loading needed lib libcurl.so
Warning: Cannot dlopen("libcurl.so"/0x30017013, 2)
Using native(wrapped) libcurl.so.4
/share/Steam/linux32/steamerrorreporter[9809]: Finished uploading minidump (out-of-process): success = yes
/share/Steam/linux32/steamerrorreporter[9809]: response: CrashID=bp-f679610d-3c32-4a46-82db-35ed82241112
/share/Steam/linux32/steamerrorreporter[9809]: file ''/tmp/dumps/assert_20241112112613_3.dmp'', upload yes: ''CrashID=bp-f679610d-3c32-4a46-82db-35ed82241112''

The crashdump is attached:

assert_20241112112613_3.dmp

User @Coreforge also ran into this issue yesterday, suggesting it may be some new functions box64 doesn't currently wrap.

@geerlingguy
Copy link
Author

This seems similar, but IMO not related, as I'm on the latest versions of everything in a clean environment: ptitSeb/box86#1012

@ptitSeb
Copy link
Owner

ptitSeb commented Nov 12, 2024

some user needed to delete crashhandler.so for steam to run (the file got downloaded by steam after the 1st run and still worked fine).

I didn't reproduce the issue on my side. Steam works on all my tests devices.

@geerlingguy
Copy link
Author

@ptitSeb - Indeed, if I move that file out, I am now getting further into the launch. It updated Steam (480 MB download), then launched! Yay :)

mv /home/pi/.local/share/Steam/ubuntu12_32/crashhandler.so ~/Downloads/

@geerlingguy
Copy link
Author

Closing this in favor of ptitSeb/box86#1012 since that's indeed the issue.

@Botspot
Copy link

Botspot commented Nov 16, 2024

@ptitSeb with the latest Box64/86 versions, is this crashhandler.so file removal still needed? If so, I could add it to the Pi-Apps steam launching script.

@ptitSeb
Copy link
Owner

ptitSeb commented Nov 16, 2024

@ptitSeb with the latest Box64/86 versions, is this crashhandler.so file removal still needed? If so, I could add it to the Pi-Apps steam launching script.

I'm unsure. It might help, but only 1 time. After that, it should just work.
It works fine on my side now, and the file is there.

@geerlingguy
Copy link
Author

geerlingguy commented Nov 22, 2024

@Botspot / @ptitSeb - I just did another new install (fresh Pi OS install, ran sudo apt full-upgrade to make sure everything on the Pi was upgraded, ran Pi-Apps installer, then Steam installer in Pi-Apps, and got the same exact error, so Steam won't launch:

Rename process to "steamerrorreporter"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
/share/Steam/linux32/steamerrorreporter[28018]: Uploading dump (out-of-process)
/tmp/dumps/assert_20241122092121_3.dmp
Error loading needed lib libcurl.so
Warning: Cannot dlopen("libcurl.so"/0x30017013, 2)
Using native(wrapped) libcurl.so.4

[28018]: Finished uploading minidump (out-of-process): success = yes
/share/Steam/linux32/steamerrorreporter[28018]: response: CrashID=bp-d190ad79-e891-4fed-8172-622112241122
/share/Steam/linux32/steamerrorreporter[28018]: file ''/tmp/dumps/assert_20241122092121_3.dmp'', upload yes: ''CrashID=bp-d190ad79-e891-4fed-8172-622112241122''

Again, running mv /home/pi/.local/share/Steam/ubuntu12_32/crashhandler.so ~/Downloads/ fixed the issue (or just deleting the file entirely).

@ptitSeb
Copy link
Owner

ptitSeb commented Nov 22, 2024

can pi-apps install script remove that file the 1st time? or is the sequence not ok for now? I'm unsure if this libs comes from extraction script or from a 1st download.

Side note: box32 is now usable (a bit) from steam. Box86 is still needed to run Steam, but a box64 build with box32 enabled (and without box32 binfmt integration) will be automaticaly used for 32bits games inside Steam. It can be used to run some Linux 32bits games (like 12 Labour of Hercules VI, a casual game, or Geometry War 3), some opengl windows games (like Geometry Dash), or even Half Life 2 somehow... and so using 64bits driver, enabling hardware acceleration on NVidia GPU for example. Still experiemental and many things don't work, but it's a nice option to have already on Ampere (and Swtich/NVidia SBCs too I guess).

@geerlingguy
Copy link
Author

I think if it removes that file 1st time, it should be okay. It just silently dies if you try launching Steam from the UI for now.

Botspot added a commit to Botspot/pi-apps that referenced this issue Nov 22, 2024
Remove crashhandler.so as referenced in
ptitSeb/box64#2021
Add back the desktop launcher in the original location to prevent file
copying failure and error exit
@Botspot
Copy link

Botspot commented Nov 22, 2024

This commit that I pushed 1 minute ago ought to solve the problem.
Botspot/pi-apps@391b491
It removes crashhandler.so from /usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz so that file is never created when steam extracts it on first run. Do note that an update to steam.deb from its apt repo will overwrite this change, but crashhandler.so seems to only need to be missing on first run, so it should be fine.

@geerlingguy
Copy link
Author

@Botspot thanks! I will have to give it a try soon!

theofficialgman added a commit to cobalt2727/L4T-Megascript that referenced this issue Nov 23, 2024
Remove crashhandler.so as referenced in ptitSeb/box64#2021

Add back the desktop launcher in the original location to prevent file copying failure and error exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants