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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Turned out to be a bug in zed:

Verify parent_dev before calling udev_device_get_sysattr_value by Uglymotha · Pull Request #16717 · openzfs/zfs

 

-Sietse

 

Van: Cristian Rodríguez <crrodriguez@xxxxxxxxxxxx>
Verzonden: Saturday, 2 November 2024 20:07
Aan: Sietse van Zanen <sietse@xxxxxxxxx>
CC: systemd-devel@xxxxxxxxxxxxxxxxxxxxx
Onderwerp: Re: [systemd-devel] Assertion 'udev_device' failed at src/libudev/libudev-device.c:742, function udev_device_get_sysattr_value(). Aborting.

 

 

 

On Sat, Nov 2, 2024 at 5:38 AM Sietse van Zanen <sietse@xxxxxxxxx> wrote:

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

 

 

 you need to poll before any valid udev_device is returned to you.


[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux