protonscr

libgpg-error.so.0: cannot stat shared object: Value too large for defined data type

steamclosed Distro Family: openSUSE
ValveSoftware/steam-for-linux#7899 · opened 2021-07-03 by whew-inc · updated 2021-07-06 · 6 comments · github
Wwhew-inc 2021-07-03 github

Your system information

  • Steam client version (build number or date): 03/07/2021 updated Steam to beta
  • Distribution: OpenSUSE Tumbleweed
  • Opted into Steam client beta?: Yes, in an attempt to fix this
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Running steam gives me this:

whew-inc@Desktop-Inc:~$ steam
Running Steam on opensuse-tumbleweed 20210629 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libc.so.6
Steam client's requirements are satisfied
WARNING: Using default/fallback debugger launch
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam
[2021-07-03 18:27:45] Startup - updater built Jun  8 2021 22:23:36
Installing breakpad exception handler for appid(steam)/version(1623193086)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2021-07-03 18:27:45] Loading cached metrics from disk (/home/whew-inc/.local/share/Steam/package/steam_client_metrics.bin)
[2021-07-03 18:27:45] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2021-07-03 18:27:45] Using the following download hosts for Public, Realm steamglobal
[2021-07-03 18:27:45] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
Installing breakpad exception handler for appid(steam)/version(1623193086)
[2021-07-03 18:27:45] Checking for update on startup
[2021-07-03 18:27:45] Checking for available updates...
[2021-07-03 18:27:45] Downloading manifest: http://media.steampowered.com/client/steam_client_ubuntu12
Installing breakpad exception handler for appid(steam)/version(1623193086)
[2021-07-03 18:27:45] Download skipped: /client/steam_client_ubuntu12 version 1623193086, installed version 1623193086, existing pending version 0
[2021-07-03 18:27:45] Nothing to do
[2021-07-03 18:27:45] Verifying installation...
[2021-07-03 18:27:45] Performing checksum verification of executable files
[2021-07-03 18:27:46] Verification complete
Failed to load steamui.so - dlerror(): libgpg-error.so.0: cannot stat shared object: Value too large for defined data type
[2021-07-03 18:27:47] Shutdown
Installing breakpad exception handler for appid(steam)/version(1623193086)
Installing breakpad exception handler for appid(steam)/version(1623193086)

I tried:
steam --reset
The same command but after deleting .steam and ~/.local/share/Steam
LD_PRELOAD=/usr/lib/libc.so.6 steam gives ERROR: ld.so: object '/usr/lib/libc.so.6' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Reinstalling glibc-32bit
Installing Steam from the Steam website after converting it to .rpm using alien
Switching Steam to beta and doing the same thing again
It used to ignore the error and continue anyway, but then it told me it's missing a library. I install the library, start Steam and then it's a different missing library. Rinse and repeat until it got to libgpg-error.so.0 which I couldn't find in the repos.

Steps for reproducing this issue:

  1. Launch Steam

Steam was working fine for a long time, until yesterday after restarting Steam.

I remember doing these unorthodox things when it happened:
I set the system date to somewhere ~2100 for a short time and then back
I accidentally pressed the Steam VR button, and then quickly quit steam using the tray button. Right after that I started Steam again and this issue appeared.

Operating System: openSUSE Tumbleweed 20210629
KDE Plasma Version: 5.22.2
KDE Frameworks Version: 5.83.0
Qt Version: 5.15.2
Kernel Version: 5.11.10-2.gfa5dcf1-default (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 2700X Eight-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX 5700 XT
Kkisak-valve maintainer 2021-07-03 github

Hello @whew-inc, in general, Steam needs the host system to provide 32 bit and 64 bit of both libc and OpenGL drivers. The Steam runtime should provide basic coverage for the rest of the libraries used by the Steam client. Running the Ubuntu-intended Steam package through alien sounds abnormal for OpenSUSE Tumbleweed. I would have expected you to use the distro-maintained variant instead.

Wwhew-inc 2021-07-03 github

Hello @whew-inc, in general, Steam needs the host system to provide 32 bit and 64 bit of both libc and OpenGL drivers. The Steam runtime should provide basic coverage for the rest of the libraries used by the Steam client. Running the Ubuntu-intended Steam package through alien sounds abnormal for OpenSUSE Tumbleweed. I would have expected you to use the distro-maintained variant instead.

Hi!
I was using Steam from the repos. It was an attempt to solve this issue. Currently Steam is installed from the distro repo.
Both glibc and glibc-32bit packages are installed.

Wwhew-inc 2021-07-03 github

It seems the log was so short because the missing libc popup was in the background.

I put the full log in the issue.

Kkisak-valve maintainer 2021-07-03 github

Failed to load steamui.so - dlerror(): libgpg-error.so.0: cannot stat shared object: Value too large for defined data type looks like the critical detail in your log.

Apparently we've seen a similar snafu at #7672. I suspect that the system-wide library has been damaged somehow.

Before anything else, I recommend doing a filesystem check on your drive(s) to make sure they are sane, then search for system-wide libgpg-error.so.0 and find what package it belongs to (there may be both a 32 bit and 64 bit variant to check) and reinstall that system package.

Unfortunately, I'm not that familiar with OpenSUSE to give distro-specific instructions.

Wwhew-inc 2021-07-03 github

I checked the FS using btrfs scrub and btrfs check. Only some qgroup issues which are not relevant or critical.

No, I believe the issue lies in setting the time to a very distant year. Probably related to Steam not being able to handle time past 32-bit range.

Out of curiosity, I set the system time to 2100 again and ran Steam:

Steam log 1:

whew-inc@Desktop-Inc:~$ steam
Running Steam on opensuse-tumbleweed 20210629 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libc.so.6
Steam client's requirements are satisfied
WARNING: Using default/fallback debugger launch
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam: error while loading shared libraries: libdl.so.2: cannot stat shared object: Error 75

libdl.so.2 is part of glibc(-32bit) package:

whew-inc@Desktop-Inc:~$ zypper se --provides --match-exact libdl.so.2
S  | Name        | Summary                                            | Type
---+-------------+----------------------------------------------------+--------
i+ | glibc       | Standard Shared Libraries (from the GNU C Library) | package
i+ | glibc-32bit | Standard Shared Libraries (from the GNU C Library) | package

Curious, I already have this installed. I set the time back to 2021 and forced a reinstallation using zypper in -f glibc-32bit.
I run Steam again:

Steam log 2:

whew-inc@Desktop-Inc:~$ steam
Running Steam on opensuse-tumbleweed 20210629 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libc.so.6
Steam client's requirements are satisfied
WARNING: Using default/fallback debugger launch
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam: error while loading shared libraries: libstdc++.so.6: cannot stat shared object: Error 75

Now libstdc++.so.6 is missing.

So instead of installing the related library, I set the system time back to 2100 again, and ran Steam:

Steam log 3:

Running Steam on opensuse-tumbleweed 20210629 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libc.so.6
Steam client's requirements are satisfied
WARNING: Using default/fallback debugger launch
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam
/home/whew-inc/.local/share/Steam/ubuntu12_32/steam: error while loading shared libraries: libdl.so.2: cannot stat shared object: Error 75

Same missing library again like in log 1.

Checking the library file, the access timestamp is set to a date in the year 2100.

Running touch -a ./libdl.so.2 and running steam again produces log 2. Running the command & steam again makes steam fail on libpthread.so.0.

I guess this is Steam's inability to load files with a timestamp beyond the 32-bit range.

Not sure what to do now. Should I touch the whole system? Seems dangerous.

Wwhew-inc 2021-07-03 github

I ran this command: sudo find / -type f -exec touch -a {} +
This touches every file in the system, overwriting the access timestamp with the current time.

I then reinstalled Steam, deleted ~/.steam & ~/.local/share/Steam and now it works. Finally!

Nothing extracted yet.