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. > > 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 > > 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 = 0 (0xc41d1660) locked _at_ > /usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c:501 > exclusive sleep mutex Giant r = 0 (0xc07e6410) locked _at_ > /usr/src/sys/kern/vfs_lookup.c:663 > ... > #9 0xc053959d in panic (fmt=0xc076181d "mutex %s owned at %s:%d") > at /usr/src/sys/kern/kern_shutdown.c:555 > #10 0xc052adf7 in _mtx_assert (m=0xc07e6410, what=0, > file=0xc41cb7b2 > "/usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c", > line=556) at /usr/src/sys/kern/kern_mutex.c:652 > #11 0xc41c9e82 in nfssvc (td=0xc2e68000, uap=0xd600dcfc) > at /usr/src/sys/modules/nfsserver/../../nfsserver/nfs_syscalls.c:556 > #12 0xc0727903 in syscall (frame=0xd600dd38) > 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 ?? () > > 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.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:28 UTC