From owner-freebsd-current@FreeBSD.ORG Mon Dec 29 22:56:35 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BAB716A4CE for ; Mon, 29 Dec 2003 22:56:35 -0800 (PST) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id D70A443D53 for ; Mon, 29 Dec 2003 22:56:32 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id RAA21847; Tue, 30 Dec 2003 17:56:21 +1100 Date: Tue, 30 Dec 2003 17:56:20 +1100 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Stefan Ehmann In-Reply-To: <1072618904.757.12.camel@shoeserv.freebsd> Message-ID: <20031230173151.M6634@gamplex.bde.org> References: <1072618904.757.12.camel@shoeserv.freebsd> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: current@freebsd.org Subject: Re: page fault panic tracked down (selwakeuppri()) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2003 06:56:35 -0000 On Sun, 28 Dec 2003, Stefan Ehmann wrote: > Some weeks ago I posted about a panic in 5.2-BETA. > > After accessing a read-only ext2fs for some hours I got a "page fault" > panic (or rarely a "getblk: size(7537385) > MAXBSIZE(65536)"). The > backtrace was always somewhat different. You can read about it a bit > more detailed here: > > http://lists.freebsd.org/pipermail/freebsd-current/2003-November/015405.html > > After lots of buildworld and buildkernel I finally was able to detect > the commit that caused this panic. > > Current from 2003.11.09.09.00.00 runs fine for > 10 hours. Current from > 2003.11.09.09.20.00 crashed twice within less than 2 hours. > > The only src/sys commit in that time is > http://lists.freebsd.org/pipermail/cvs-src/2003-November/013515.html > where selwakeup()s is replaced with selwakeuppri(). > > So the problem must be somewhere in selwakeuppri(). > > I hope this can be resolved now. The selwakeuppri() changes aren't very related to this. They shouldn't affect anything except scheduling, so it looks like they just expose an old race. I suspect the locking changes on 2003/08/28 (ext2fs/fs.h rev.1.14 etc.). These were obviously wrong since they broke syncing of dirty buffers, especially at reboot time, but I didn't previously suspect that they had locking problems. The message in the above URL doesn't seem to have much to do with ext2fs, but it shows a panic in lockmgr() and the 2003/08/28 changes cause lockmgr() to be used with a different owner. I have farily large patches which do buffering in ext2fs in a different way so that the 2003/08/28 changes are irrelevant. I will send these in private mail. Bruce