From nobody@FreeBSD.org  Mon Sep 15 21:32:43 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B70E01065677
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 15 Sep 2008 21:32:43 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 7FAED8FC29
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 15 Sep 2008 21:32:43 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m8FLWhOQ040451
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 15 Sep 2008 21:32:43 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.2/8.14.1/Submit) id m8FLWh6b040450;
	Mon, 15 Sep 2008 21:32:43 GMT
	(envelope-from nobody)
Message-Id: <200809152132.m8FLWh6b040450@www.freebsd.org>
Date: Mon, 15 Sep 2008 21:32:43 GMT
From: Paul <onemda@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: ata panics on bad block
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         127411
>Category:       kern
>Synopsis:       [ata] [panic] ata panics on bad block
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 15 21:40:08 UTC 2008
>Closed-Date:    Wed Oct 12 15:02:31 UTC 2011
>Last-Modified:  Wed Oct 12 15:02:31 UTC 2011
>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@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:
State-Changed-From-To: open->closed 
State-Changed-By: remko 
State-Changed-When: Thu Nov 27 15:33:54 UTC 2008 
State-Changed-Why:  
This had been fixed with a update (r185357). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127411 
State-Changed-From-To: closed->patched 
State-Changed-By: remko 
State-Changed-When: Thu Nov 27 21:46:51 UTC 2008 
State-Changed-Why:  
Xin reports that this had been patched, not resolved. Make it 
status patched till the MFC's had been done as well. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127411 
State-Changed-From-To: patched->closed 
State-Changed-By: remko 
State-Changed-When: Wed Oct 12 15:02:30 UTC 2011 
State-Changed-Why:  
This is either MFC'ed now or not interesting enough to MFC. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127411 
>Unformatted:
