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>