There was a previous thread about this, but it doesn't look like there was any 
resolution:

http://lists.freebsd.org/pipermail/freebsd-stable/2010-May/056986.html

I run a fileserver for an Emulab (www.emulab.net) system.  As such, the exports 
table is constantly modified as experiments are swapped in and out.  We also 
get a lot of researchers using NFS for strange things.  In this case, the 
exclusive lock was for a cache directory shared by about 36 machines running 
Ubuntu 8.04 and mounting with NFSv2.  Eventually, all our nfsd processes get 
stuck since the exclusive lock for the directory is never released.  I could 
use any and all pointers on getting this fixed.

What I am running:

jjh@users: ~$ uname -a
FreeBSD users.isi.deterlab.net 7.3-RELEASE-p2 FreeBSD 7.3-RELEASE-p2 #9: Tue 
Sep 14 16:24:57 PDT 2010     
r...@users.isi.deterlab.net:/usr/obj/usr/src/sys/USERS7  i386

Here are the sleepchains for my system (note that 0xd1f72678 appears twice):

0xce089cf0: tag syncer, type VNON
 usecount 1, writecount 0, refcount 2 mountedhere 0
 flags ()
  lock type syncer: EXCL (count 1) by thread 0xcdb4b000 (pid 46)

0xd1f72678: tag ufs, type VDIR
 usecount 2, writecount 0, refcount 67 mountedhere 0
 flags ()
 v_object 0xd1e90e80 ref 0 pages 1
  lock type ufs: EXCL (count 1) by thread 0xce1146c0 (pid 866) with 62 pending
     ino 143173560, on dev mfid0s1f

0xd1e6f228: tag ufs, type VDIR
 usecount 1, writecount 0, refcount 3 mountedhere 0
 flags ()
 v_object 0xd180f480 ref 0 pages 1
  lock type ufs: SHARED (count 1)
     ino 19268907, on dev mfid0s1f

0xd1a37564: tag ufs, type VNON
 usecount 1, writecount 0, refcount 1 mountedhere 0
 flags ()
  lock type ufs: EXCL (count 1) by thread 0xcdb4c240 (pid 871)
     ino 115689129, on dev mfid1s1d

0xce089cf0: tag syncer, type VNON
 usecount 1, writecount 0, refcount 2 mountedhere 0
 flags ()
  lock type syncer: EXCL (count 1) by thread 0xcdb4b000 (pid 46)

0xd1f72678: tag ufs, type VDIR
 usecount 2, writecount 0, refcount 67 mountedhere 0
 flags ()
 v_object 0xd1e90e80 ref 0 pages 1
  lock type ufs: EXCL (count 1) by thread 0xce1146c0 (pid 866) with 62 pending
     ino 143173560, on dev mfid0s1f

0xd1e6f228: tag ufs, type VDIR
 usecount 1, writecount 0, refcount 3 mountedhere 0
 flags ()
 v_object 0xd180f480 ref 0 pages 1
  lock type ufs: SHARED (count 1)
     ino 19268907, on dev mfid0s1f

0xd1a37564: tag ufs, type VNON
 usecount 1, writecount 0, refcount 1 mountedhere 0
 flags ()
  lock type ufs: EXCL (count 1) by thread 0xcdb4c240 (pid 871)
     ino 115689129, on dev mfid1s1d

Here is process 866:

(kgdb) proc 866
[Switching to thread 66 (Thread 100104)]#0  sched_switch (td=0xce1146c0, 
newtd=Variable "newtd" is not available.
) at /usr/src/sys/kern/sched_ule.c:1936
1936    
(kgdb) bt
#0  sched_switch (td=0xce1146c0, newtd=Variable "newtd" is not available.
) at /usr/src/sys/kern/sched_ule.c:1936
#1  0xc080a4a6 in mi_switch (flags=Variable "flags" is not available.
) at /usr/src/sys/kern/kern_synch.c:444
#2  0xc0837aab in sleepq_switch (wchan=Variable "wchan" is not available.
) at /usr/src/sys/kern/subr_sleepqueue.c:497
#3  0xc08380f6 in sleepq_wait (wchan=0xd4176394) at 
/usr/src/sys/kern/subr_sleepqueue.c:580
#4  0xc080a92a in _sleep (ident=0xd4176394, lock=0xc0ceb498, priority=80, 
wmesg=0xc0bb656e "ufs", timo=0) at /usr/src/sys/kern/kern_synch.c:230
#5  0xc07ea9fa in acquire (lkpp=0xcd7375a0, extflags=Variable "extflags" is not 
available.
) at /usr/src/sys/kern/kern_lock.c:151
#6  0xc07eb2ec in _lockmgr (lkp=0xd4176394, flags=8194, interlkp=0xd41763c4, 
td=0xce1146c0, file=0xc0bc20c8 "/usr/src/sys/kern/vfs_subr.c", line=2062)
 at /usr/src/sys/kern/kern_lock.c:384
#7  0xc0a24765 in ffs_lock (ap=0xcd737608) at 
/usr/src/sys/ufs/ffs/ffs_vnops.c:377
#8  0xc0b26876 in VOP_LOCK1_APV (vop=0xc0ca4740, a=0xcd737608) at 
vnode_if.c:1618
#9  0xc0896d76 in _vn_lock (vp=0xd417633c, flags=8194, td=0xce1146c0, 
file=0xc0bc20c8 "/usr/src/sys/kern/vfs_subr.c", line=2062) at vnode_if.h:851
#10 0xc0889da4 in vget (vp=0xd417633c, flags=8194, td=0xce1146c0) at 
/usr/src/sys/kern/vfs_subr.c:2062
#11 0xc087bd23 in vfs_hash_get (mp=0xce0962d0, hash=143173100, flags=Variable 
"flags" is not available.
) at /usr/src/sys/kern/vfs_hash.c:81
#12 0xc0a1e429 in ffs_vgetf (mp=0xce0962d0, ino=143173100, flags=2, 
vpp=0xcd737800, ffs_flags=0) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1400
#13 0xc0a1e95e in ffs_vget (mp=0xce0962d0, ino=143173100, flags=2, 
vpp=0xcd737800) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1380
#14 0xc0a00765 in ffs_valloc (pvp=0xd1f72678, mode=33152, cred=0xcf024700, 
vpp=0xcd737800) at /usr/src/sys/ufs/ffs/ffs_alloc.c:970
#15 0xc0a30945 in ufs_makeinode (mode=33152, dvp=0xd1f72678, vpp=0xcd737a64, 
cnp=0xcd737a78) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2254
#16 0xc0a310c0 in ufs_create (ap=0xcd73799c) at 
/usr/src/sys/ufs/ufs/ufs_vnops.c:193
#17 0xc0b26ed2 in VOP_CREATE_APV (vop=0xc0ca4740, a=0xcd73799c) at 
vnode_if.c:206
#18 0xc09c02ad in nfsrv_create (nfsd=0xcde57500, slp=0xcde37000, td=0xce1146c0, 
mrq=0xcd737c58) at vnode_if.h:112
#19 0xc09c7a61 in nfssvc (td=0xce1146c0, uap=0xcd737cfc) at 
/usr/src/sys/nfsserver/nfs_syscalls.c:456
#20 0xc0b108e5 in syscall (frame=0xcd737d38) at 
/usr/src/sys/i386/i386/trap.c:1101
#21 0xc0af4290 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:262
#22 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)

John Hickey
j...@deterlab.net


_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to