Ufs dead-locks on freebsd 6.2

Andrew Edwards aedwards at sandvine.com
Thu May 17 18:09:10 UTC 2007


When I initially built my kernel it was from a fresh copy of 6.2-release
which I then sync'd to 6-stable and I used cvsup to do it so I believe
it should be clean.  I will look into running memtest86 on it to see if
anything had happened to the memory.

> -----Original Message-----
> From: Kostik Belousov [mailto:kostikbel at gmail.com] 
> Sent: Thursday, May 17, 2007 1:48 PM
> To: Andrew Edwards
> Cc: freebsd-performance at freebsd.org; freebsd-fs at freebsd.org
> Subject: Re: Ufs dead-locks on freebsd 6.2
> 
> On Thu, May 17, 2007 at 01:03:37PM -0400, Andrew Edwards wrote:
> > Here it is.
> > 
> > db> show vnode 0xccd47984
> > vnode 0xccd47984: tag ufs, type VDIR
> >     usecount 5135, writecount 0, refcount 5137 mountedhere 0
> >     flags (VV_ROOT)
> >     v_object 0xcd02518c ref 0 pages 1
> >     #0 0xc0593f0d at lockmgr+0x4ed
> > #1 0xc06b8e0e at ffs_lock+0x76
> > #2 0xc0739787 at VOP_LOCK_APV+0x87
> > #3 0xc0601c28 at vn_lock+0xac
> > #4 0xc05ee832 at lookup+0xde
> > #5 0xc05ee4b2 at namei+0x39a
> > #6 0xc05e2ab0 at unp_connect+0xf0
> > #7 0xc05e1a6a at uipc_connect+0x66
> > #8 0xc05d9992 at soconnect+0x4e
> > #9 0xc05dec60 at kern_connect+0x74
> > #10 0xc05debdf at connect+0x2f
> > #11 0xc0723e2b at syscall+0x25b
> > #12 0xc070ee0f at Xint0x80_syscall+0x1f
> > 
> >         ino 2, on dev amrd0s1a
> It seems to be the sort of things that cannot happen. 
> VOP_LOCK() returned 0, but vnode was not really locked.
> 
> Although claiming that kernel code cannot have such bug is 
> too optimistic, I would first make sure that:
> 1. You checked the memory of the machine.
> 2. Your kernel is built from pristine sources.
> 
> > 
> > > -----Original Message-----
> > > From: Kostik Belousov [mailto:kostikbel at gmail.com]
> > > Sent: Thursday, May 17, 2007 1:01 PM
> > > To: Andrew Edwards
> > > Cc: freebsd-performance at freebsd.org; freebsd-fs at freebsd.org
> > > Subject: Re: Ufs dead-locks on freebsd 6.2
> > > 
> > > On Thu, May 17, 2007 at 11:44:15AM -0400, Andrew Edwards wrote:
> > > >  I've upgraded to 6-stable, added the kernel options as per
> > > the kernel
> > > > handbook.  After about 5 hours of they system in a deadlock
> > > it panic'd.
> > > > Here's the backtrace, and show pcpu, show allpcpu, show locks, 
> > > > show alllocks, show lockedvnods and alltrace.
> > > > 
> > > > I will have the system down for approx another 15-20mins if 
> > > > there's anything else someone would like while I'm in 
> the debugger.
> > > > 
> > > > 
> > > > db> bt
> > > > Tracing pid 46784 tid 105112 td 0xd44a8000
> > > > kdb_enter(c0785f13) at kdb_enter+0x2b
> > > > vfs_badlock(c0785f2c,c0786051,ccd47984) at vfs_badlock+0x47
> > > > assert_vop_locked(ccd47984,c0786051) at assert_vop_locked+0x4a
> > > > vop_lock_post(f9f709dc,0,1002,ccd47984,f9f709f8,...) at 
> > > > vop_lock_post+0x2a
> > > > VOP_LOCK_APV(c07dc2e0,f9f709dc) at VOP_LOCK_APV+0xa0
> > > > vn_lock(ccd47984,1002,d44a8000) at vn_lock+0xac
> > > > lookup(f9f70c08) at lookup+0xde
> > > > namei(f9f70c08) at namei+0x39a
> > > > unp_connect(d44b2de8,d44dc380,d44a8000,d44b2de8,25,...) at 
> > > > unp_connect+0xf0
> > > > uipc_connect(d44b2de8,d44dc380,d44a8000) at uipc_connect+0x66
> > > > soconnect(d44b2de8,d44dc380,d44a8000) at soconnect+0x4e
> > > > kern_connect(d44a8000,7,d44dc380,d44dc380,0,...) at
> > > kern_connect+0x74
> > > > connect(d44a8000,f9f70d04) at connect+0x2f
> > > > syscall(3b,805003b,bfbf003b,bfbfd920,bfbfd922,...) at 
> > > > syscall+0x25b
> > > > Xint0x80_syscall() at Xint0x80_syscall+0x1f
> > > 
> > > Could you, please, do the "show vnode 0xccd47984" from 
> ddb prompt or 
> > > "p/x *(struct vnode *)0xccd47984" from kgdb using dump for this 
> > > panic ?
> > > 
> > > Side note: it seems that on HEAD, vnode_if.awk does not generate 
> > > call to vop_lock_{pre,post} due to mismatch in the name 
> of vop and 
> > > pre/post names.
> > > 
> > > 
> > > 
> > _______________________________________________
> > freebsd-fs at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> > To unsubscribe, send any mail to 
> "freebsd-fs-unsubscribe at freebsd.org"
> 


More information about the freebsd-performance mailing list