What | Removed | Added |
---|---|---|
Status | RESOLVED | REOPENED |
CC | wullinger@rz.uni-kiel.de | |
Resolution | FIXED | --- |
The implemented patch seems to cause an assertion fault, in particular I can observe: systemd[11505]: Assertion 'dev' failed at src/core/device.c:301, function device_is_bound_by_mounts(). Aborting. systemd[1]: Assertion 'dev' failed at src/core/device.c:301, function device_is_bound_by_mounts(). Aborting. systemd[1]: Caught <ABRT>, dumped core as pid 30128. systemd[1]: Freezing execution. It looks like it is valid for dev to be NULL in device_setup_unit(Manager *m, struct udev_device *dev, const char *path, bool main). At least there are various guards with if (dev) in the source. This is not checked before the (new) call to device_is_bound_by_mounts(), which itself does assert(dev). As a result, PID1 aborts and the system cannot be managed any more. I'm not familiar with the new logic, but the fix may be a simple guard condition inside device_is_bound_by_mounts(). Note that this would halt a production machine hard, being unable to even reboot normally (since the system dbus is down Upstream Issue: https://github.com/systemd/systemd/issues/5025