NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/38273: "lockdebug_barrier: spin lock held" from ld_ataraid_start_raid0()
The following reply was made to PR kern/38273; it has been noted by GNATS.
From: "Greg A. Woods" <woods%planix.com@localhost>
To: NetBSD GNATS <gnats-bugs%NetBSD.org@localhost>
Cc: NetBSD Kernel Bug People <kern-bug-people%netbsd.org@localhost>
Subject: Re: kern/38273: "lockdebug_barrier: spin lock held" from
ld_ataraid_start_raid0()
Date: Mon, 07 Apr 2008 08:29:43 -0400
I think this may be another view of the same bug, but I'm not 100% sure.
This panic occurs reliably many seconds into reading the raw ld0 device
with "dd if=/dev/rld0d of=/dev/null bs=20m" (up until the panic speeds
of over 57MB/s are observed):
Mutex error: lockdebug_barrier: spin lock held
lock address : 0x00000000c37b6ce0 type : spin
shared holds : 0 exclusive: 1
shares wanted: 0 exclusive: 0
current cpu : 1 last held: 1
current lwp : 0x00000000cdaf0720 last held: 0x00000000cdaf0720
last locked : 0x00000000c01f0a99 unlocked : 0x00000000c01f0c00
initialized : 0x00000000c01ef44d
owner field : 0x0000000000010500 wait/spin: 0/1
panic: LOCKDEBUG
Stopped in pid 716.1 (dd) at netbsd:breakpoint+0x4: popl %ebp
db{1}> x/I 0x00000000cdaf0720
0xcdaf0720: addb %al,0(%eax)
db{1}> whatis 0x00000000cdaf0720
0xcdaf0720 is 0xcdaf0000+1824 in POOL 'kvakernel' (allocated)
0xcdaf0720 is 0xcdaf0720+0 in POOL 'lwppl' (allocated)
0xcdaf0720 is 0xcdad7000+104224 from VMMAP 0xc0d3f7e0
db{1}> x/I 0x00000000c01f0a99
netbsd:ldstart+0x16: cmpl $0,0xc(%ebp)
db{1}> x/I 0x00000000c01ef44d
netbsd:ldattach+0x29: movl 0x8(%ebp),%eax
db{1}> x/I 0x00000000c01f0c00
netbsd:ldstart+0x17d: leave
db{1}> trace
breakpoint(cdb25478,5,cdb254ac,c058601b,c0a31b47) at netbsd:breakpoint+0x4
cpu_Debugger(c0a31b47,cdb254b8,c36c0800,c0586ecb,5) at netbsd:cpu_Debugger+0xb
panic(c0a30d74,c0586e6a,c0a30b92,c0a30ba4,0) at netbsd:panic+0x164
lockdebug_abort1(cda4cb00,c0d6e760,c0a30b92,c0a30ba4,1) at
netbsd:lockdebug_abort1+0x8d
lockdebug_barrier(c0d61b00,1,0,100,c0d64b00) at netbsd:lockdebug_barrier+0x103
mutex_vector_enter(c0d466f0,c36c0800,ffffffff,c36c0800,5) at
netbsd:mutex_vector_enter+0x2d1
pool_cache_invalidate(c0d46600,cdb255d4,cdb255d4,c057e9c5,c0d6e760) at
netbsd:pool_cache_invalidate+0x16
pool_reclaim(c0d46600,c36c0800,cdb2563c,c0550179,c0d40ffe) at
netbsd:pool_reclaim+0x81
pool_reclaim_callback(c0d466d8,c0d46600,0,c36c0800,5) at
netbsd:pool_reclaim_callback+0x59
callback_runone(c0d40ffc,0,cdb2567c,22,34) at netbsd:callback_runone+0xdb
callback_run_roundrobin(c0d40ffc,0,cdb2569c,c04e0cfc,c0d40f6c) at
netbsd:callback_run_roundrobin+0x3c
uvm_km_va_drain(c0d40f60,e01727,cdb256ec,c04e1d57,c0d40f60) at
netbsd:uvm_km_va_drain+0x2c
vm_map_drain(c0d40f60,e01727,20000,cdb256f8,0) at netbsd:vm_map_drain+0x24
uvm_map_prepare(c0d40f60,c3177000,20000,0,ffffffff) at
netbsd:uvm_map_prepare+0x1fa
uvm_map(c0d40f60,cdb25790,20000,0,ffffffff) at netbsd:uvm_map+0x180
km_vacache_alloc(c0d41020,2,0,c36c0800,c0d41110) at
netbsd:km_vacache_alloc+0x7f
pool_allocator_alloc(c0d41020,2,0,c36c0800,ffffffff) at
netbsd:pool_allocator_alloc+0x23
pool_grow(c0d41020,2,0,c057e56c,5) at netbsd:pool_grow+0x2d
pool_get(c0d41020,2,cdb2586c,c057f2c9,c0d6e760) at netbsd:pool_get+0x272
uvm_km_alloc_poolpage_cache(c0d40f60,0,0,0,1) at
netbsd:uvm_km_alloc_poolpage_cache+0x71
pool_page_alloc(c0d47600,2,0,c36c0800,c0ca4380) at netbsd:pool_page_alloc+0x25
pool_allocator_alloc(c0d47600,2,0,c36c0800,ffffffff) at
netbsd:pool_allocator_alloc+0x23
pool_grow(c0d47600,2,8,0,0) at netbsd:pool_grow+0x2d
pool_get(c0d47600,2,0,0,49f000) at netbsd:pool_get+0x272
ld_ataraid_make_cbuf(c37b6c00,c389ea60,0,49f000,0) at
netbsd:ld_ataraid_make_cbuf+0x26
ld_ataraid_start_raid0(c37b6c00,c389ea60,cdb25a2c,c01ef81c,cdb25a05) at
netbsd:ld_ataraid_start_raid0+0x367
ldstart(c37b6c00,c389ea60,0,c05502af,0) at netbsd:ldstart+0x98
ldstrategy(c389ea60,0,10000,2,c0d6e760) at netbsd:ldstrategy+0x256
physio(c01f0801,0,4503,100000,c01f1424) at netbsd:physio+0x3c2
ldread(4503,cdb25c6c,0,c05502af,0) at netbsd:ldread+0x38
cdev_read(4503,cdb25c6c,0,c057e542,1) at netbsd:cdev_read+0x5f
spec_read(cdb25bf0,c0a393c0,cdc10400,10001,0) at netbsd:spec_read+0xe5
ufsspec_read(cdb25bf0,10001,1,c0a38e80,cdc10400) at netbsd:ufsspec_read+0x60
VOP_READ(cdc10400,cdb25c6c,0,cc864a80,cdb25c38) at netbsd:VOP_READ+0x67
vn_read(cdee75c0,cdee75c0,cdb25c6c,cc864a80,1) at netbsd:vn_read+0xc0
dofileread(3,cdee75c0,8065000,200000,cdee75c0) at netbsd:dofileread+0x8b
sys_read(cdaf0720,cdb25d04,cdb25cfc,2,164ea4b) at netbsd:sys_read+0x89
syscall(cdb25d48,b3,ab,1f,1f) at netbsd:syscall+0x17b
db{1}> ps
PID PPID PGRP UID S FLAGS LWPS COMMAND WAIT
>716 725 716 0 2 0x4000 1 dd
725 281 725 0 2 0x4000 1 ksh pause
281 285 281 1000 2 0x4000 1 ksh pause
285 291 285 1000 2 0x4000 1 xterm select
291 272 272 0 2 0x4100 1 rshd select
287 1 287 0 2 0x4000 1 getty tty
299 1 299 0 2 0x4000 1 getty tty
293 1 293 0 2 0x4000 1 getty tty
305 1 305 0 2 0x4000 1 getty tty
297 1 297 0 2 0x4000 1 getty tty
280 1 280 0 2 0x4000 1 getty tty
294 1 294 0 2 0x4000 1 getty tty
302 1 302 0 2 0x4000 1 getty tty
296 1 296 0 2 0x4000 1 getty tty
286 1 286 0 2 0 1 cron nanoslp
272 1 272 0 2 0 1 inetd kqueue
231 1 231 15 2 0x100 1 ntpd pause
156 1 156 0 2 0 1 mount_mfs mfsidl
114 1 114 0 2 0 1 syslogd kqueue
1 0 1 0 2 0x4001 1 init wait
0 -1 0 0 2 0x20002 36 system *
db{1}>
--
Greg A. Woods
Planix, Inc.
<woods%planix.com@localhost> +1 416 489-5852 x122
http://www.planix.com/
Home |
Main Index |
Thread Index |
Old Index