Subject: kern/29045: recent diagnositic KASSERT/panics in lfs_segment.c
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <paul@Plectere.com>
List: netbsd-bugs
Date: 01/22/2005 15:14:00
>Number:         29045
>Category:       kern
>Synopsis:       recent diagnositic KASSERT/panics in lfs_segment.c
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jan 22 15:14:00 +0000 2005
>Originator:     Paul Shupak
>Release:        NetBSD 2.99.14
>Organization:
	
>Environment:
Architecture: i386
Machine: i386
>Description:
	Updating the kernel has led to 6 panics within an hour (w/ fsck
	and raidctl -S - this really means about every 2-3 minutes).  The
	panics are trigged on either the KASSERT at line 1092 in file
	lfs_segment.c, function lfs_gather() and the KASSERT at line 1219
	in the function lfs_update_single().

	Previous kernel on the same machine was 2.99.11 and did/does not
	exhibit the same problem, causing me to guess that it is related
	to the recent changes to the VOP_xxx's not being checked against
	or applied to the LFS code (lfs_segment.c is at version 1.55 with a
	last change date of 2004/09/18).

>How-To-Repeat:
	Trivial method for reproducting the KASSERT at line 1092:

	% newfs_lfs /dev/raid1g (for my layout)
	% mount /dev/raid1g /usr/pkg
	% mkdir /usr/obj/pkg
	% sync (or sometimes, just wait a minute)
	DDB>

	The second KASSERT has been triggered twice by build.sh (note:
	this is "/usr/obj" on the machine).

	I can make a dump and full debug kernel available for some of
	these crashes available (others have sensitive info in memory).

>Fix:
	newfs -O2 /dev/raid1g (i.e. don't use LFS - not much of a workaround)

>Unformatted:
 	-current as of about a half an hour ago