Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 May 1997 16:05:49 +0200
From:      Tor Egge <Tor.Egge@idi.ntnu.no>
To:        rsanders@mindspring.net
Cc:        current@FreeBSD.ORG
Subject:   Re: Boom! :-)
Message-ID:  <199705291405.QAA22937@pat.idt.unit.no>
In-Reply-To: Your message of "29 May 1997 01:57:18 -0400"
References:  <knenaqbz29.fsf@xena.mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> Doug Rabson <dfr@nlsystems.com> writes:
> 
> > This is a workaround for the lockstatus panic.  A better fix will probably
> > have to wait until Peter is finished with poll(2).
> 
> That seems to have helped with the lockstatus panic.  Now I have a
> different problem, detailed below.  

[...]
> (kgdb) p *vp 
> $3 = {v_flag = 768, v_usecount = 0, v_writecount = 0, v_holdcnt = 0, 
	         ^^^               ^
		 VXLOCK | VXWANT, and a `free' vnode
[...]

> Should this vnode exist without an underlying inode?  I know very
> little about the BSD kernel, so excuse the naive question.

This occurs during cleaning, for a very short interval, where nothing
should block. In this case, something blocked.

> This may simply be superstition, but these panics always follow within
> an update period of me killing pppd to bring down a kernel PPP
> connection.  It does seem significant that v_type = VCHR and the
> problem seems to coincide with me closing a PPP session on a character
> device (/dev/cuaa2).  Unfortunately, without knowing what inode v_data
> used to point to, I suppose there's no way to trace the origin on this
> vnode.

If you perform a `ps axl' on the kernel/core combination, one process
should be marked as being in `vn_loc'. If you look at the kernel stack
trace of that process, you'll probably see more useful info (e.g. a
deadlock).

Try updating to revision 1.40 of src/sys/miscfs/specfs/spec_vnops.c.

- Tor Egge



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