Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Aug 2006 16:54:34 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Michael Abbott <michael@araneidae.co.uk>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: NFS locking: lockf freezes (rpc.lockd problem?)
Message-ID:  <20060827135434.GH79046@deviant.kiev.zoral.com.ua>
In-Reply-To: <20060827102135.B49194@saturn.araneidae.co.uk>
References:  <20060827102135.B49194@saturn.araneidae.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

--uJrvpPjGB3z5kYrA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Aug 27, 2006 at 11:24:13AM +0000, Michael Abbott wrote:
> I've been trying to make some sense of the "NFS locking" issue.  I am=20
> trying to run
> 	# make installworld DESTDIR=3D/mnt
> where /mnt is an NFS mount on a FreeBSD 4.11 server, but I am unable to=
=20
> get past a call to `lockf`.
>=20
> On this mailing list I've seen a thread starting with this message:
> 	http://lists.freebsd.org/pipermail/freebsd-stable/2006-August/027561.html
> and elsewhere I've seen this thread:
> 	http://www.gatago.com/mpc/lists/freebsd/stable/21851805.html
>=20
> The gist seems to be that rpc.lockd is badly behaved and broken and nobod=
y=20
> knows how to fix it.  So, in case my experience is any help, here is what=
=20
> I can report.
>=20
> 1.  I have installed a fresh installation of FreeBSD 6.1 from the CD,=20
> 6.1-RELEASE-i386-disc1.iso, and have run `cd /usr/src; make buildworld;=
=20
> make buildkernel` successfully (takes nearly 8 hours, but then it is a=20
> fanless machine).  The full distribution (as installed by sysinstall) is=
=20
> present, but nothing else.
>=20
> 2.  Intending to experiment with network booting, I've attempted
> `make installworld DESTDIR=3D/mnt`, where /mnt is an NFS mount point on m=
y=20
> master server, running FreeBSD 4.11-RELEASE-p11.
>=20
> 3.  This fails when invoking lockf.  To work around this, I have started=
=20
> rpc.lockd on the 4.11 server and configured all of the following lines in=
=20
> rc.conf:
> 	rpcbind_enable=3D"YES"
> 	nfs_client_enable=3D"YES"
> 	rpc_lockd_enable=3D"YES"
> 	rpc_statd_enable=3D"YES"
>=20
> 4.  Now here is the behaviour:
>=20
> 	# mount $MY_SERVER:$MY_PATH /mnt
> 	# lockf /mnt/test ls
> This works just fine
> 	# cd /usr/src; make installworld DESTDIR=3D/mnt
> This hangs in lockf, and is unkillable (even `kill -9` is no good, and ps=
=20
> shows state =3D D+).  So let's start another shell (Alt-F2):
> 	# lockf /mnt/test ls
> Also hangs.
>=20
> Rebooting the test machine clears the problem, returning to the state at=
=20
> the start of point (4), and the problem is completely repeatable in my=20
> configuration.
>=20
>=20
> Some observations:
>=20
>  - Hanging in "uninterruptible sleep" is not good.  No doubt it's quite=
=20
> possible that my 4.11 server has a broken rpc.lockd (or maybe I've not=20
> configured it right: I just started rpc.lockd, rather than restarting the=
=20
> server), but the behaviour of 6.1 is exceptionally unfriendly.  In=20
> particular, unkillable processes look like outright bugs to me.
>=20
>  - The conversation on mpc.lists.freebsd.stable (and elsewhere) looks=20
> alarming.  I get the impression that this part of FreeBSD 6.1 is really=
=20
> rather broken and that there's no real sense of what to do about it.

Make sure that rpc.statd is running.
For debugging purposes, tcpdump of the corresponding communications would
be quite useful. Besides this, output of ps auxww | grep 'rpc\.' may be
interesting.

--uJrvpPjGB3z5kYrA
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFE8aQZC3+MBN1Mb4gRAuyrAJ9Ai8k0z360StJsvDDzP8+JRnt3vACeKEvZ
fRiLTmiJ05l7ykyRG0fl1ss=
=wS7e
-----END PGP SIGNATURE-----

--uJrvpPjGB3z5kYrA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060827135434.GH79046>