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)



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to