Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Feb 2008 20:21:52 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        pluknet <pluknet@gmail.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: panic: mutex Giant owned at nfs_syscalls.c:556
Message-ID:  <20080223182152.GE57756@deviant.kiev.zoral.com.ua>
In-Reply-To: <a31046fc0802200328i31833093i15ac0db5e764b40a@mail.gmail.com>
References:  <a31046fc0802200328i31833093i15ac0db5e764b40a@mail.gmail.com>

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

--/5/Pa32SZQEo/GK+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Feb 20, 2008 at 02:28:59PM +0300, pluknet wrote:
> I got this assertion while attempting to remove file on nfs mounted
> ffs filesystem.
> NFS client on 7.0-PRERELEASE and NFS server on 8-CURRENT.
>=20
> FreeBSD 7.0-PRERELEASE #1: Wed Feb  6 18:09:18 MSK 2008
> FreeBSD 8.0-CURRENT #9: Fri Feb 15 14:31:07 MSK 2008
>=20
> Unread portion of the kernel message buffer:
> panic: mutex Giant owned at
> /usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c:556
> KDB: enter: panic
> exclusive sleep mutex nfsd_mtx r =3D 0 (0xc41d1660) locked @
> /usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c:501
> exclusive sleep mutex Giant r =3D 0 (0xc07e6410) locked @
> /usr/src/sys/kern/vfs_lookup.c:663
> ...
> #9  0xc053959d in panic (fmt=3D0xc076181d "mutex %s owned at %s:%d")
>     at /usr/src/sys/kern/kern_shutdown.c:555
> #10 0xc052adf7 in _mtx_assert (m=3D0xc07e6410, what=3D0,
>     file=3D0xc41cb7b2
> "/usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c",
> line=3D556) at /usr/src/sys/kern/kern_mutex.c:652
> #11 0xc41c9e82 in nfssvc (td=3D0xc2e68000, uap=3D0xd600dcfc)
>     at /usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c:556
> #12 0xc0727903 in syscall (frame=3D0xd600dd38)
>     at /usr/src/sys/i386/i386/trap.c:1034
> #13 0xc0711630 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception=
.s:203
> ---Type <return> to continue, or q <return> to quit---
> #14 0x00000033 in ?? ()
>=20
> Looks somewhat strange because nfs_syscalls.c:556 is not in nfssvc(),
> it's in nfssvc_nfsd().
> Kernel and world synchronized on 8-CUR though.

Assert itself only catches the missed Giant unlock somewhere during
the execution of an nfs requtest.
Unfortunately, it seems that the error is in nfsserver that missed
Giant unlock (most likely, on some error path). Helpful would be
the tcpdump raw trace file of the communication between nfs server and
client immediately before the panic.

--/5/Pa32SZQEo/GK+
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iEYEARECAAYFAkfAZEAACgkQC3+MBN1Mb4hsawCgzhbqZMKxJ4m3we2Vgxsmqwk9
0LYAoNnQxq0pYW9Y3xQHXgTKdCrrMu4a
=h++d
-----END PGP SIGNATURE-----

--/5/Pa32SZQEo/GK+--



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