Subject: Re: -current kernel hangs on amd64
To: Kurt Schreiner <ks@ub.uni-mainz.de>
From: Andrew Doran <ad@netbsd.org>
List: current-users
Date: 10/10/2007 13:45:25
On Wed, Oct 10, 2007 at 01:22:10PM +0200, Kurt Schreiner wrote:

> trying "build.sh -j 8 ..." w/ a kernel build from -current
> cvs update'd an hour or so ago (userland two or three weeks
> old) and using the new scheduler results in:
> 
> NetBSD/amd64 (isunopti) (console)
> 
> login: Stopped in pid 8208.1 (nbmake) at       netbsd:breakpoint+0x1:  ret
> db{0}> bt
> breakpoint() at netbsd:breakpoint+0x1
> Xintr_ioapic_edge4() at netbsd:Xintr_ioapic_edge4+0xd7
> --- interrupt ---
> mutex_spin_retry() at netbsd:mutex_spin_retry+0x65
> sched_nextlwp() at netbsd:sched_nextlwp+0xcc
> mi_switch() at netbsd:mi_switch+0x1d5
> sleepq_block() at netbsd:sleepq_block+0x11a
> cv_wait_sig() at netbsd:cv_wait_sig+0x124
> pipe_read() at netbsd:pipe_read+0x32d
> dofileread() at netbsd:dofileread+0x89
> sys_read() at netbsd:sys_read+0x99
> syscall_plain() at netbsd:syscall_plain+0x1cb

It's a locking bug in SCHED_M2 or elsewhere. Unlike SCHED_4BSD it has
per-CPU locks. Given a quick look I don't see it.

Andrew