From owner-freebsd-current@FreeBSD.ORG Fri Nov 28 16:38:11 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 3ACA616A4CE for ; Fri, 28 Nov 2003 16:38:11 -0800 (PST) Received: from gaia.roc2.gblx.net (gaia.roc2.gblx.net [208.49.223.89]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E0A543FDF for ; Fri, 28 Nov 2003 16:38:09 -0800 (PST) (envelope-from dsf@gblx.net) Received: from gaia.roc2.gblx.net (localhost [127.0.0.1]) by gaia.roc2.gblx.net (8.12.10/8.12.9) with ESMTP id hAT0c84t028750; Sat, 29 Nov 2003 00:38:08 GMT Received: (from dsf@localhost) by gaia.roc2.gblx.net (8.12.10/8.12.10/Submit) id hAT0c87I029799; Sat, 29 Nov 2003 00:38:08 GMT Date: Sat, 29 Nov 2003 00:38:08 +0000 From: Dan Foster To: freebsd-current@freebsd.org Message-ID: <20031129003808.GA18428@gblx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i Subject: 5.2-BETA/x86: softupdates on / kills installation 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: Sat, 29 Nov 2003 00:38:11 -0000 This is from 5.2-BETA-20031127-JPSNAP.iso on a P4/800FSB/HT system: Note: this was manually transcribed because of the nature of the bug (installation failure), was unable to obtain a crash dump to be saved. It's completely reproducible on every installation attempt *IFF* softupdates is enabled for the / filesystem. If softupdates is not enabled for / at installation time, the installation succeeds normally. It crashes to DDB when it's about to extract files from base/base.ag: 9073664 bytes read from base dist, chunk 7 of 35 @ 1814.7 KBytes/sec. kernel: type 12 trap, code=0 Stopped at _mtx_assert+0x4e: movl 0x1c(%ebx),%eax db> trace _mtx_assert(0,1,c08afff0,63e,1000>) at mtx_assert+0x4e vm_page_set_invalid(c22540d0,0,1000,554,0) at vm_page_set_invalid+0x35 brelse(d3505a60,0,e2242b90,c70a1a00,cbcf0000) at brelse+0x52b softdep_disk_io_initiation(d35056f0,c6cf0000,e2242bc4,246,c089e678) at softdesk_disk_io_initialization+0xc4 spec_xstrategy(c721e30c,d35056f0,d5b,c089e678,d35056f0) at spec_xstrategy+0x117 spec_specstrategy(e2242bf8,f4,c2278310,4,d35056f0) at spec_specstrategy+0x72 ufs_strategy(e2242c3c,e2242c6c,c06b718d,e2242c3c,1) at ufs_strategy+0x13c ufs_vnoperate(e2242c3c,1,c089e678,360,c0980340) at ufs_vnoperate+0x18 bwrite(d35056f0,0,c089e678,69b,880aa40) at bwrite+0x44d vfs_bio_awrite(d35056f0,0,c089e678,88e,c6cf0000) at vfs_bio_awrite+0x252 flushbufqueues(0,0,c089e678,819,64) at flushbufqueues+0x247 buf_daemon(0,e2242d48,c0896058,311,fcd2e824) at buf_daemon+0xdc fork_exit(c06b97c0,0,e2242d48) at fork_exit+0xb4 fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xe2242d7c, ebp = 0 --- db> So it's clearly a bug tickled by softupdates being enabled; eventually works its way to brelse() which then calls vm_page_set_invalid() and that fails due to some sort of mutex assertion. I don't know the VM system well enough to debug it further. I'd be happy to do any additional testing with a customized image or whatever -- I've got an external drive dedicated solely for fbsd overwrite install tests. I've run into this bug whenever I tried to install from 5.1-CURRENT for a few months now (didn't try before then) so it doesn't seem to be a new issue. I've also found at least two mentions of this bug seen by others in this mailing list in the past few months, but nothing in the bugs tracking db so guess I'll send-pr a report along, soon. Looks like it crashes and burns at installation time only if / has softupdates enabled; if either a single / fs has softupdates disabled OR if in a multiple filesystem setup, only / has softupdates disabled, then installation works fine. Perhaps a note in the installation document to have softupdates for / disabled for at least the installation as a current workaround would be warranted? (I imagine it should work ok post-installation to enable softupdates on / if desired, but haven't tested that scenario yet.) Hardware details of system in question provided upon request; didn't supply since this looks more like a software issue (since it's reproducible at will on various hard drives, both internal and external, on different controllers and busses... IDE, USB, and Firewire, as well as given the particular backtrace.) -Dan