Date: 16 Jul 2002 15:11:39 +0200 From: Dag-Erling Smorgrav <des@ofug.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: alpha@FreeBSD.ORG, current@FreeBSD.ORG Subject: Re: VOP_GETATTR panic on Alpha Message-ID: <xzpador3jhw.fsf@flood.ping.uio.no> In-Reply-To: <15668.5911.639776.253419@grasshopper.cs.duke.edu> References: <xzpele33kq0.fsf@flood.ping.uio.no> <15668.5911.639776.253419@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin <gallatin@cs.duke.edu> writes:
> Welcome to hell.
Thanks, it sure looks cozy in here :)
> If you clear panicstr, you have a chance of getting a dump.
How do I do that?
BTW, I've looked at the code in vn_statfile():
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
error = vn_stat(vp, sb, td);
VOP_UNLOCK(vp, 0, td);
it seems that either vn_lock() fails to actually lock the vnode, or
there's a race condition that causes the vnode to get unlocked between
vn_lock() and vn_stat(). Since the panic is 100% reproducible, I'm
inclined to think it's the former. Note that vn_statfile() fails to
check the return code from vn_lock(), but LK_RETRY is supposed to mean
vn_lock() never fails.
DES
--
Dag-Erling Smorgrav - des@ofug.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpador3jhw.fsf>
