ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

Steam does not start with dbus: Failed to stat machine-id Value too large for defined data type #9605

Open Madeleaan opened 1 year ago

Madeleaan commented 1 year ago

Your system information

Steps for reproducing this issue:

  1. Launch steam on arch
  2. ???
  3. Profit from crash
Scumi commented 1 year ago

Same on Mint 21.1.

hmpfkafka commented 1 year ago

ughhh same on arch. just throw the whole damn client in the trash and start from scratch.

gulduar commented 1 year ago

Same issue here.

Steam client version (build number or date): 1.0.0.78-1 Distribution (e.g. Ubuntu): Arch Linux 6.3.8-arch1-1 Opted into Steam client beta?: No Have you checked for system updates?: Yes

The steam client and associated games were working this morning before the update. Steam runtime and running from the command line both fail to launch. I also tried reinstalling steam but the issue persists.

The output from the steam command can be viewed in this gist

kisak-valve commented 1 year ago

Hello @gulduar, give the discussion on #9321 a read and see if it's relevant to your system.

TeddyBearKilla commented 1 year ago

Similar issue.

Steam client version (build number or date): 1.0.0.78-1 Distribution: Arch Linux 6.3.8-arch1-1, also tested lts 6.1.34-1 Opted into Steam client beta?: Yes, running -clearbeta also fails Have you checked for system updates?: Yes

The steam client and associated games were working this morning before the update. Steam application from the app list and running from the command line both fail to launch. I also tried reinstalling steam but the issue persists.

The output from the steam command can be viewed in this gist

gulduar commented 1 year ago

Hello @gulduar, give the discussion on #9321 a read and see if it's relevant to your system.

Hi @kisak-valve. I read through that discussion and it seems that xdg-desktop-portal-gnome was the issue for me as well. I removed that and steam now launches again and games are running normally. Thank you very much for linking that!

Soulprayer79 commented 1 year ago

I'm using EndeavourOS and XFCE. After I've downgraded my nvidia to 530.41.03 it worked again.

kisak-valve commented 1 year ago

Hello @TeddyBearKilla, https://github.com/ValveSoftware/steam-for-linux/issues/9600#issuecomment-1593272815 is relevant to your system.

AltinaXIV commented 1 year ago

@kisak-valve though removing xdg-desktop-portal-gnome is a work around, it's hardly a good solution. Can you confirm that this is being worked on by valve?

xDShot commented 1 year ago

Removing xdg-desktop-portal-gnome is not good solution. Part of installed software rely on this.

Brottweiler commented 1 year ago

@kisak-valve though removing xdg-desktop-portal-gnome is a work around, it's hardly a good solution. Can you confirm that this is being worked on by valve?

I don't even have xdg-desktop-portal-gnome installed. I use xdg-desktop-portal-lxqt, and removing that does not fix the issue. Unless this is two different issues, one regarding nvidia 32-bit package and one regarding the xdg-desktop-portal-gnome.

heiner73 commented 1 year ago

Same problem here since the update yesterday(?!)...

Steam client version (build number or date): /client/steam_client_ubuntu12 version 1686779606, installed version 1686779606, Distribution (e.g. Ubuntu): ubuntu 22.04 64-bit Opted into Steam client beta?: No Have you checked for system updates?: Yes

CPU + GPU is AMD

TeddyBearKilla commented 1 year ago

Hello @TeddyBearKilla, #9600 (comment) is relevant to your system.

Thank you very much, up & running again.

2023-06-15_14-18

Screenshot_20230615_141950

dsalt commented 1 year ago

Seeing that @gulduar has this being reported:

src/steamUI/steamuisharedjscontroller.cpp (450) : Failed creating offscreen shared JS context

That looks exactly like the problem which I have (which is worked around by using Steam's -no-cef-sandbox option, and so far as I can tell has nothing to do with XDG portal packages, none of which are installed here).

RobCod commented 1 year ago

+1 see my bug report

On arch

AltinaXIV commented 1 year ago

update - this worked for me

sudo apt reinstall xdg-desktop-portal-gnome
sudo apt reinstall xdg-desktop-portal-gtk
amini-allight commented 1 year ago

This is happening for me as well. It started once after the update but after I tried to change accounts it didn't launch anymore. I get

src/steamUI/steamuisharedjscontroller.cpp (450) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (450) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (450) : Fatal assert; application exiting
src/steamUI/steamuisharedjscontroller.cpp (450) : Fatal assert; application exiting

in the console and then an assertion failure. Seems to be the same as #9321 . It occurs under both Wayland & X11 and removing xdg-desktop-portal-gnome and xdg-desktop-portal-gtk hasn't fixed it. I was able to get to launch once by running Steam inside of a debugger but I couldn't reproduce that. steam -reset doesn't work either, neither does manually cleaning out the Steam folder and forcing a reinstall. Launching with -cef-no-sandbox, --no-browser or steam://open/minigameslist all don't work.

AltinaXIV commented 1 year ago

@amini-allight have you tried lauching steam with integrated graphics? I hear that that is working for some people.

amini-allight commented 1 year ago

@GioPanaro I only have the extremely weak integrated graphics included in Ryzen 7000 and I haven't been able to get video out of it at all.

jezekus commented 1 year ago

Same issue here.

Steam client version (build number or date): /client/steam_client_ubuntu12 version 1686779606 Distribution (e.g. Ubuntu): Fedora 38 6.3.7-200.fc38.x86_64 Opted into Steam client beta?: No Have you checked for system updates?: Yes Hardware: AMD Ryzen 5 PRO 4650U with Radeon Graphics

The steam client and associated games were working yesterday before the update. Launching Steam from menu and running from the command line both fail to launch. I have tried steam -reset but with same result.

The output from the steam command including error can be viewed in this gist

0x5066 commented 1 year ago

Crashing as well, running EndeavourOS on XFCE with Linux 6.3.7-arch1-1. Launching with Steam (Native) worked this morning (Berlin time), and now it doesn't. Trying to run Steam through the terminal with -no-cef-sandbox does not fix it at all, as I'm still getting the JS stuff in the terminal. Steam client version (build number or date): /client/steam_client_ubuntu12 version 1686779606

(process:113810): GLib-GObject-CRITICAL **: 21:21:14.054: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(process:113810): GLib-GObject-CRITICAL **: 21:21:14.054: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Loaded SDL version 3.0.0-1735-g2e465ae31

(steam:113810): Gtk-WARNING **: 21:21:14.087: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Windows XP Luna/gtk-2.0/gtkrc:1391: error: unexpected identifier 'direction', expected character '}'
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xec5dbdb0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xec5da500
GetWin32Stats: display was not open yet, good
ComputeStartupMode: found registry default startup mode: 0
Switching to desktopui, since -vgui was not specified
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[113894]: Runtime for steamwebhelper: defaulting to /home/erisl/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[113894]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
steamwebhelper.sh[113894]: CEF sandbox already disabled
CAppInfoCacheReadFromDiskThread took 37 milliseconds to initialize
src/steamUI/steamuisharedjscontroller.cpp (450) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (450) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (450) : Fatal assert; application exiting
src/steamUI/steamuisharedjscontroller.cpp (450) : Fatal assert; application exiting

CPU: AMD Ryzen 9 5900X 12-Core @ 24x 3.7GHz GPU: AMD Radeon RX 6750 XT (navi22, LLVM 15.0.7, DRM 3.52, 6.3.7-arch1-1)

Edit: Installing xdg-desktop-portal-gtk fixed the issue, for now, but why is this now needed? Edit2: Steam (Native) works, Steam (Runtime) does not still.

GDGooD commented 1 year ago

Have the same issue.

Steam client version (build number or date): 1686779606 Distribution (e.g. Ubuntu): Arch Linux x86_64 Opted into Steam client beta?: No Have you checked for system updates?: Yes Hardware: AMD Ryzen 5 + Radeon RX480

Steam failed to start today, but yesterday everything were fine. Gist

Kan1shak commented 1 year ago

Steam client version: 1686779606 Distribution: Arch Linux 6.1.32-1-lts Opted into Steam client beta?: No Have you checked for system updates?: Yes Hardware: AMD Ryzen 9 + Radeon RX6700M

Launching steam with the integrated gpu works normally. But when I try to launch steam with the dedicated gpu using DRI_PRIME=1, it fails to load UI. Launching with -vgui works but friends network fails to load.

Uninstalling xdg-desktop-portal-gnome and xdg-desktop-portal-gtk didn't fix the issue.steam -reset and -cef-no-sandbox didn't work either.

kisak-valve commented 1 year ago

Hello @Kan1shak, your issue is being tracked at #9383 instead of this issue report.

I'd like to emphasize that the majority of the feedback on this issue report looks like it's unrelated to @Madeleaan's opening post. Only @jezekus appears to have the exact same issue.

The common hint being: dbus[#]: D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to stat "/var/lib/dbus/machine-id": Value too large for defined data type; Failed to stat "/etc/machine-id": Value too large for defined data type)

This issue report is not a catch-all for the most recent Steam client update and the other issues discussed here should be discussed on the separate relevant issue reports.

netpok commented 1 year ago

Same problem here on Linux Mint 21.1

Steam client version (build number or date): /client/steam_client_ubuntu12 version 1686779606 Distribution (e.g. Ubuntu): Linux Mint 21.1 Cinnamon with 6.1.0-1013-oem kernel Opted into Steam client beta?: No Have you checked for system updates?: Yes Hardware: AMD Ryzen 7 PRO 5850U with Radeon Graphics

Error from steam command: gist

Also tried to "lower" the /etc/machine-id by removing most of the characters, did not help.

Gamebuster19901 commented 1 year ago

Having the same issue, which occurred right after I updated. It does not appear to be limited to just Arch, as I use Ubuntu.

sysout contains dbus[572781]: D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to stat "/var/lib/dbus/machine-id": Value too large for defined data type; Failed to stat "/etc/machine-id": Value too large for defined data type)

Steam client version (build number or date): built Jun 14 2023 20:16:17 Distribution (e.g. Ubuntu): Ubuntu 22.04.2 LTS with 5.19.0-43-generic kernal Opted into Steam client beta?: No Have you checked for system updates?: No Hardware: AMD Ryzen 9 3900X (24) @ 3.800GHz, NVIDIA GeForce RTX 3080

Full output located here

jezekus commented 1 year ago

Tried this now and steam client updated to version 1686880776 Getting same error

Full output here

RobCod commented 1 year ago

sudo pacman -Rns xdg-desktop-portal-gnome

This will allow steam to launch, same error as #9588

jezekus commented 1 year ago

Unfortunately no, I don't have xdg-desktop-portal-gnome installed at all, I use xdg-desktop-portal-gtk, but even with both packages removed it does not work and end with same error as stated above.

netpok commented 1 year ago

Unfortunately still the same after update, I also don't have xdg-desktop-portal-gnome.

xdg-desktop-portal-gtk cannot be removed as steamdeps will reinstall it.

To be honest even if that would fix it, removal of unrelated packages cannot be considered as a fix since that would make other packages unusable.

Madeleaan commented 1 year ago

sudo pacman -Rns xdg-desktop-portal-gnome

This will allow steam to launch, same error as #9588

There are programs like lutris that have the portal as their dependency...

Madeleaan commented 1 year ago

I would also just like to point out, running steam with -vgui results in the same error

Gamebuster19901 commented 1 year ago

Updated workaround for this issue:

  1. Ensure system time is correct
  2. Run sudo touch -c /etc/machine-id
  3. If on a debian system, run sudo touch -c /var/lib/dbus/machine-id

If these steps do not work, please comment below with the output of the following commands:

stat /etc/machine-id stat /var/lib/dbus/machine-id

Old Workaround, unnecessary and not recommended. ## VALVE EDIT: This workaround is not recommended, it will have undesired side effects on your system. See this comment instead for a different recommendation: https://github.com/ValveSoftware/steam-for-linux/issues/9605#issuecomment-1597695137 ## Workaround this issue - Steps to regenerate your machine id: While these steps worked to resolve this issue for me, **I make no guarantee that it will work for your system**, or that it won't break your system. The steps below **WILL NOT WORK** for any of the issues marked off-topic above. If the terminal output when trying to launch steam does not contain `Failed to stat "/var/lib/dbus/machine-id": Value too large for defined data type`, do not perform these steps! 1. Open a terminal 2. run `sudo rm -f /etc/machine-id` (VALVE EDIT: This workaround is not recommended, it will have undesired side effects on your system.) 4. run `sudo dbus-uuidgen --ensure=/etc/machine-id` 5. If you're NOT on a debian system, skip to step 7 6. run `sudo rm /var/lib/dbus/machine-id` 7. run `sudo dbus-uuidgen --ensure` 8. _**Shut down**_ the system completely (a restart might not be sufficient). _**Do not**_ continue running the system. 9. Boot the system. 10. Launch steam You can find more information about this procedure here: https://unix.stackexchange.com/a/403054/538239 Request from valve: "If you're going to invalidate and replace /etc/machine-id, please copy the value ahead of time and share what Steam had a hard time with (after you're no longer using that value, the working replacement is not interesting in terms of troubleshooting)."
itsygithub commented 1 year ago

Many thanks for thisinstruction - this works for me!

LicoMonch commented 1 year ago

Workaround this issue - Steps to regenerate your machine id:

..

You can find more information about this procedure here: https://unix.stackexchange.com/a/403054/538239

thank you, that worked for my affected Fedora 38 system

kisak-valve commented 1 year ago

If you're going to invalidate and replace /etc/machine-id, please copy the value ahead of time and share what Steam had a hard time with (after you're no longer using that value, the working replacement is not interesting in terms of troubleshooting).

Madeleaan commented 1 year ago

If you're going to invalidate and replace /etc/machine-id, please copy the value ahead of time and share what Steam had a hard time with (after you're no longer using that value, the working replacement is not interesting in terms of troubleshooting).

The regenerating machine-id method worked. The old one is 01bec1201eae48818a8ca29b25db895a. Hope that helps in further troubleshooting of the issue!

jezekus commented 1 year ago

Thank you @Gamebuster19901 this helped me also on Fedora 38.

My original machine-id was d55b812d2bea42dc80ca3df15d361362

dsalt commented 1 year ago

Both of the old IDs given above match what I have here in that they're 32-digit hexadecimal numbers (so the old file's length should be 33 bytes, the extra byte being an LF).

oneoa commented 1 year ago

Hello! Same issue on Fedora 37:

dbus[9363]: D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to stat "/var/lib/dbus/machine-id": Value too large for defined data type; Failed to stat "/etc/machine-id": Value too large for defined data type)

Full log: https://gist.githubusercontent.com/oneoa/7334a3fcd408a1d350dd458ffce3fdfc/raw/5ae968311faded048c53981b999b6ac6453295ff/steam_client_version_1686880776_crash_log.txt

Hex dump of /etc/machine-id:

00000000: 3839 6666 3632 3765 6636 6365 3436 3033  89ff627ef6ce4603
00000010: 6132 3763 3662 3930 3238 3630 6239 6630  a27c6b902860b9f0
00000020: 0a                                       .

I haven't made any changes to the OS since the crash. Let me know if more info is needed.

OvermindDL1 commented 1 year ago

Same issue, resetting the UUID by generating a new one from dbus-uuidgen fixed it, the old and the new were the same length. My old one was 081e3238a9ed4634a3ec2d5a75a98b9c (33 byte file in total, made up of that ascii as well as a newline). I notice one of the above ones started with a 0 as well, wonder if a bad parser is hitting it or something. Though one of the others prior did not start with a 0. But still, two of 3 starting with a 0 is a fairly low chance for this, need some more non-working values though...

EDIT: And for note, my new one does not start with a 0, still a 33 byte sized file.

lostgoat commented 1 year ago

The file that is causing trouble is most likely /var/lib/dbus/machine-id, but it seems like some of the dumps here are for /etc/machine-id

If anyone is still running into issues it would be good to check the value for /var/lib/dbus/machine-id on your system and paste it here. Hexdumps like @oneoa 's are probably the best format. E.g. via hexdump /var/lib/dbus/machine-id

kkurczewski commented 1 year ago

On Ubuntu /var/lib/dbus/machine-id is symlink to /etc/machine-id:

$ ls -l /var/lib/dbus/machine-id
lrwxrwxrwx 1 root root 15 lut  4  2018 /var/lib/dbus/machine-id -> /etc/machine-id

My old value was:

$ cat ~/machine-id
882fa37e9a9c4a34a5e7cc9324b68939

$ hexdump ~/machine-id 
0000000 3838 6632 3361 6537 6139 6339 6134 3433
0000010 3561 3765 6363 3339 3432 3662 3938 3933
0000020 000a                                   
0000021

And after regenerating it (which helped) I got:

$ cat /etc/machine-id
226346f2a42a7a877212db076490a2db

$ hexdump /etc/machine-id
0000000 3232 3336 3634 3266 3461 6132 6137 3738
0000010 3237 3231 6264 3730 3436 3039 3261 6264
0000020 000a                                   
0000021

Side note, initially I thought crash is caused by GLib, I still have those "critical" errors but seems those are not affecting Steam:

(process:4915): GLib-GObject-CRITICAL **: 20:54:08.175: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
lostgoat commented 1 year ago

Actually, the contents of the file is most likely not the issue.

I suspect it is a metadata field in the file that is the problem since the stat() call is what is failing in libdbus here: https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/dbus/dbus-file-unix.c#L95

And for errno 75/EOVERFLOW we seem to have the following documented error conditions:

If you run into this error, please collect this info instead:

stat /var/lib/dbus/machine-id
stat /etc/machine-id
smcv commented 1 year ago

Yes, what @lostgoat said. The error "Value too large for defined data type" is most likely to be referring to the "inode number" of the file containing the machine ID, and not the content of the machine ID itself.

Regarding https://github.com/ValveSoftware/steam-for-linux/issues/9605#issuecomment-1595601706:

2. run `sudo rm -f /etc/machine-id`
3. run `sudo dbus-uuidgen --ensure=/etc/machine-id`

I don't think this is the right workaround, and changing the machine ID is quite a destructive thing to do. If this works, it'll only be working by coincidence.

To people who are experiencing this crash: do you have your operating system's 32-bit version of libdbus installed?

If not, try installing it. If that works, it'll be a much safer workaround than changing the machine ID. On Arch the package to install is lib32-dbus, on Debian/Ubuntu it's libdbus-1-3:i386; other distributions will vary. I don't know how Fedora spells that, possibly dbus-libs.i686?

Or if you already have the OS's 32-bit libdbus installed, please report what version it is (any version 1.12.x or later should be good). If you can check its contents with objdump -T -x /usr/lib32/libdbus-1.so.3 | grep stat (or /usr/lib/i386-linux-gnu/libdbus-1.so.3 on Debian/Ubuntu, or /usr/lib/libdbus-1.so.3 on Fedora) then that's also useful information. The good result (which I see on Debian, with version 1.14.6) is that it refers to lstat64, stat64 and/or fstat64; the bad result is that it refers to lstat, stat and/or fstat without the 64 suffix.

If installing the 32-bit version of the OS's libdbus is successful, then that will point to a way that the Steam Runtime can avoid this happening.

Hannibal-pl commented 1 year ago

@smcv

Yes, what @lostgoat said. The error "Value too large for defined data type" is most likely to be referring to the "inode number" of the file containing the machine ID, and not the content of the machine ID itself.

If so, easiest way to fix it is moving machine_id file around. In my case (Slackware), I have only "/var/lib/dbus/machine-id". So doing as root:

cp /var/lib/dbus/machine-id /var/lib/dbus/machine-id_
rm /var/lib/dbus/machine-id
mv /var/lib/dbus/machine-id_ /var/lib/dbus/machine-id

Should fix this problem, and, in my case, it was .

Edit: It could be also wrong atime in this file (after 19th January 2038). I recall weird date when I stat my machine-id file. And when I found it in my terminal history it was that indeed. My atime was "2038-05-28 20:07:13.793999783 +0200", and it isn't fit into 32-bit date.

In this case my workaround still works, by easier way is just "touch" machine-id file.

EmeraldIngot commented 1 year ago

I can confirm the issue in my case was also that /etc/machine-id was accessed when I set my computer time past the year 2038.

touch /var/lib/dbus/machine-id touch /etc/machine-id

Should work too like @Hannibal-pl said, and fixed my problem. I also had a similar issue with Steam's font due to the same reason.

Gamebuster19901 commented 1 year ago

Can confirm that setting the system time to some distant time in the future makes this issue reproducible. (About a year ago I set my system time to the year ~2400 to test software, then changed it back, which is probably how I encountered this issue the first time).

These were the steps I took to recreate this issue again:

  1. Set the year of the system clock to 2105
  2. Reboot the system
  3. Reboot the system again
  4. Set the system time back to the correct time
  5. Open a terminal
  6. execute steam
  7. Steam will not launch (has same error message as this issue)

I am then able to quickly fix the issue by doing the following:

  1. run sudo touch /var/lib/dbus/machine-id

Here is the terminal output of steps 5-8 above: https://pastebin.com/raw/3hHcmDHF

(Note: I've also updated the previous post that had the bad workaround. You also probably don't have to reboot twice to reproduce, but those are the exact steps I took.)

Hannibal-pl commented 1 year ago

@Gamebuster19901

(Note: I've also updated the previous post that had the bad workaround. You also probably don't have to reboot twice to reproduce, but those are the exact steps I took.)

Updated workaround for this issue:

  1. Ensure system time is correct
  2. Run sudo touch /etc/machine-id
  3. If on a debian system, run sudo touch /var/lib/dbus/machine-id

This is too much simplified. You should only touch existing machine-id file. If you touch nonexisting one it will be created empty. This also can be bad for the system.

It should be something like that:

  1. Ensure system time is correct
  2. If file /etc/machine-id exists, run sudo touch /etc/machine-id
  3. If file /var/lib/dbus/machine-id exists, run sudo touch /var/lib/dbus/machine-id
netpok commented 1 year ago

Yes, I can confirm, it's related to access time my old file had 2121-04-20 17:45:26 (I don't know why).

Steam runs on 32-bit so Epochalypse/Y2K38 happened.

The solution based on the previous ones is to tun touch with -c or --no-create flag