NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40017: ataraid(4) deadlock



>Number:         40017
>Category:       kern
>Synopsis:       ataraid(4) deadlock
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 24 16:10:00 +0000 2008
>Originator:     Manuel.Bouyer%lip6.fr@localhost
>Release:        NetBSD 5.0_BETA
>Organization:
>Environment:
System: NetBSD pop.lip6.fr 5.0_BETA NetBSD 5.0_BETA (GENERIC) #0: Sat Nov 22 
16:55:37 PST 2008 
builds@wb25:/home/builds/ab/netbsd-5/i386/200811220002Z-obj/home/builds/ab/netbsd-5/src/sys/arch/i386/compile/GENERIC
 i386
Architecture: i386
Machine: i386
>Description:
        This box has 2 CPUs and a promise pdcide(4) controller which attaches
        a ataraid volume:
pdcide0 at pci0 dev 12 function 0
pdcide0: Promise Ultra100/ATA Bus Master IDE Accelerator (rev. 0x02)
pdcide0: bus-master DMA support present
pdcide0: primary channel configured to native-PCI mode
pdcide0: using ioapic0 pin 18 for native-PCI interrupt
atabus2 at pdcide0 channel 0
pdcide0: secondary channel configured to native-PCI mode
atabus3 at pdcide0 channel 1
wd0 at atabus2 drive 0: <ST340810A>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 38166 MB, 77545 cyl, 16 head, 63 sec, 512 bytes/sect x 78165360 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(pdcide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
ataraid0: found 1 RAID volume
ld0 at ataraid0 vendtype 0 unit 0: Promise ATA RAID-0 array
ld0: 38166 MB, 4865 cyl, 255 head, 63 sec, 512 bytes/sect x 78165297 sectors

with / and /usr mounted from ld0, the system hung while extracting netbsd-5
binary sets. ddb said:
[BREAK]fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0533acc cs 8 eflags 202 cr2 bb909000 ilevel 8
Stopped in pid 0.4 (system) at  netbsd:breakpoint+0x4:  popl    %ebp
db{0}> tr
breakpoint(0,3f8,5,c046aeed,cb8e842c,cb9ff4a0,cb862f6c,c1fe901c,c1fea000,7f2) 
at netbsd:breakpoint+0x4
comintr(cb9ff394,cb652bb4,0,0,0,0,0,0,0,0) at netbsd:comintr+0x575
DDB lost frame for netbsd:Xintr_ioapic_edge7+0xa9, trying 0xcb862f74
Xintr_ioapic_edge7() at netbsd:Xintr_ioapic_edge7+0xa9
--- interrupt ---
--- switch to interrupt stack ---
mutex_vector_enter(cc2746a4,cbbf,0,c0520a3d,cb228958,1,0,c1f7d310,c1f7d310,3e00)
 at netbsd:mutex_vector_enter+0x135
lddone(cc274644,c22130bc,1,1,cb23f7e8,0,ffffffff,0,c0563a00,cb227780) at 
netbsd:lddone+0x61
ld_ataraid_iodone_raid0(c1f7d310,0,3,8,c1f7d310,c0a6a240,cb652d40,c04afd1a,3,ccb60008)
 at netbsd:ld_ataraid_iodone_raid0+0x1cb
biodone2(3,ccb60008,3,cb227780,cb58a29c,cb58a004,cb652d80,c046336c,0,10) at 
netbsd:biodone2+0x7f
biointr(0,10,30,10,10,0,b50800,c1fc6d80,0,cb652da0) at netbsd:biointr+0x3a
softint_dispatch(cb227c80,3,0,0,0,0,cb652d90,cb652ce4,c1fc6a00,18) at 
netbsd:softint_dispatch+0x7c
DDB lost frame for netbsd:Xsoftintr+0x3d, trying 0xcb652d88
Xsoftintr() at netbsd:Xsoftintr+0x3d
--- interrupt ---
fatal page fault in supervisor mode
trap type 6 code 0 eip c0535fa7 cs 8 eflags 10202 cr2 3b ilevel 8
kernel: supervisor trap page fault, code=0
Faulted in DDB; continuing...
db{0}> mach cpu 1
using CPU 1
db{0}> tr
_kernel_lock(1,cb227780,cc2a26dc,c04513aa,cb224ec0,7,1,cb227780,cc283aa0,cc283aa0)
 at netbsd:_kernel_lock+0xd5
sleepq_block(0,0,c0a05a4d,c0a6711c,c222ca04,1a8,cc2a273c,cb228970,7c,40) at 
netbsd:sleepq_block+0x1c0
turnstile_block(0,1,cb23f7e8,c0a6711c,c0b08376,0,0,2,c2212164,c222cc50) at 
netbsd:turnstile_block+0x1a5
mutex_vector_enter(cb23f7e8,0,ca2df000,4000,cc2746a6,437c,0,c1febb64,0,d43f0000)
 at netbsd:mutex_vector_enter+0x370
ld_ataraid_start_raid0(cc274644,c2212164,1,4000,c1ff8a00,cc2746a4,cc274648,0,c2212164,cc274644)
 at netbsd:ld_ataraid_start_raid0+0x2e2
ldstart(6,c2212164,0,c04bf4f7,0,101,cc2a28bc,c04bf4f7,0,c1ff8a00) at 
netbsd:ldstart+0x62
ldstrategy(c2212164,cc274824,0,c2212164,c2212164,0,cc2a290c,c04cc72a,c2212164,0)
 at netbsd:ldstrategy+0x165
bdev_strategy(c2212164,0,cc2a291c,c04ae3ac,cc280cf4,0,cc2a293c,c04c5af6,cc2a292c,c2212164)
 at netbsd:bdev_strategy+0x49
spec_strategy(cc2a292c,c2212164,cc2a293c,c04adf36,ccb5e22c,1,c080b0c0,cc280cf4,c2212164,c2212164)
 at netbsd:spec_strategy+0x5a
VOP_STRATEGY(cc280cf4,c2212164,0,4000,cc2a29a4,cc2a29b8,4000,0,0,0) at 
netbsd:VOP_STRATEGY+0x66
genfs_do_io(ca2df000,5000,11,1,c0408310,4,f,c0ebb508,ccb5e22c,c0ebb508) at 
netbsd:genfs_do_io+0x1e6
genfs_gop_write(ccb5e22c,cc2a2b14,5,11,cc2a2b18,13,3f0,c0454a57,cc2746a6,cc2a2b14)
 at netbsd:genfs_gop_write+0x61
genfs_do_putpages(ccb5e22c,0,0,0,0,11,0,c0451169,cb2154d0,cc283c58) at 
netbsd:genfs_do_putpages+0x4d2
genfs_putpages(cc2a2bbc,ccb5ef1c,cc2a2bbc,c04bf43d,ccb5e2e4,cc27e000,c080b280,ccb5e22c,0,0)
 at netbsd:genfs_putpages+0x3d
VOP_PUTPAGES(ccb5e22c,0,0,0,0,11,cc2a2c0c,c04bf495,cc27e000,0) at 
netbsd:VOP_PUTPAGES+0x7f
ffs_full_fsync(ccb5e22c,8,1,c0451169,cb2154d0,cc283c58,0,c04b6dd5,ccb5e2cc,1) 
at netbsd:ffs_full_fsync+0x159
ffs_fsync(cc2a2cd8,12,80b040,1,ccb5e22c,c080acc0,ccb5e22c,cb226f00,8,0) at 
netbsd:ffs_fsync+0x6f
VOP_FSYNC(ccb5e22c,cb226f00,8,0,0,0,0,cc283aa0,c04cdca0,cc283aa0) at 
netbsd:VOP_FSYNC+0x7e
sched_sync(cc283aa0,0,c01002cd,0,c01002cd,0,0,0,0,0) at netbsd:sched_sync+0x14a

>How-To-Repeat:
        tar xzpvf comp.tgz on a promise ataraid
>Fix:
        workaround: boot -c and disable ld



Home | Main Index | Thread Index | Old Index