Bug#877505: zfs-fuse.service causes a systemd service ordering cycle
Package: zfs-fuse
Version: 0.7.0-16
Severity: normal
Dear Maintainer,
When installed on up-to-date stable Debian 9.1 system using systemd,
the zfs-fuse package causes an ordering cycle at boot time:
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found ordering
cycle on sysinit.target/start
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found dependency
on zfs-fuse.service/start
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found dependency
on remote-fs.target/start
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found dependency
on remote-fs-pre.target/start
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found dependency
on nfs-server.service/start
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found dependency
on rpc-statd.service/start
Oct 02 12:15:47 finmatkurk1 systemd[1]: sysinit.target: Found dependency
on nss-lookup.target/start
This seems to be because zfs-fuse.service is defined to start after
remote-fs.target, but before sysinit.target:
fimatkurk@finmatkurk1:~$ systemctl cat zfs-fuse
# /lib/systemd/system/zfs-fuse.service
[Unit]
Documentation=man:zfs-fuse(8)
Description=Daemon for ZFS support via FUSE
DefaultDependencies=no
Before=sysinit.target
Before=shutdown.target
After=remote-fs.target
Conflicts=shutdown.target
As a result, systemd attempts to break the loop. Usually it finds the
right target:
Oct 02 12:15:47 finmatkurk1 systemd[1]: zfs-fuse.service: Job
zfs-fuse.service/start deleted to break ordering cycle starting with
sysinit.target/start
However, occasionally it seems to get it wrong:
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found ordering
cycle on dbus.socket/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
sysinit.target/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
zfs-fuse.service/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
remote-fs.target/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
remote-fs-pre.target/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
nfs-server.service/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
nfs-mountd.service/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
network.target/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
NetworkManager.service/verify-active
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Found dependency on
dbus.socket/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: dbus.socket: Breaking ordering
cycle by deleting job sysinit.target/start
Oct 01 23:12:21 finmatkurk1 systemd[1]: sysinit.target: Job
sysinit.target/start deleted to break ordering cycle starting with
dbus.socket/start
And when sysinit.target is not started, the system gets stuck at boot
with no ways to log in.
-- System Information:
Debian Release: 9.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.52 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages zfs-fuse depends on:
ii fuse 2.9.7-1
ii init-system-helpers 1.48
ii libaio1 0.3.110-3
ii libc6 2.24-11+deb9u1
ii libfuse2 2.9.7-1
ii libssl1.1 1.1.0f-3
ii lsb-base 9.20161125
ii zlib1g 1:1.2.8.dfsg-5
zfs-fuse recommends no packages.
Versions of packages zfs-fuse suggests:
ii kpartx 0.6.4-5
ii nfs-kernel-server 1:1.3.4-2.1
-- no debconf information
Reply to: