Subject: locking problem?!?
To: None <current-users@netbsd.org>
From: Kurt Schreiner <ks@ub.uni-mainz.de>
List: current-users
Date: 03/15/2007 14:21:46
Hi,

since around Sunday I have this one reproducible (just rsync a large chunk
of data and wait for disk activity on the receiving machine. "works" on an
P4 2.8 w/ HT enabled, an oldish PII 400 dualboard and on my w2100z dual opteron
system).
All three machines hang hard w/ a "normal" kernel (having to press "Reset"),
compiling w/ LOCKDEBUG I get the following (on amd, sources cvs update'd 
ca. 11:00 UTC today):

simple_lock: locking against myself
lock: 0xffffffff806480f0, currently at: /u/NetBSD/src/sys/kern/subr_pool.c:2051
on CPU 0
last locked: /u/NetBSD/src/sys/kern/subr_pool.c:2126
last unlocked: /u/NetBSD/src/sys/kern/subr_pool.c:2100
uvm_fault(0xffff80005d584250, 0x0, 1) -> e
kernel: page fault trap, code=0
Stopped in pid 1150.1 (sshd) at netbsd:db_read_bytes+0x3b:      movl    0(%rdi),
%eax
db{0}> 
db_read_bytes() at netbsd:db_read_bytes+0x3b
db_get_value() at netbsd:db_get_value+0x1a
db_stack_trace_print() at netbsd:db_stack_trace_print+0x2cb
_simple_lock() at netbsd:_simple_lock+0x2b2
pool_cache_get_paddr() at netbsd:pool_cache_get_paddr+0x47
bge_newbuf_std() at netbsd:bge_newbuf_std+0x1bc
bge_intr() at netbsd:bge_intr+0x428
intr_biglock_wrapper() at netbsd:intr_biglock_wrapper+0x1f
Xintr_ioapic_level5() at netbsd:Xintr_ioapic_level5+0xdb
--- interrupt ---
Xspllower() at netbsd:Xspllower+0xe
sodopendfreel() at netbsd:sodopendfreel+0x77
sodopendfree() at netbsd:sodopendfree+0x1a
soreceive() at netbsd:soreceive+0xb4
dofileread() at netbsd:dofileread+0xd2
sys_read() at netbsd:sys_read+0xc1
syscall_plain() at netbsd:syscall_plain+0x1cf
uvm_fault(0xffff80005d584250, 0x0, 1) -> e
kernel: page fault trap, code=0
Faulted in DDB; continuing...

Kurt