Subject: ufs disk full panic
To: None <current-users@netbsd.org>
From: Bruce J.A. Nourish <bjan+current-users@bjan.net>
List: current-users
Date: 11/25/2003 14:53:10
Hey everyone,

Last night, I was running ZF from a few days ago. I had just killed
X due to some problems with xscreensaver + Xinerama (screensavers
running wild). I entered mutt on a tty, and then the screen filled
up with errors about / bieng full. I suspended mutt and ran 
"du -sh /*". Next thing, I was in the kernel debugger. This
is a transcript of what I saw, written by hand:

uvm_fault(0x41d77c0,0,0,1) -> 0xe
kernel: page fault trap, code = 0
stopped in pid 586.1 (du) at netbsd:ufs_strategy+0x56: movl 0xc(%eax), %eax

The backtrace yielded the following functions, in order:
ufs_strategy, bread, ffs_read, VOP_READ, ufs_readdir, VOP_READDIR,
vn_readdir, sys_getdents, syscall_plain.

After booting into single user mode, I found the cause of the disk
full errors: about 1G of XFree86 log file, containing thousands of
lines of: 

_XSERVTransSocketUNIXAccept: accept() failed

Everything else seems fine.

I'm not sure if this is useful to anybody, as it's fairly obvious what
the immediate problem was. Still, I don't know if the kernel should
panic on a disk full error.
-- 
Bruce J.A. Nourish <bjan+public@bjan.net> http://bjan.net