Subject: kern/34735: diagnostic assertion failed genfs_vnops.c 1123
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <bouyer@lip6.fr>
List: netbsd-bugs
Date: 10/06/2006 17:40:01
>Number:         34735
>Category:       kern
>Synopsis:       diagnostic assertion failed  genfs_vnops.c 1123
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Oct 06 17:40:01 +0000 2006
>Originator:     bouyer@lip6.fr
>Release:        NetBSD 3.1_RC1
>Organization:

Manuel Bouyer <bouyer@lip6.fr>
     NetBSD: 26 ans d'experience feront toujours la difference

>Environment:
	
System: 3.1_RC1 NetBSD 3.1_RC1 (FTP) #3: Wed Sep  6 00:28:29 CEST 2006 
bouyer@blues.lip6.fr:/Volumes/data/bouyer/tmp/amd64/obj/Volumes/data/bouyer/netbsd-3/src/sys/arch/amd64/compile/FTP amd64
Architecture: amd64
Machine: amd64
>Description:
	This box is a ftp/http server, with quite a lot of traffic serving
	static files. ftp is the ftpd from base distrib started from inetd,
	httpd is apache 2.0 from pkgsrc-2006Q2. Both a configured to use
	mmap.

	It has been running for about a month without problems.
	Today the box paniced with:
panic: kernel diagnostic assertion "startoff < endoff || endoff == 0" failed: file "/Volumes/data/bouyer/netbsd-3/src/sys/miscfs/genfs/genfs_vnops.c", line 1123

	cpu_Debugger() at netbsd:cpu_Debugger+0x5
	panic() at netbsd:panic+0x1c8
	__assert() at netbsd:__assert+0x21
	genfs_putpages() at netbsd:genfs_putpages+0x6e9
	uvn_put() at netbsd:uvn_put+0x31
	uvm_map_clean() at netbsd:uvm_map_clean+0x246
	sys_madvise() at netbsd:sys_madvise+0x75
	syscall_plain() at netbsd:syscall_plain+0xe4

	The box was not specially loaded when this happened (it had much
	highter load in the past days); but I changed vm.filemax to 75
	(from default) 3 days ago; and this caused the box to start swapping
	a little (before this the swap space was completely unused).
	Maybe it's related.


>How-To-Repeat:
	Run ftpd/httpd with mmap ? Maybe tune filemax so that the box
	pushes some pages to swap to make root for filecache.
>Fix:
	unknown.