Your message dated Sun, 25 Jan 2015 10:54:28 +0100
with message-id <54c4bd54.4040...@thykier.net>
and subject line Re: Bug#622394: nfs-common: breaks systemd - dependency cycle
in require-start leads to removal of critical jobs
has caused the Debian Bug report #622394,
regarding nfs-common: breaks systemd - dependency cycle in require-start leads
to removal of critical jobs
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
622394: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622394
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: nfs-common
Version: 1:1.2.3-2
Severity: normal
Tox fix this issue I only let 'S' runlevel in require-start LSB header in init
script and postinst. (I also remove 0 1 6 from require-stop as they look weird
for
a 'S' runlevel started service).
I had to do the same in rpcbind (should I clone the bug report ?) which I use
since portmap
breakage (thus portmap might suffer from the same issue though it is purged
here).
Systemd issue:
kernel: [ 11.812950] <31>systemd[1]: Activating default unit: default.target
kernel: [ 11.812970] <31>systemd[1]: Trying to enqueue job
graphical.target/start/replace
kernel: [ 11.813695] <28>systemd[1]: Found ordering cycle on
basic.target/start
kernel: [ 11.813707] <30>systemd[1]: Walked on cycle path to
sockets.target/start
kernel: [ 11.813717] <30>systemd[1]: Walked on cycle path to dbus.socket/start
kernel: [ 11.813726] <30>systemd[1]: Walked on cycle path to
sysinit.target/start
kernel: [ 11.813736] <30>systemd[1]: Walked on cycle path to
nfs-common.service/start
kernel: [ 11.813746] <30>systemd[1]: Walked on cycle path to
basic.target/start
kernel: [ 11.813756] <28>systemd[1]: Breaking ordering cycle by deleting job
dbus.socket/start
kernel: [ 11.813768] <31>systemd[1]: Deleting job dbus.service/start as
dependency of job dbus.socket/start
kernel: [ 11.813781] <31>systemd[1]: Deleting job avahi-daemon.service/start
as dependency of job dbus.socket/start
kernel: [ 11.813811] <28>systemd[1]: Found ordering cycle on
basic.target/start
kernel: [ 11.813821] <30>systemd[1]: Walked on cycle path to
sysinit.target/start
kernel: [ 11.813831] <30>systemd[1]: Walked on cycle path to
nfs-common.service/start
kernel: [ 11.813841] <30>systemd[1]: Walked on cycle path to
basic.target/start
kernel: [ 11.813850] <28>systemd[1]: Breaking ordering cycle by deleting job
nfs-common.service/start
kernel: [ 11.813896] <28>systemd[1]: Found ordering cycle on
basic.target/start
kernel: [ 11.813905] <30>systemd[1]: Walked on cycle path to
sysinit.target/start
kernel: [ 11.813914] <30>systemd[1]: Walked on cycle path to
rpcbind.service/start
kernel: [ 11.813924] <30>systemd[1]: Walked on cycle path to
basic.target/start
kernel: [ 11.813934] <28>systemd[1]: Breaking ordering cycle by deleting job
rpcbind.service/start
kernel: [ 11.814156] <31>systemd[1]: Installed new job graphical.target/start
as 1
kernel: [ 11.814167] <31>systemd[1]: Installed new job
multi-user.target/start as 2
kernel: [ 11.814178] <31>systemd[1]: Installed new job basic.target/start as 3
kernel: [ 11.814188] <31>systemd[1]: Installed new job sysinit.target/start
as 4
kernel: [ 11.814198] <31>systemd[1]: Installed new job local-fs.target/start
as 5
kernel: [ 11.814208] <31>systemd[1]: Installed new job quotaon.service/start
as 6
kernel: [ 11.814219] <31>systemd[1]: Installed new job
systemd-logger.socket/start as 7
kernel: [ 11.814229] <31>systemd[1]: Installed new job
quotacheck.service/start as 9
kernel: [ 11.814239] <31>systemd[1]: Installed new job
lib-init-rw.automount/start as 10
kernel: [ 11.814250] <31>systemd[1]: Installed new job var-run.mount/start as
11
kernel: [ 11.814260] <31>systemd[1]: Installed new job
remount-rootfs.service/start as 17
ie the biggest issue is Deleting job dbus.service which kills most desktop
service (network-manager, gdm and so forth).
It looks like basic.target is bound to >= 2 runlevels and basic.target depends
on 'S' runlevel (sysinit.target).
As nfs-common is also started in 2 runlevel, it also requires 'S' to be
completed. Though it is also part of 'S' so is
required by 'S' (sysinit.target).
As I do not see a valid use for behing both in 'S' and '2' runlevel it does not
looks like a bug in
systemd. Please reassign if otherwise.
Best regards,
Alban
-- Package-specific info:
-- rpcinfo --
program vers proto port
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 37289 nlockmgr
100021 3 udp 37289 nlockmgr
100021 4 udp 37289 nlockmgr
100021 1 tcp 58276 nlockmgr
100021 3 tcp 58276 nlockmgr
100021 4 tcp 58276 nlockmgr
100005 1 udp 58598 mountd
100005 1 tcp 56195 mountd
100005 2 udp 57795 mountd
100005 2 tcp 36443 mountd
100005 3 udp 55540 mountd
100005 3 tcp 57227 mountd
-- /etc/default/nfs-common --
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=
NEED_GSSD=
-- /etc/idmapd.conf --
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
-- /etc/fstab --
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.38-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages nfs-common depends on:
ii adduser 3.112+nmu2 add and remove users and groups
ii initscripts 2.88dsf-13.1 scripts for initializing and shutt
ii libc6 2.13-0exp5 Embedded GNU C Library: Shared lib
ii libcap2 1:2.20-1 support for getting/setting POSIX.
ii libcomerr2 1.41.14-1 common error description library
ii libevent-1.4-2 1.4.13-stable-1 An asynchronous event notification
ii libgssapi-krb5-2 1.9+dfsg-1+moonshot1 MIT Kerberos runtime libraries - k
ii libgssglue1 0.2-2 mechanism-switch gssapi library
ii libk5crypto3 1.9+dfsg-1+moonshot1 MIT Kerberos runtime libraries - C
ii libkrb5-3 1.9+dfsg-1+moonshot1 MIT Kerberos runtime libraries
ii libnfsidmap2 0.24-1 An nfs idmapping library
ii libtirpc1 0.2.1-1 transport-independent RPC library
ii libwrap0 7.6.q-19 Wietse Venema's TCP wrappers libra
ii lsb-base 3.2-27 Linux Standard Base 3.2 init scrip
ii netbase 4.45 Basic TCP/IP networking system
ii rpcbind 0.2.0-6 converts RPC program numbers into
ii ucf 3.0025+nmu1 Update Configuration File: preserv
Versions of packages nfs-common recommends:
ii python 2.6.6-13 interactive high-level object-orie
nfs-common suggests no packages.
Versions of packages nfs-kernel-server depends on:
ii libblkid1 2.17.2-9.1 block device id library
ii libc6 2.13-0exp5 Embedded GNU C Library: Shared lib
ii libcomerr2 1.41.14-1 common error description library
ii libgssapi-krb5-2 1.9+dfsg-1+moonshot1 MIT Kerberos runtime libraries - k
ii libgssglue1 0.2-2 mechanism-switch gssapi library
ii libk5crypto3 1.9+dfsg-1+moonshot1 MIT Kerberos runtime libraries - C
ii libkrb5-3 1.9+dfsg-1+moonshot1 MIT Kerberos runtime libraries
ii libnfsidmap2 0.24-1 An nfs idmapping library
ii libtirpc1 0.2.1-1 transport-independent RPC library
ii libwrap0 7.6.q-19 Wietse Venema's TCP wrappers libra
ii lsb-base 3.2-27 Linux Standard Base 3.2 init scrip
ii ucf 3.0025+nmu1 Update Configuration File: preserv
-- Configuration Files:
/etc/init.d/nfs-common changed:
DESC="NFS common utilities"
DEFAULTFILE=/etc/default/nfs-common
PREFIX=
NEED_STATD=
NEED_IDMAPD=
NEED_GSSD=
PIPEFS_MOUNTPOINT=/var/lib/nfs/rpc_pipefs
RPCGSSDOPTS=
if [ -f $DEFAULTFILE ]; then
. $DEFAULTFILE
fi
. /lib/lsb/init-functions
[ -x $PREFIX/sbin/rpc.statd ] || exit 0
AUTO_NEED_IDMAPD=no
AUTO_NEED_GSSD=no
if [ -f /etc/fstab ]; then
exec 9<&0 </etc/fstab
while read DEV MTPT FSTYPE OPTS REST
do
case $DEV in
''|\#*)
continue
;;
esac
# FSTYPE "nfs" can be NFSv4 now
#if [ "$FSTYPE" = "nfs4" ]; then
AUTO_NEED_IDMAPD=yes
#fi
case "$OPTS" in
sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
AUTO_NEED_GSSD=yes
;;
esac
done
exec 0<&9 9<&-
fi
if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
AUTO_NEED_IDMAPD=yes
fi
case "$NEED_STATD" in
yes|no)
;;
*)
NEED_STATD=yes
;;
esac
case "$NEED_IDMAPD" in
yes|no)
;;
*)
NEED_IDMAPD=$AUTO_NEED_IDMAPD
;;
esac
case "$NEED_GSSD" in
yes|no)
;;
*)
NEED_GSSD=$AUTO_NEED_GSSD
;;
esac
do_modprobe() {
if [ -x /sbin/modprobe -a -f /proc/modules ]
then
modprobe -q "$1" || true
fi
}
do_mount() {
if ! grep -E -qs "$1\$" /proc/filesystems
then
return 1
fi
if ! mountpoint -q "$2"
then
mount -t "$1" "$1" "$2"
return
fi
return 0
}
do_umount() {
if mountpoint -q "$1"
then
umount "$1"
fi
return 0
}
case "$1" in
start)
log_daemon_msg "Starting $DESC"
if [ "$NEED_STATD" = yes ]; then
log_progress_msg "statd"
# See if portmap or rpcbind are running
(cat </dev/null >/dev/tcp/localhost/111) 2>/dev/null
RET=$?
if [ $RET != 0 ]; then
echo
log_warning_msg "Not starting: portmap daemon is not running"
exit 0
fi
start-stop-daemon --start --oknodo --quiet \
--pidfile /var/run/rpc.statd.pid \
--exec $PREFIX/sbin/rpc.statd -- $STATDOPTS
RET=$?
if [ $RET != 0 ]; then
log_end_msg $RET
exit $RET
else
mkdir -p /lib/init/rw/sendsigs.omit.d
rm -f /lib/init/rw/sendsigs.omit.d/statd
ln -s /var/run/rpc.statd.pid /lib/init/rw/sendsigs.omit.d/statd
fi
fi
# Don't start idmapd and gssd if we don't have them (say, if /usr is not
# up yet).
[ -x /usr/sbin/rpc.idmapd ] || NEED_IDMAPD=no
[ -x /usr/sbin/rpc.gssd ] || NEED_GSSD=no
if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]
then
do_modprobe sunrpc
do_modprobe nfs
do_modprobe nfsd
if do_mount rpc_pipefs $PIPEFS_MOUNTPOINT
then
if [ "$NEED_IDMAPD" = yes ]
then
log_progress_msg "idmapd"
start-stop-daemon --start --oknodo --quiet \
--exec /usr/sbin/rpc.idmapd
RET=$?
if [ $RET != 0 ]; then
log_end_msg $RET
exit $RET
fi
fi
if [ "$NEED_GSSD" = yes ]
then
do_modprobe rpcsec_gss_krb5
log_progress_msg "gssd"
# we need this available; better to fail now than
# mysteriously on the first mount
if ! grep -q -E '^nfs[ ]' /etc/services; then
log_action_end_msg 1 "broken /etc/services, please see
/usr/share/doc/nfs-common/README.Debian.nfsv4"
exit 1
fi
start-stop-daemon --start --oknodo --quiet \
--exec /usr/sbin/rpc.gssd -- $RPCGSSDOPTS
RET=$?
if [ $RET != 0 ]; then
log_end_msg $RET
exit $RET
fi
fi
fi
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC"
if [ "$NEED_GSSD" = yes ]
then
log_progress_msg "gssd"
start-stop-daemon --stop --oknodo --quiet \
--name rpc.gssd
RET=$?
if [ $RET != 0 ]; then
log_end_msg $RET
exit $RET
fi
fi
if [ "$NEED_IDMAPD" = yes ]
then
log_progress_msg "idmapd"
start-stop-daemon --stop --oknodo --quiet \
--name rpc.idmapd
RET=$?
if [ $RET != 0 ]; then
log_end_msg $RET
exit $RET
fi
fi
if [ "$NEED_STATD" = yes ]
then
log_progress_msg "statd"
start-stop-daemon --stop --oknodo --quiet \
--name rpc.statd
RET=$?
if [ $RET != 0 ]; then
log_end_msg $RET
exit $RET
fi
fi
do_umount $PIPEFS_MOUNTPOINT 2>/dev/null || true
log_end_msg 0
;;
status)
if [ "$NEED_STATD" = yes ]
then
if ! pidof rpc.statd >/dev/null
then
echo "rpc.statd not running"
exit 3
fi
fi
if [ "$NEED_GSSD" = yes ]
then
if ! pidof rpc.gssd >/dev/null
then
echo "rpc.gssd not running"
exit 3
fi
fi
if [ "$NEED_IDMAPD" = yes ]
then
if ! pidof rpc.idmapd >/dev/null
then
echo "rpc.idmapd not running"
exit 3
fi
fi
echo "all daemons running"
exit 0
;;
restart | force-reload)
$0 stop
sleep 1
$0 start
;;
*)
log_success_msg "Usage: nfs-common {start|stop|status|restart}"
exit 1
;;
esac
exit 0
-- no debconf information
-- debsums errors found:
debsums: changed file /var/lib/nfs/state (from nfs-common package)
--- End Message ---
--- Begin Message ---
On 2015-01-17 08:40, Niels Thykier wrote:
> On 2015-01-17 02:42, Simon McVittie wrote:
>> [...]
>>
>>> In particular, this bug is correctly marked as a Jessie blocker due to
>>> the current bug title, which suggests that nfs-common has a circular
>>> dependency causing NFS to break under systemd. However, reading the bug
>>> I am understanding that this loop is now assumed to be fixed?
>>
>> That's my "bug A" and yes I suspect it's been fixed by better
>> sysvinit compatibility in systemd... but I could be wrong, and I
>> don't know specifically what the fix was. Let's use #622394 for this.
>>
>> I haven't closed it immediately, but I've tagged it unreproducible.
>> I certainly didn't see it myself.
>> [...]
>
> Excellent, thanks.
>
> I will revisit the "unreproducible" or/and "moreinfo" bugs in a week; if
> there has been no follow up on the bugs with more information I will
> deal with them (close or downgrade, whichever seems more applicable).
>
> Thanks,
> ~Niels
>
>
As no one has contributing with more information on this bug in the past
week and Simon suspect this bug of being fixed, I am now closing this bug.
Note this bug was split into 3.
* #622394 - nfs-common: breaks systemd - dependency cycle in
require-start leads to removal of critical jobs
- "This bug", which is being closed now
* #775541 - NFS mounts from /etc/fstab do not work
- remains open.
* #775542 - NFS exports fail due to rpcbind not starting before
nfs-common and nfs-kernel-server
- tagged moreinfo and unreproducible. I will downgrade this
in a moment.
Should you still be able reproduce it in an up to date Jessie
environment, please do not hesitate to report back with more information
and have the bug reopened (or open a new one).
Thanks,
~Niels
--- End Message ---