Subject: 2.0.2_STABLE hang while doing a newfs
To: NetBSD sparc64 <port-sparc64@NetBSD.org>
From: Michael-John Turner <mj@turner.org.za>
List: port-sparc64
Date: 08/07/2005 12:36:17
Hi

This morning I was newfs'ing one of the filesystems on my Ultra 2 running
2.0.2_STABLE (built Fri Jul  8 20:12:15 SAST 2005) when the machine hung.
The machine just stopped responding and I had to send a break to the
serial port to break into the debugger (ie no panic). I was running
multiuser and while doing the newfs two users were accessing the squid
proxy running on the machine.

FWIW, the machine is using RAIDframe RAID1 for its filesystems and I was
using a slightly smaller than usual block size and fragment size for the
filesystem (8192 bytes and 1024 bytes for a ~10GiB filesystem). Command
used was: newfs -b 8192 -f 1024 -o time /dev/raid0g

Here's the backtrace:
db> bt
zsc_intr_hard(8, 33cbfb0, a, 182bc58, 2b2be31, 310) at netbsd:zsc_intr_hard+0x124 
zshard(25f8c00, 33cb2b0, e95dcaa, 17f0, c680f60, 12540000) at netbsd:zshard+0x8
intr_list_handler(24cfd80, 5, e0017ed0, 2b0f800, 1197cf8, d9c0000) at netbsd:intr_list_handler+0x1
sparc_interrupt(0, d9cb000, 0, 0, 2b0f800, 1891400) at netbsd:sparc_interrupt+0x1d4 
allocbuf(2c47e10, 129f0000, 0, 2b0f800, 5f6800, 800) at netbsd:allocbuf+0x190
getblk(d183680, fffffffffffffff4, 4000, 0, 0, 0) at netbsd:getblk+0x10c      
bread(d183680, c61b860, 4000, ffffffffffffffff, c6814b8, 2a88400) at netbsd:bread+0x38 
ffs_balloc_ufs1(0, ffffffffffffffff, 0, 0, d183680, c6817c0) at netbsd:ffs_balloc_ufs1+0x3dc 
VOP_BALLOC(d183680, 35c000, 698, 2b0f800, 0, 0) at netbsd:VOP_BALLOC+0x38
ufs_gop_alloc(d183680, 35c000, 698, 0, 2b0f800, 1) at netbsd:ufs_gop_alloc+0x60
ufs_balloc_range(0, 35c000, 698, 2b0f800, 0, 38) at netbsd:ufs_balloc_range+0x1b0 
ffs_write(0, 35c660, 0, 0, 2b0f800, 2) at netbsd:ffs_write+0x258
VOP_WRITE(d183680, c681b90, 3, 2b0f800, 5f6800, 800) at netbsd:VOP_WRITE+0x30
vn_write(0, d118818, c681b90, 38, 1, 1) at netbsd:vn_write+0xe4              
dofilewrite(16, e, d1187e0, 73a780, 38, d118818) at netbsd:dofilewrite+0x78
sys_write(9, c681dd0, c681dc0, 0, c681dd0, 0) at netbsd:sys_write+0x68
syscall(c681ed0, 4, 41230ff4, c681dd0, 41230ff4, 41230ff8) at netbsd:syscall+0xd4 
?(e, 73a780, 38, 1ab270, 30, 302800) at 0x1008cb8

Any thoughts? 

-mj
-- 
Michael-John Turner | http://weblogs.turner.org.za/mj/
mj@turner.org.za    | Open Source in WC ZA - http://www.clug.org.za/