kern/127411: ata panics on bad block
Paul
onemda at gmail.com
Mon Sep 15 21:40:09 UTC 2008
>Number: 127411
>Category: kern
>Synopsis: ata panics on bad block
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Sep 15 21:40:08 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Paul
>Release: FreeBSD 8.0 CURRENT
>Organization:
>Environment:
FreeBSD dhcppc3 8.0-CURRENT FreeBSD 8.0-CURRENT #2: Sat Sep 13 21:02:53 CEST 2008 root at root:/usr/local/obj/usr/local/src/sys/KERNEL i386
>Description:
Panic happen when trying to read hard disk sector with bad block; bt:
db:0:kdb.enter.unknown> run lockinfo
db:1:lockinfo> show locks
db:1:locks> show alllocks
Process 811 (dd) thread 0xc425f000 (100057)
db:1:alllocks> show lockedvnods
Locked vnodes
db:0:kdb.enter.unknown> show pcpu
cpuid = 0
curthread = 0xc3cac230: pid 3 "g_up"
curpcb = 0xc3988d90
fpcurthread = none
idlethread = 0xc3cacd20: pid 10 "idle: cpu0"
APIC ID = 0
currentldt = 0x50
spin locks held:
db:0:kdb.enter.unknown> bt
Tracing pid 3 tid 100007 td 0xc3cac230
ata_completed(c3ed9258,c073eac8,24c,c06c163a,64,...) at ata_completed+0x309
g_io_schedule_up(c3cac230,0,c06c42a1,5d,0,...) at g_io_schedule_up+0x59
g_up_procbody(0,c3988d38,c06c74d8,322,c3caa538,...) at g_up_procbody+0x8d
fork_exit(c0481ec0,0,c3988d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc3988d70, ebp = 0 ---
Part of dmesg output:
ad4: FAILURE - READ_DMA status=51<READY,DSC,ERROR> error=40<UNCORRECTABLE>
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0458f79
stack pointer = 0x28:0xc3988c84
frame pointer = 0x28:0xc3988cbc
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 3 (g_up)
exclusive lockmgr bufwait (bufwait) r = 0 (0xd7ce5890) locked @ /usr/local/src/sys/vm/vm_pager.c:313
>How-To-Repeat:
# dd if=/dev/ad4 of=/dev/null
or
# dd if=/dev/ad4 of=/dev/null bs=1m iseek=X
X is where bad blocks are located.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list