[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#711021: mount.nfs timeout for GETPORT is much too short



Package: nfs-common
Version: 1:1.2.6-3
Severity: important

This NFS client stopped being able to mount from my NFS server at boot
time, around the time I upgraded them both to wheezy.  I think the
problem started when only the server was upgraded and was ultimately
triggered by avahi-daemon being installed.  Since cups now recommends
avahi-daemon, this can be considered a common configuration.

I took a packet capture on both sides (which matched, so no packets are
being lost) and saw that:

- The client makes a GETPORT call
- The client retries a few times at 1 second intervals, then (if using
  TCP) closes the connection
- About 5 seconds after the first call from the client, the server sends
  a reply.  (strace-ing rpcbind showed it requesting a reverse DNS lookup
  from avahi, which apparently has a 5 second timeout for mDNS lookups.
  The client should have had a proper reverse DNS entry, but didn't.)
- The client sends a RST (TCP) or ICMP port unreachable error (UDP) when
  receiving the reply

The relevant functions include nfs_pmap_getport() in
support/nfs/getport.c, which even has a comment to say:

 *  2.  This version times out quickly by default.  It time-limits the
 *      connect process as well as the actual RPC call, and even allows the
 *      caller to specify the timeout.

I don't know why it does this, though perhaps the intent was to
fail-over quickly when auto-detecting whether the remote portmap/rpcbind
uses TCP or UDP.  But having failed to query on both protocols, the
timeout ought to be increased when retrying.

Ben.

-- 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
    100024    1   udp  46254  status
    100024    1   tcp  58492  status
    100021    1   udp  33374  nlockmgr
    100021    3   udp  33374  nlockmgr
    100021    4   udp  33374  nlockmgr
    100021    1   tcp  40195  nlockmgr
    100021    3   tcp  40195  nlockmgr
    100021    4   tcp  40195  nlockmgr
-- /etc/default/nfs-common --
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=
NEED_GSSD=
-- /etc/idmapd.conf --
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
-- /etc/fstab --
shadbolt:/home  /home           nfs     nfsvers=3,nodev,nosuid,mountproto=tcp   0       0
shadbolt:/usr/local /usr/local  nfs     nfsvers=3,nodev,nosuid,mountproto=tcp   0       0
-- /proc/mounts --
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
shadbolt:/home /home nfs rw,nosuid,nodev,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.2.1,mountvers=3,mountport=33045,mountproto=tcp,local_lock=none,addr=192.168.2.1 0 0
shadbolt:/usr/local /usr/local nfs rw,nosuid,nodev,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.2.1,mountvers=3,mountport=33045,mountproto=tcp,local_lock=none,addr=192.168.2.1 0 0

-- System Information:
Debian Release: 7.0
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages nfs-common depends on:
ii  adduser             3.113+nmu3
ii  initscripts         2.88dsf-41
ii  libc6               2.13-38
ii  libcap2             1:2.22-1.2
ii  libcomerr2          1.42.5-1.1
ii  libdevmapper1.02.1  2:1.02.74-7
ii  libevent-2.0-5      2.0.19-stable-3
ii  libgssglue1         0.4-2
ii  libk5crypto3        1.10.1+dfsg-5
ii  libkeyutils1        1.5.5-3
ii  libkrb5-3           1.10.1+dfsg-5
ii  libmount1           2.20.1-5.3
ii  libnfsidmap2        0.25-4
ii  libtirpc1           0.2.2-5
ii  libwrap0            7.6.q-24
ii  lsb-base            4.1+Debian8
ii  rpcbind             0.2.0-8
ii  ucf                 3.0025+nmu3

Versions of packages nfs-common recommends:
ii  python  2.7.3-4

Versions of packages nfs-common suggests:
pn  open-iscsi  <none>
pn  watchdog    <none>

-- no debconf information

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: