From owner-freebsd-current@FreeBSD.ORG Fri Mar 3 03:05:19 2006 Return-Path: X-Original-To: FreeBSD-current@freebsd.org 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 B395C16A423; Fri, 3 Mar 2006 03:05:19 +0000 (GMT) (envelope-from yds@CoolRat.org) Received: from dppl.com (sapas.dppl.com [216.182.10.231]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34E5943D46; Fri, 3 Mar 2006 03:04:43 +0000 (GMT) (envelope-from yds@CoolRat.org) Received: from [192.168.1.73] (c-69-242-5-144.hsd1.pa.comcast.net [69.242.5.144]) (AUTH: LOGIN yds) by dppl.com with esmtp; Thu, 02 Mar 2006 22:04:34 -0500 Date: Thu, 02 Mar 2006 22:04:32 -0500 From: Yarema To: FreeBSD-gnats-submit@freebsd.org, FreeBSD-current@freebsd.org Message-ID: In-Reply-To: <20060301201937.GA29208@xor.obsecurity.org> References: <20060228195343.GA85313@xor.obsecurity.org> <3BD79FAD83E2122EC1644386@ramen.coolrat.org> <20060301201937.GA29208@xor.obsecurity.org> X-Mailer: Mulberry/4.0.3 (Mac OS X) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Mailman-Approved-At: Fri, 03 Mar 2006 03:22:21 +0000 Cc: David Rhodus , Dennis Koegel , Martin Machacek , Kris Kennaway , Dmitry Pryanishnikov , Pawel Jakub Dawidek Subject: Re: kern/93942: panic: ufs_dirbad: bad dir X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 03 Mar 2006 03:05:19 -0000 Update: Attempting to mount my corrupt /home slice produces the following: Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0xdab2d004 fault code = supervisor read, page not present instruction pointer = 0x20:0xc06ff7d7 stack pointer = 0x28:0xe9c56514 frame pointer = 0x28:0xe9c56570 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 73 (mount) trap number = 12 panic: page fault cpuid = 0 Uptime 23s Dumping 1023 MB (2 chunks) chunk 0: 1MB (159 pages) ... ok chunk 1: 1023MB (261748 pages) ... ok However I am able to mount this same corrupt /home partition with the 6.1-BETA2 kernel without error. After tweaking, building and testing my custom KERNCONF the problem seems to be with: options UFS_EXTATTR options UFS_EXTATTR_AUTOSTART which according to the src/sys/ufs/ufs/README.* should only effect UFS1. I only use UFS2, so technically I do not need these options. To sum up: my computer became unresponsive. Reboot and fsck produced a "panic: ufs_dirbad: bad dir". Many fsck -f runs later 'mount -r /home' started causing the "Fatal trap 12: page fault while in kernel mode" panic. Booting a kernel without options UFS_EXTATTR & UFS_EXTATTR_AUTOSTART does not cause this mount proc kernel panic. I have a vmcore dump if anyone cares to look at it. Question: Why does fsck mark a UFS2 clean, but a kernel with options UFS_EXTATTR & UFS_EXTATTR_AUTOSTART still cause a kernel panic on that one UFS2 but none of the other UFS2 slices? Regarding the src/sys/kern/vfs_cluster.c patch. All of the testing described above was performed with the patch applied. But the initial corruption occurred before the patch. It would be nice if someone who understands that code looked at it, blessed it and got it committed. We will only find out if the patch indeed fixes the ufs_dirbad problem if all those who've been bitten by this bug no longer run into this sort of corruption over time. -- Yarema