DisplayLink / evdi

Extensible Virtual Display Interface
MIT License
689 stars 179 forks source link

Ubuntu 22.04 vs ZFS = hung boot #417

Open JonTheNiceGuy opened 1 year ago

JonTheNiceGuy commented 1 year ago

Following the installation of the above package and rebooting, I was presented with a recovery console.

Purging the displaylink-driver and evdi packages restores my machine to it's former state, but this isn't really useful.

Following re-installing the driver, rebooting and returning to the recovery console, when digging into the logs, I found an entry showing that:

Apr 28 11:12:05 jonspriggs-Kratos-EL04R6 systemd[1]: Starting Wait for udev To Complete Device Initialization...
░░ Subject: A start job for unit systemd-udev-settle.service has begun execution
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A start job for unit systemd-udev-settle.service has begun execution.
░░ 
░░ The job identifier is 20.

Followed later by

Apr 28 11:13:05 jonspriggs-Kratos-EL04R6 systemd-udevd[1912]: 4-3.1.3:1.0: Spawned process '/opt/displaylink/udev.sh /dev /devices/pci0000:00/0000:00:14.0/usb4/4-3/4-3.1/4-3.1.3/4-3.1.3:1.0 usb-004-004-DisplayLink_PR09_DisplayPort_Dock_YVFJ093338 /dev/bus/usb/004/004' [2280] is taking longer than 59s to complete
Apr 28 11:13:05 jonspriggs-Kratos-EL04R6 systemd-udevd[1787]: 4-3.1.3:1.0: Worker [1912] processing SEQNUM=4598 is taking a long time
Apr 28 11:14:05 jonspriggs-Kratos-EL04R6 systemd[1]: systemd-udev-settle.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ An ExecStart= process belonging to unit systemd-udev-settle.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.

Manually running the above command did not take a long time (in fact, it ran and completed in microseconds).

In some of the intervening logs, I also saw:

Apr 28 11:12:05 jonspriggs-Kratos-EL04R6 udevadm[1890]: systemd-udev-settle.service is deprecated. Please fix zfs-load-module.service, zfs-import-cache.service not to pull it in.

Correspondingly, I have adjusted the zfs-load-module.service (/lib/systemd/system/zfs-load-module.service) and zfs-import-cache.service (/lib/systemd/system/zfs-import-cache.service) files, commenting out Requires=systemd-udev-settle.service, which has worked-around this issue.

I concede that the ZFS services shouldn't depend on systemd-udev-settle, however, the fact that systemd-udev-settle is failing as a result of the DisplayLink or evdi service means that it's having a knock-on impact on other areas of the system.

Please can you investigate?