FS#79006 - [lib32-libgudev] Recent Update broke steam

Attached to Project: Arch Linux
Opened by Arthur Coombes (TuxThePenguin76) - Friday, 07 July 2023, 05:39 GMT
Last edited by Toolybird (Toolybird) - Sunday, 09 July 2023, 06:39 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Maxime Gauduin (Alucryd)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 5
Private No


Description:Recent Update broke steam

Additional info:
* Package upgrade
libgudev (237-2 -> 238-1)
lib32-libgudev (237-2 -> 238-1)

Breaks Steam for me and other users with error

"Assertion 'device' failed at src/libsystemd/sd-device/device-private.c:103, function device_get_tags_generation(). Aborting."

Rolling back the package fixes the issue

Affects multiple people see

This task depends upon

Closed by  Toolybird (Toolybird)
Sunday, 09 July 2023, 06:39 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See comments
Comment by Toolybird (Toolybird) - Friday, 07 July 2023, 08:11 GMT
Just tried in a fresh VM and steam loads up fine initially. But then it won't run a 2nd time for reasons unknown...(it's not the reason mentioned here).

Clearly not everyone is affected by this libgudev "Assertion" error. There must be more to it...
Comment by Matthew Armand (heylookmatt) - Friday, 07 July 2023, 21:43 GMT
Additional discussion here upstream if it's helpful: https://github.com/ValveSoftware/steam-for-linux/issues/9805
Comment by Toolybird (Toolybird) - Friday, 07 July 2023, 21:43 GMT
Dupe  FS#79014 

Someone needs to report it to libgudev upstream else nothing gets fixed. i.e. figure out why it's triggering the assert in systemd.
Comment by Matthew Armand (heylookmatt) - Friday, 07 July 2023, 21:54 GMT
Upstream issue filed with libgudev, we'll see what they say

Comment by Jan Alexander Steffens (heftig) - Friday, 07 July 2023, 22:11 GMT
The top of the backtrace:

#0 0xf7ee4579 in __kernel_vsyscall ()
#1 0xf7a894c7 in __pthread_kill_implementation (threadid=threadid@entry=3559914304, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:43
#2 0xf7a8954f in __pthread_kill_internal (signo=6, threadid=3559914304) at pthread_kill.c:78
#3 0xf7a36717 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#4 0xf7a1e121 in __GI_abort () at abort.c:79
#5 0xe4d1876c in log_assert_failed (text=<optimized out>, file=<optimized out>, line=<optimized out>, func=0xe4d3b608 <__func__.29.lto_priv.2> "device_get_tags_generation") at ../systemd-stable/src/basic/log.c:889
#6 0xe4d21269 in device_get_tags_generation (device=<optimized out>) at ../systemd-stable/src/libsystemd/sd-device/device-private.c:103
#7 device_get_tags_generation (device=<optimized out>) at ../systemd-stable/src/libsystemd/sd-device/device-private.c:102
#8 udev_device_get_current_tags_list_entry (udev_device=0xd40594f0) at ../systemd-stable/src/libudev/libudev-device.c:863
#9 0xe5ff6fb5 in fetch_current_tags (device=0xd4059820) at ../libgudev/gudev/gudevdevice.c:146
#10 _g_udev_device_new (udevice=udevice@entry=0xd40594f0) at ../libgudev/gudev/gudevdevice.c:163
#11 0xe5ff74af in g_udev_client_query_by_subsystem_and_name (client=0xd4059df0, subsystem=0xe57c87c8 "net", name=0xd4dd4280 "wlan0") at ../libgudev/gudev/gudevclient.c:511
#12 0xe5756927 in ?? () from /home/jan/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libnm.so.0
#13 0xe5757e40 in nm_device_get_vendor () from /home/jan/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libnm.so.0
#14 0xd640bb3e in ?? () from /home/jan/.local/share/Steam/ubuntu12_32/steamclient.so

Looks like libgudev is getting used by libnm. Installing our lib32-libnm to avoid the old one from the runtime also avoids the crash.
Comment by Toolybird (Toolybird) - Friday, 07 July 2023, 22:33 GMT
> Installing our lib32-libnm to avoid the old one

Thanks for the debugging @heftig. This would seem to add more weight to  FS#75157 
Comment by Denis (NeroReflex) - Saturday, 08 July 2023, 13:20 GMT
I am affected too. Is installing lib32-libnm the correct permanent solution or do I have to to keep an eye on this issue for a better solution?
Comment by Toolybird (Toolybird) - Sunday, 09 July 2023, 06:39 GMT
So it's not a libgudev bug afterall. In the absence of an updated steam pkg with with updated deps, someone needs to update the Wiki [1] with the known workarounds.

[1] https://wiki.archlinux.org/title/Steam/Troubleshooting#Runtime_issues