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