Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2006 09:26:27 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: RELENG_6 devfs problem
Message-ID:  <20060113092535.I38874@fledge.watson.org>
In-Reply-To: <20060113071932.GA62526@xor.obsecurity.org>
References:  <200601051154.32092.doconnor@gsoft.com.au> <20060111210323.G28748@fledge.watson.org> <20060113071932.GA62526@xor.obsecurity.org>

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

On Fri, 13 Jan 2006, Kris Kennaway wrote:

>> 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.
>
> I don't use rulesets, and I encountered the same problem when using minicom 
> to talk to serial ports.  I didn't yet have time to debug it, but I can 
> provide instructions for repeating it.

I may or may not have time to dig in, but if you could file the details in a 
PR (if you haven't already) I can try and take a look.  Another similar lock 
leak wouldn't surprise me.  "show alllocks" in DDB once the wedge had happened 
would be very helpful.

Robert N M Watson



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