Your message dated Sat, 10 Dec 2022 14:39:00 +0100
with message-id <y5sl9m825fgnd...@eldamar.lan>
and subject line Re: Bug#805710: nfs-common: NFS mounts don't work because 
nfs-common starts before rpcbind.service
has caused the Debian Bug report #805710,
regarding NFS exports fail due to rpcbind not starting before nfs-common and 
nfs-kernel-server
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.)


-- 
805710: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805710
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 ---
Hi,

On Sat, Nov 21, 2015 at 08:38:09AM +0100, Michal Kašpar wrote:
> Package: nfs-common
> Version: 1:1.2.8-9
> Severity: normal
> 
> Dear Maintainer,
> NFS mounts don't work on systemd enabled systems because nfs-common is
> started before rpcbind. If nfs-common is restarted after boot, the
> mounts start to work fine. In log files I see:
> nfs-common[1301]: Not starting: portmapper is not running ... (warning).

This issue should in meanwhile be not be relevant anymore. I'm closing
it now, but feel free to reopen in case you can reproduce the issue
with a recent version of nfs-utils.

Regards,
Salvatore

--- End Message ---

Reply via email to