Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2006 21:06:32 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Daniel O'Connor <doconnor@gsoft.com.au>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: RELENG_6 devfs problem
Message-ID:  <20060111210323.G28748@fledge.watson.org>
In-Reply-To: <200601051154.32092.doconnor@gsoft.com.au>
References:  <200601051154.32092.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

On Thu, 5 Jan 2006, Daniel O'Connor wrote:

> I just installed the latest mgetty and ran it, then found it wasn't talking 
> to my modem so I disabled it in /etc/ttys and killed the process.
>
> I ran fstat /dev/cuad0 to check it was dead and fstat got stuck in the devfs 
> state. It seems that everything else was stuck too and now the machine is 
> alive but not very functional.
>
> What can I do to try and debug it?

Do you use devfs rule sets?  I fixed a bug a week or so ago in devfs_rule.c in 
HEAD, and MFC'd the fix today.  The symptoms are much what you describe, and 
occur when an invalid rule is proposed -- the right error is returned, but a 
lock is not released resulting in it being unavailable when processes try to 
access device nodes, resulting in eventual deadlock.  It's devfs_rule.c:1.21 
in HEAD, and devfs_rule.c:1.14.2.3 in RELENG_6.  I belive the bug does not 
exist in RELENG_5, as there were significant changes in devfs locking for 6.0, 
and those haven't been merged to RELENG_5.

If this doesn't fix it, the normal debugging steps apply -- compile in DDB, 
BREAK_TO_DEBUGGER, and WITNESS.  When the wedge occurs, dump the lock state 
(show alllocks), and we'll see if we can track down the problem.

Robert N M Watson



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