steam-for-linux icon indicating copy to clipboard operation
steam-for-linux copied to clipboard

Webhelper does not start because usr-mtree.txt.gz seems broken

Open ramonpin opened this issue 1 year ago • 2 comments

Your system information

  • Steam Beta Branch: Stable Client
  • Steam Version: 1718305227
  • Steam Client Build Date: Thu, Jun 13 20:39 UTC -08:00
  • Steam Web Build Date: Thu, Jun 13 18:50 UTC -08:00
  • Steam API Version: SteamClient021
  • Distribution: Linux Mint 20.3 Una
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • GPU: Intel
  • Steam Logs: steam-logs.tar.gz

Please describe your issue in as much detail as possible:

After client update it seems the soldier runtime has been updated. New version refuses to start because webhelper seems to crash every time.

After looking in the logs I found:

steamwebhelper.sh[6754]: Starting steamwebhelper with Sniper steam runtime at /home/ramon/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/_v2-entry-point
pressure-vessel-wrap[6775]: E: While reading a line from /home/ramon/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/sniper_platform_0.20240423.85483/usr-mtree.txt.gz: Se necesita más entrada

It seems file usr-mtree.txt.gz is somehow not readable.

I tried to gunzip and gzip again and it started to work properly.

Steps for reproducing this issue:

  1. Remove folder $HOME/.local/share/Steam/ubuntu12_64
  2. Restart steam client and let it to download the soldier runtime again
  3. Error about usr-mtree.txt.gz somehow not readable shows
  4. gunzip a gzip file again
  5. Restart client

ramonpin avatar Jun 17 '24 19:06 ramonpin

After client update it seems the soldier runtime has been updated

sniper runtime, not soldier.

Se necesita más entrada

This appears to be the translation of the English message "Need more input" from GLib's gzlibdecompressor, which is used to uncompress and check that file. This could indicate that your copy of that file has been corrupted or truncated or something, or it could possibly be a GLib bug.

What is the output of these commands?

sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.sh
sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.tar.xz
sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt
cat ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt

If you unpack ~/.steam/root/ubuntu12_64/steam-runtime-sniper.tar.xz into a temporary location, what is the sha256sum of the file sniper/SteamLinuxRuntime_sniper/sniper_platform_*/usr-mtree.txt.gz in the newly unpacked copy? And does it match the sha256sum of the file of the same name in ~/.steam/root/ubuntu12_64/steam-runtime-sniper/?

If you completely exit from Steam, then rm -r ~/.steam/root/ubuntu12_64/steam-runtime-sniper and launch Steam again, does the problem come back?

smcv avatar Jun 19 '24 12:06 smcv

Distribution: Linux Mint 20.3 Una

I think this is based on Ubuntu 20.04 'focal'. Is that correct?

(There are newer versions available, so I'd recommend upgrading - although that's not necessarily closely related to this issue.)

smcv avatar Jun 19 '24 12:06 smcv

I just hit this issue on my steam deck on the stable channel after installing an update. Bog standard Steam Deck and SteamOS, no custom distro. The Steam UI was simply stuck at 'Verifying Installation' until I plugged in an external keyboard and booted into plasma. Don't have logs I can share easily, but I do know that the ~/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/sniper_platform_*/usr-mtree.txt.gz file had a size of 0 bytes. Deleting the whole steam-runtime-sniper folder and restarting steam did fix the problem. It would be nice if Steam could auto-recover from this situation though.

smmalis37 avatar Nov 18 '24 02:11 smmalis37

Don't have logs I can share easily, but I do know that the ~/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/sniper_platform_*/usr-mtree.txt.gz file had a size of 0 bytes.

That's interesting information. As far as I'm aware, the order we do things in should be correct to avoid this (we're careful to do the unpack into a temporary directory, and we don't rename it to its final name until everything has been unpacked successfully) but I'll re-check the script to see whether there's a way we could have reached this error state.

smcv avatar Nov 19 '24 11:11 smcv

Having that file somehow end up 0 bytes long would be consistent with my theory that "your copy of that file has been corrupted or truncated or something" for the OP.

smcv avatar Nov 19 '24 11:11 smcv

The problem has happened to me as well.

What is the output of these commands?

sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.sh
sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.tar.xz
sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt
cat ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt
$ sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.sh
76fe0f698ee093faf5930eea0218087e4b42c426f53e15a69139a4923b6e5c35  ~/.steam/root/ubuntu12_64/steam-runtime-sniper.sh

$ sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.tar.xz
002f805364ed4e74b467cd3d00b424f42cc4ec962ba4b50407f29e8beea50508  ~/.steam/root/ubuntu12_64/steam-runtime-sniper.tar.xz

$ sha256sum ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt
64ca0c98e352ca0ff40042f5432dc78dcc6a96b26ddfb00533812b82d0a03f1d  ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt

$ cat ~/.steam/root/ubuntu12_64/steam-runtime-sniper.version.txt
#Name	Version		Runtime	Runtime_Version	Comment
depot	3.0.20250210.116596			# Overall version number
pressure-vessel	0.20250122.0	scout		# pressure-vessel-bin.tar.gz
scripts	0.20250122.0			# from steam-runtime-tools
sniper	3.0.20250210.116596	sniper	3.0.20250210.116596	# sniper_platform_3.0.20250210.116596/

If you unpack ~/.steam/root/ubuntu12_64/steam-runtime-sniper.tar.xz into a temporary location, what is the sha256sum of the file sniper/SteamLinuxRuntime_sniper/sniper_platform_*/usr-mtree.txt.gz in the newly unpacked copy? And does it match the sha256sum of the file of the same name in ~/.steam/root/ubuntu12_64/steam-runtime-sniper/?

$ sha256sum usr-mtree.txt.gz
77a4a0ea300f8c47f1df4c9751dd7dab04d908d5a6806c8bcf35a035afeda977  usr-mtree.txt.gz

If you completely exit from Steam, then rm -r ~/.steam/root/ubuntu12_64/steam-runtime-sniper and launch Steam again, does the problem come back?

That indeed fixes the problem, thank you :)

$ steam
[ ... ]
steam.sh[9394]: Using supervisor /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
steam-runtime-sniper.sh[9483]: Extracting /home/user/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.tar.xz to /home/user/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.new
[ ... ]

amrsoll avatar Apr 02 '25 16:04 amrsoll