Re: Deadlock while testing on a 64 MB filesystem

From: John Baldwin <jhb_at_freebsd.org>
Date: Wed, 25 Oct 2006 15:45:52 -0400
On Wednesday 25 October 2006 15:22, Peter Holm wrote:
> On Wed, Oct 25, 2006 at 01:33:41PM -0400, John Baldwin wrote:
> > On Monday 23 October 2006 04:48, Peter Holm wrote:
> > > After some prodding by phk_at_ I made a test for problems seen with
> > > "newfs -b 32768 -f 4096".
> > > 
> > > http://people.freebsd.org/~pho/stress/log/cons218.html
> > > 
> > > I was using these watchdog options:  -t 900 -e 'ls /tmp /dev
> > > /mnt > /dev/null; true' -s 60 and /mnt was the mount point for the test
> > > filesystem.
> > 
> > Looks like the root is held by 97785:
> > 
> > 0xc61292a0: tag ufs, type VDIR
> >     usecount 35, writecount 0, refcount 39 mountedhere 0
> >     flags (VV_ROOT)
> >     v_object 0xc5c2f9d8 ref 0 pages 1
> >      lock type ufs: EXCL (count 1) by thread 0xc47ea6c0 (pid 97785) with 
12 
> > pending
> > 
> > And it is blocked on another lockmgr lock:
> > 
> > 97785   997 97785  1001  S+      getblk   0xd7f43588 ls
> > 
> > lockmgr(d7f43588,202122,c6129368,c47ea6c0) at lockmgr+0x46e
> > getblk(c61292a0,0,0,1000,0,...) at getblk+0x12f
> > breadn(c61292a0,0,0,1000,0,...) at breadn+0x2f
> > bread(c61292a0,0,0,1000,0,...) at bread+0x20
> > ffs_read(e69f7bac) at ffs_read+0x23f
> > 
> > Can you find the bp in getblk and print out the associated lock?  I'm 
guessing 
> > it's share locked by someone else?
> > 
> 
> I have updated cons218 with what I hope is the requested info.

Ah, it's got one of those "bogus" owners:

lk_lockholder = 0xfffffffe

aka LK_KERNPROC.  I don't grok enough buf/bio stuff to dive into this further.  
Maybe phk (cc'd) can help.

-- 
John Baldwin
Received on Wed Oct 25 2006 - 17:46:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:01 UTC