Subject: raidctl panic
To: None <tech-kern@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: tech-kern
Date: 12/06/2007 16:51:23
Hi,
running raidctl -c on current with debug options I get:
panic: kernel diagnostic assertion "(l) == curlwp" failed: file "/dsk/l1/misc/bouyer/current/src/sys/dev/dksubr.c", line 640
Stopped in pid 8.1 (raidctl) at netbsd:breakpoint+0x1:  ret
breakpoint() at netbsd:breakpoint+0x1
__kernassert() at netbsd:__kernassert+0x2d
dk_lookup() at netbsd:dk_lookup+0x198
rf_ConfigureDisk() at netbsd:rf_ConfigureDisk+0x10a
rf_ConfigureDisks() at netbsd:rf_ConfigureDisks+0xb9
rf_Configure() at netbsd:rf_Configure+0x6fc
raidioctl() at netbsd:raidioctl+0xf05
VOP_IOCTL() at netbsd:VOP_IOCTL+0x2e
vn_ioctl() at netbsd:vn_ioctl+0x79
sys_ioctl() at netbsd:sys_ioctl+0x1bc
syscall() at netbsd:syscall+0xe5

Reading the code I understand why we get a panic (rf_ConfigureDisk pass
raidPtr->engine_thread to dk_lookup()), the question is what would be
the fix ...

-- 
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
     NetBSD: 26 ans d'experience feront toujours la difference
--