[systemd-devel] Assertion 'udev_device' failed at src/libudev/libudev-device.c:742, function udev_device_get_sysattr_value(). Aborting.

Sietse van Zanen sietse at wizdom.nu
Sat Nov 2 08:31:09 UTC 2024


I seem to be hitting some very weird corner case causing an assertion failure. The offender is ZFS Event Daemon:

The following code shows the offence:
                               struct udev_device *dev;
                               if ((dev = udev_monitor_receive_device(mon)) == NULL) {
                                               zed_log_msg(LOG_WARNING, "zed_udev_monitor: receive "
                                                   "device error %d", errno);
                                               continue;
                               }
                               …..
                               sectors = udev_device_get_property_value(dev,
                                                    "ID_PART_ENTRY_SIZE");
                               if (sectors == NULL)
                                               sectors = udev_device_get_sysattr_value(dev, "size");

Im at a loss here as to what’s causing the assertion failure. Both udev_device_get_property_value and udev_device_get_sysattr_value only assert a valid udev_device pointer. How can the pointer get lost between these two function calls?

-Sietse


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20241102/bebcf67a/attachment.htm>


More information about the systemd-devel mailing list