ValveSoftware / steam-runtime

A runtime environment for Steam applications
Other
1.19k stars 86 forks source link

Input/output error with i386-linux-gnu/libgudev-1.0.so.0.3.0 blocking steamwebhelper #689

Closed Aqyv closed 2 months ago

Aqyv commented 2 months ago

Your system information

Please describe your issue in as much detail as possible:

Until yesterday Steam was starting and running just fine, but since today I can no longer start Steam, as I'm always greeted with a message regarding Steamwebhelper not responding.

No matter which option I choose, e.g. restarting Steam or the webhelper, I still get the same result

Steps for reproducing this issue:

  1. Starting Steam
  2. Waiting until the message appears that Steamwebhelper is not responding
kisak-valve commented 2 months ago

Hello @Aqyv, pressure-vessel-wrap[5915]: E: Could not create copy "./lib/i386-linux-gnu/libgudev-1.0.so.0.3.0" from "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/sniper_platform_0.20240423.85483/files/./lib/i386-linux-gnu/libgudev-1.0.so.0.3.0" into "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/var/tmp-WIC5S2/usr": fstatat(./lib/i386-linux-gnu/libgudev-1.0.so.0.3.0): Input/output error in your webhelper-linux.txt log hints that you're seeing either a Pressure Vessel or filesystem issue, so I've transferred this issue report to the steam-runtime issue tracker for a runtime dev to ponder with you.

smcv commented 2 months ago

Input/output error usually indicates a filesystem error (filesystem corruption or a serious problem with the storage device).

What filesystem is /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/var on? (Is it perhaps a networked filesystem like NFS/SMB, or a non-Unix filesystem like NTFS/FAT/SMB, or a filesystem with unusual semantics like overlayfs?)

Distribution (e.g. Ubuntu): Bazzite

This seems to be a Fedora Atomic derivative.

smcv commented 2 months ago

If you completely exit from Steam, then rename /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper out of the way:

mv /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper \
   /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689

and re-launch Steam, does that change anything?

If that works, the next step would be to compare steam-runtime-sniper.sr689 with steam-runtime-sniper to find out what, if anything, changed.

It would also be useful to verify that your SSD/HDD is working correctly (for example your distribution probably installs the GNOME Disks tool, which can check disk health via the SMART interface), and check whether there are any filesystem errors (try asking your distribution's support channels for advice).

Aqyv commented 2 months ago

Replying to https://github.com/ValveSoftware/steam-runtime/issues/689#issuecomment-2298733765

Thanks: renaming did the trick and Steam is starting and working normally again.

smcv commented 2 months ago

So that we can understand what went wrong for you, please compare steam-runtime-sniper.sr689 with steam-runtime-sniper (for example with diff -ru) to find out what, if anything, changed.

Or you could try running /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/pressure-vessel/bin/pv-verify in a terminal - that will do an integrity check on it.

smcv commented 2 months ago

It would also be useful to know whether you get any error messages in the system log (sudo journalctl -f in another terminal) while running /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/pressure-vessel/bin/pv-verify. If there is a problem with the disk or filesystem, it should show up there.

Aqyv commented 2 months ago

Output for /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/pressure-vessel/bin/pv-verify:

daedalus@bazzite:~$ /var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/pressure-vessel/bin/pv-verify pv-verify[174678]: W: Unable to read "lib/i386-linux-gnu/libgtk-3.so.0.2404.20" in "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files": Input/output error pv-verify[174678]: W: Unable to open regular file "lib/i386-linux-gnu/libgudev-1.0.so.0.3.0" in "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files": openat(libgudev-1.0.so.0.3.0): Input/output error pv-verify[174678]: W: Unable to open regular file "lib/i386-linux-gnu/libharfbuzz.so.0.20704.0" in "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files": openat(libharfbuzz.so.0.20704.0): Input/output error pv-verify[174678]: W: Unable to open regular file "lib/i386-linux-gnu/libhogweed.so.6.4" in "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files": openat(libhogweed.so.6.4): Input/output error pv-verify[174678]: W: Unable to open regular file "lib/i386-linux-gnu/libibus-1.0.so.5.0.523" in "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files": openat(libibus-1.0.so.5.0.523): Input/output error pv-verify[174678]: W: Unable to open regular file "lib/i386-linux-gnu/libicudata.so.67.1" in "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files": openat(libicudata.so.67.1): Input/output error pv-verify[174678]: W: Verifying "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/files" with "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/sniper_platform_0.20240423.85483/usr-mtree.txt.gz" failed pv-verify[174678]: E: Verifying "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689" with "/var/home/daedalus/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sr689/mtree.txt.gz" failed

Output for sudo journalctl -f while doing the above:

Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 1 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 2 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 1 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 2 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 1 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 2 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 1 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 2 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 1 wanted 23405 found 7021 Aug 20 17:31:52 bazzite kernel: BTRFS error (device nvme0n1p3): parent transid verify failed on logical 67403776 mirror 2 wanted 23405 found 7021

smcv commented 2 months ago

Thanks, from that journalctl output it looks as though there is filesystem corruption, affecting a random subset of the files in the runtime. This could either be caused by a software bug in the Linux kernel (the wrong data being stored), or by a hardware fault (your HDD or SSD not storing what the Linux kernel asked it to store).

Either way, this is outside Steam's control, and not something that Steam can fix. Please contact your OS vendor's support channels.

(The good news is that btrfs has a lot of data verification, so anything that you can still read successfully was probably stored correctly, and hopefully you haven't lost a significant amount of data.)