[Bug 525154] Re: mountall for /var or other nfs mount races with rpc.statd

dennis berger 525154 at bugs.launchpad.net
Thu Oct 13 09:14:05 UTC 2011


It seems we ran into the same problem today.
System is 11.04 natty from yesterday.

boot.log from today.

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck from util-linux-ng 2.17.2
fsck from util-linux-ng 2.17.2
fsck from util-linux-ng 2.17.2
/dev/mapper/raid1-root: sauber, 356460/3662848 Dateien, 12171413/14648320 Blöcke
/dev/sda1: sauber, 236/488640 Dateien, 118485/975872 Blöcke
/dev/mapper/raid1-profiles: sauber, 12/6553600 Dateien, 426582/26214400 Blöcke
init: portmap-wait (statd) main process (409) killed by TERM signal^M
init: statd-mounting main process (402) killed by TERM signal^M
mount.nfs: Failed to resolve server apps: Name or service not known
init: statd main process (432) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (446) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (454) terminated with status 1^M
init: statd main process ended, respawning^M
init: ureadahead-other main process (461) terminated with status 4^M
init: statd main process (463) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (471) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (479) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (487) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (495) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (503) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (511) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (533) terminated with status 1^M
init: statd respawning too fast, stopped^M
init: ureadahead-other main process (701) terminated with status 4^M
mountall: mount /group [433] brach mit dem Status 32 ab
init: statd-mounting main process (723) killed by TERM signal^M
mount.nfs: Failed to resolve server apps: Name or service not known
mountall: mount /group [760] brach mit dem Status 32 ab
init: statd main process (759) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (769) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (777) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (785) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (793) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (802) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (821) terminated with status 1^M
init: statd main process ended, respawning^M
mount.nfs: Failed to resolve server apps: Name or service not known
mountall: mount /group [822] brach mit dem Status 32 ab
init: statd main process (831) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (839) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (847) terminated with status 1^M
init: statd main process ended, respawning^M
init: statd main process (855) terminated with status 1^M
init: statd respawning too fast, stopped^M
init: statd-mounting main process (815) killed by TERM signal^M
init: statd-mounting main process (965) killed by TERM signal^M
mount.nfs: Failed to resolve server apps: Name or service not known
mountall: mount /group [978] brach mit dem Status 32 ab
^X^Z^M<U+F020>ESC[6nESCDESC[1FESC[1X * Stopping cold plug devicesESC[122G[ OK ]  <----- AT this point I hit Enter on console
 * Stopping log initial device creationESC[122G[ OK ]
 * Starting enable remaining boot-time encrypted block devicesESC[122G[ OK ]
 * Starting configure network device securityESC[122G[ OK ]
 * Starting configure virtual network devicesESC[122G[ OK ]
 * Starting save udev log and update rulesESC[122G[ OK ]
 * Stopping save udev log and update rulesESC[122G[ OK ]
 * Stopping configure virtual network devicesESC[122G[ OK ]
 * Stopping enable remaining boot-time encrypted block devicesESC[122G[ OK ]
 * Starting CUPS printing spooler/serverESC[122G[ OK ]
 * Stopping OpenSSH serverESC[122G[ OK ]
 * Starting OpenSSH serverESC[122G[ OK ]
 * Starting Mount network filesystemsESC[122G[ OK ]
 * Starting configure network deviceESC[122G[ OK ]
 * Stopping Mount network filesystemsESC[122G[ OK ]
 * Starting Block the mounting event for NFS filesytems until statd is runningESC[122G[ OK ]
 * Stopping Block the mounting event for NFS filesytems until statd is runningESC[122G[ OK ]
 * Starting NetBIOS name serverESC[122G[ OK ]
 * Starting Mount network filesystemsESC[122G[ OK ]
 * Stopping Mount network filesystemsESC[122G[ OK ]
 * Starting configure bridges for deviceESC[122G[ OK ]
 * Starting Block the mounting event for NFS filesytems until statd is runningESC[122G[ OK ]
 * Stopping Block the mounting event for NFS filesytems until statd is runningESC[122G[ OK ]
mount.nfs: No route to host
mountall: mount /group [1506] brach mit dem Status 32 ab
 * Starting anac(h)ronistic cronESC[122G[ OK ]

# cat /etc/fstab 
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/raid1-root /               ext4    errors=remount-ro,acl 0       1
# /boot was on /dev/sda1 during installation
UUID=2503bd84-8230-487c-bbab-a795185af583 /boot           ext2    defaults        0       2
/dev/mapper/raid1-swap none            swap    sw              0       0
/dev/mapper/raid1-profiles /var/lib/samba/profiles   ext4    errors=remount-ro,acl 0 2
apps:/group /group nfs bg,rw,soft,vers=3,proto=tcp 2 2

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mountall in Ubuntu.
https://bugs.launchpad.net/bugs/525154

Title:
  mountall for /var or other nfs mount races with rpc.statd

Status in “mountall” package in Ubuntu:
  Invalid
Status in “nfs-utils” package in Ubuntu:
  Fix Released
Status in “portmap” package in Ubuntu:
  Fix Released
Status in “mountall” source package in Lucid:
  Invalid
Status in “nfs-utils” source package in Lucid:
  Fix Released
Status in “portmap” source package in Lucid:
  Fix Released
Status in “mountall” source package in Maverick:
  Invalid
Status in “nfs-utils” source package in Maverick:
  Fix Released
Status in “portmap” source package in Maverick:
  Fix Released
Status in “mountall” source package in Natty:
  Invalid
Status in “nfs-utils” source package in Natty:
  Fix Released
Status in “portmap” source package in Natty:
  Fix Released

Bug description:
  If one has /var (or /var/lib or /var/lib/nfs for that matter) on its
  own filesystem the statd.conf start races with the mounting of /var as
  rpc.statd needs /var/lib/nfs to be available in order to work.

  I am sure this is not the only occurrence of this type of problem.

  A knee-jerk solution is to simply spin in statd.conf waiting for
  /var/lib/nfs to be available, but polling sucks, especially for
  something like upstart whose whole purpose is to be an event driven
  action manager.

  SRU justification: NFS mounts do not start reliably on boot in lucid
  and maverick (depending on the filesystem layout of the client system)
  due to race conditions in the startup of statd.  This should be fixed
  so users of the latest LTS can make reliable use of NFS.

  Regression potential:  Some systems may fail to mount NFS filesystems
  at boot time that didn't fail before.  Some systems may hang at boot.
  Some systems may hang while upgrading the packages (this version or in
  a future SRU).  I believe the natty update adequately guards against
  all of these possibilities, but the risk is there.

  TEST CASE:
  1. Configure a system with /var as a separate partition.
  2. Add one or more mounts of type 'nfs' to /etc/fstab.
  3. Boot the system.
  4. Verify whether statd has started (status statd) and whether all NFS filesystems have been mounted.
  5. Repeat 3-4 until the race condition is triggered.
  6. Upgrade to the new version of portmap and nfs-common from -proposed.
  7. Repeat steps 3-4 until satisfied that statd now starts reliably and all non-gss-authenticated NFSv3 filesystems mount correctly at boot time.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/525154/+subscriptions




More information about the foundations-bugs mailing list