Subject: kern/17128: system freeze when MFS filesystem fills up
To: None <gnats-bugs@gnats.netbsd.org>
From: Alan Barrett <apb@cequrux.com>
List: netbsd-bugs
Date: 06/01/2002 12:44:39
>Number:         17128
>Category:       kern
>Synopsis:       system freeze when MFS filesystem fills up
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 01 03:47:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Alan Barrett
>Release:        NetBSD 1.5ZC
>Organization:
not much
>Environment:
Architecture: i386
Machine: i386
Build from sources checked out from CVS with "-r netbsd-1-6-base"
>Description:
I would expect MFS filesystems to continue to work even if they are
too big for physical memory, provided there is plenty of swap space.
However, the system locks up if you fill physical memory with an MFS
filesystem.

I was performing a CVS checkout into a subdirectory under /tmp (which is
an MFS filesystem), when the machine locked up.  Nothing seemed to work,
except alt-control-F1 to switch wscons to the first virtual console, and
alt-control-escape to enter DDB.

The machine has 256MB of physical memory, and about a gigabyte of swap.

/tmp is a 200MB MFS filesystem.  Here's the line from /etc/fstab:
swap		/tmp		mfs	rw,-s=200m	0 0

Inside DDB, "ps /w" showed the following interesting processes
(transcribed by hand, omitting some columns, and omitting processes that
seemed to be waiting for things that I recognised as being normal):

	COMMAND		WAIT-MSG	WAIT-CHANNEL
	cvs		pager_map	0xc0901f00
	screen-3.9.11	flt_noram1	uvmexp+0x10
	ntpd		flt_noram1	uvmexp+0x10
	mount_mfs	flt_noram5	uvmexp+0x10
	pagedaemon	emergva		emergva

DDB "show uvmexp" indicated that there was exactly one free page.  I didn't
write down any other details.

>How-To-Repeat:
Set up an MFS filesystem slightly smaller than physical memory, and start
filling it with files.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: