Subject: lock errors on DIAGNOSTIC kernel after yamt-idlelwp merge
To: None <mhitch@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-m68k
Date: 05/19/2007 18:09:06
In <20070518014640.5696221507@cvs.netbsd.org>
mhitch@NetBSD.org wrote:

> Module Name:	src
> Committed By:	mhitch
> Date:		Fri May 18 01:46:40 UTC 2007
> 
> Modified Files:
> 	src/sys/arch/m68k/m68k: pmap_motorola.c switch_subr.s vm_machdep.c
> 
> Log Message:
> Common m68k changes for idlelwp.

Does a DIAGNOSTIC kernel work on amiga?

On hp300 (and also news68, sun3, sun3x) DIAGNOSTIC kernels
get the following mutex error during SCSI probe:
---
hpibbus4 at nhpib4
interrupt levels: bio = 4, net = 5, tty = 5
scsibus0: waiting 2 seconds for devices to settle...
Mutex error: mutex_vector_enter: locking against myself

lock address : 0x00000000001e67c0
current cpu  :                  0
current lwp  : 0x0000000003641d80
owner field  : 0x0000000027008000 wait/spin:                0/1

panic: lock error
Stopped in pid 0.2 (system) at  netbsd:cpu_Debugger+0x6:        unlk    a6
db> tr
cpu_Debugger(1e67c0,2700,fc2ba,35bede4,35bedf4) + 6
panic(19da9a,1af1da,fffffffa,1e67c0,3645c08) + 118
lockdebug_abort(0,1e67c0,1bb000,19a68c,199c73) + 4c
mutex_abort(1e67c0,19a68c,199c73,0,0) + 2e
mutex_vector_enter(1e67c0,0,0,0,0) + ee
sched_pstats(0,1e74a8,4,1543960,1da100) + f4
softclock(0) + 25c
softintr_dispatch(14bb6c,3641d80,ffffff00,253f50,14bb52) + 60
trap(9,0,0) + 5be
rei(3641d80) + 98
proc_trampoline() + 2
db> 
---

LOCKDEBUG kernels get a different error earlier (before init started):
---
nhpib4 at dio0 scode 135 ipl 3: 98624A HP-IB
hpibbus4 at nhpib4
interrupt levels: bio = 4, net = 5, tty = 5
Mutex error: lockdebug_barrier: spin lock held

lock address : 0x00000000001fe260 type     :               spin
shared holds :                  0 exclusive:                  1
shares wanted:                  0 exclusive:                  0
current cpu  :                  0 last held:                  0
current lwp  : 0x0000000003661b60 last held: 0x00000000001fd000
last locked  : 0x00000000000f65e0 unlocked : 000000000000000000
owner field  : 0x0000000027008000 wait/spin:                0/1

panic: LOCKDEBUG
Stopped in pid 1.1 (init) at    netbsd:cpu_Debugger+0x6:        unlk    a6
db> tr
cpu_Debugger(1fdc78,104736,20312c,3e8bdc4,3e8bdd4) + 6
panic(1aedda,1c55e2,20312c,3661b60,3661b60) + 118
lockdebug_abort1(20312c,2074ec,1b3a58,1b387f) + 5a
lockdebug_barrier(1fdc78,1,0,0,e7a36) + b2
mi_switch(3661b60,209630,0,0,e7a36) + 32
sleepq_block(0,0) + b2
ltsleep(1fb534,20,1ac902,0,0) + 130
start_init(3661b60) + 4a
proc_trampoline() + 2
db> show lock
Sorry, no record of a lock with address 0x15eb96 found.
db> 
---

Any idea?
---
Izumi Tsutsui