![]() Yes, you should not create an empty machine ID. If you touch nonexisting one it will be created empty. You should only touch existing machine-id file. ![]() The backtrace from the crash involves Steam's copy of SDL 3, so there is a SDL 3 change that should be able to reduce the impact of this. This is the opposite of what I previously expected. I only saw the bug when using an OS-provided copy of the 32-bit libdbus-1.so.3. It is not quite as simple as "old timestamp good, new timestamp bad": I tried to reproduce this bug by intentionally setting the wrong timestamp on a test system, and while using the bundled 32-bit libdbus-1.so.3 from the Steam Runtime I was unable to reproduce it. That would explain why regenerating the machine UUID accidentally worked around this: changing the content wasn't necessary, but it would have had the side-effect of resetting the timestamp, and that prevented the crash. Yes, post-2038 timestamps are another possible cause of EOVERFLOW "Value too large for defined data type". 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. 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 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. 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). I don't know how Fedora spells that, possibly dbus-libs.i686? On Arch the package to install is lib32-dbus, on Debian/Ubuntu it's libdbus-1-3:i386 other distributions will vary. If that works, it'll be a much safer workaround than changing the machine ID. To people who are experiencing this crash: do you have your operating system's 32-bit version of libdbus installed? If this works, it'll only be working by coincidence. ![]() ![]() I don't think this is the right workaround, and changing the machine ID is quite a destructive thing to do. run `sudo dbus-uuidgen -ensure=/etc/machine-id` ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |