From owner-freebsd-current@FreeBSD.ORG Sun Jul 11 20:41:58 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8F35216A4CE for ; Sun, 11 Jul 2004 20:41:58 +0000 (GMT) Received: from hrothgar.unconceived.net (rrcs-se-24-73-170-14.biz.rr.com [24.73.170.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id B867243D3F for ; Sun, 11 Jul 2004 20:41:55 +0000 (GMT) (envelope-from jhandvil@tampabay.rr.com) Received: from localhost (localhost [IPv6:::1])i6BKrClO000692; Sun, 11 Jul 2004 16:53:12 -0400 (EDT) (envelope-from jhandvil@tampabay.rr.com) From: jhandvil To: Bruce M Simpson Date: Sun, 11 Jul 2004 16:53:12 -0400 User-Agent: KMail/1.5.4 References: <200407082032.10210.jhandvil@tampabay.rr.com> <20040711182957.GA769@empiric.dek.spc.org> <200407111512.10333.jhandvil@tampabay.rr.com> In-Reply-To: <200407111512.10333.jhandvil@tampabay.rr.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200407111653.12410.jhandvil@tampabay.rr.com> cc: freebsd-current@freebsd.org cc: Ivan Voras Subject: Re: 5.2.1 p9 --> 5.2 current 20040708 upgrade ATA_IDENTIFY no interrupt X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: jhandvil@tampabay.rr.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jul 2004 20:41:58 -0000 On Sunday 11 July 2004 03:12 pm, jhandvil wrote: > On Sunday 11 July 2004 02:29 pm, Bruce M Simpson wrote: > > On Sun, Jul 11, 2004 at 10:43:21AM -0400, jhandvil wrote: > > > > > ata0-master: FAILURE - ATA_IDENTIFY no interrupt > > > > > ata0-master: FAILURE - ATA_IDENTIFY no interrupt > > > > > Mounting root from ufs:/dev/ad0s1a > > > > > setrootbyname failed > > > > > ffs_mountroot: can't find rootvp > > > > > Root mount failed: 6 > > > > This is a very, very similar situation to what I've just observed on > > several IBM ThinkPad T41 systems with the Panasonic UJDA755 CDRW module! > > > > Please post as much information about your hardware configuration as you > > can; please also see my recent posts to -mobile for descriptions of how > > to pull a backtrace in the situation where your machine faults and drops > > into the debugger without the ability to 'call doadump'. > > > > I now strongly suspect we have a bug in ata(4). I will backtrack through > > green@'s recent commits concerning atapicam as I think this may tell > > part of the story (he identified some other issues and suggested fixes, > > I have a hunch he is on a similar track). > > > > I'm in a debugging session now and will post further results of my > > findings on -mobile. > > Excellent! I added a panic immediately after the error in ata_completed so > that I can perform the backtrace. I will post the response to the group as > soon as I rebuild the kernel and reboot. After a few painstaking attempts (forgot to add options KDB which caused a panic when entering DDB) I have a handwritten trace from DDB. I hope that it is more useful than it looks to me, because I don't see anything new that I don't already know. I added a printf before the (retry < 0) check, and I hard-coded the kdb_enter immediately before the end of the check (after the "FAILURE: ATA_IDENTIFY no interrupt" trace). The trace is shorthand, I wasn't about to copy it verbatim: 100049 (0xc24086e0) fork_trampoline() at fork_trampoline 100048 (0xc2408580) sched_switch(...,0) at +0x123 100047 (0xc2408580) sched_switch(...,0) at +0x123 100015 (0xc2281580) sched_switch(...,0) at +0x123 100014 (0xc2281420) sched_switch(...,0) at +0x123 100013 (0xc22812c0) kdb_enter(c07d5245,c2375c00,2) at +0x2b (*** hard coded entry in ata-queue.c: ata_completed) 100012 (0xc2281160) fork_trampoline at fork_trampoline 100038 (0xc22c96e0) fork_trampoline at fork_trampoline 100037 (0xc22c9580) fork_trampoline at fork_trampoline 100036 (0xc22c9420) fork_trampoline at fork_trampoline 100035 (0xc22c92c0) fork_trampoline at fork_trampoline 100034 (0xc22c9160) sched_switch(...,0) at +0x123 100033 (0xc22c9000) sched_switch(...,0) at +0x123 100032 (0xc2287dc0) sched_switch(...,0) at +0x123 100031 (0xc2287c60) sched_switch(...,0) at +0x123 100001 (0xc227c160) fork_trampoline at fork_trampoline 100000 (0xc227c160) fork_trampoline at fork_trampoline 100024 (0xc22872c0) sched_switch(...,0) at +0x123 100023 (0xc22872c0) fork_trampoline at fork_trampoline 100022 (0xc2287000) fork_trampoline at fork_trampoline 100021 (0xc2281dc0) fork_trampoline at fork_trampoline 100020 (0xc2281c60) fork_trampoline at fork_trampoline 100019 (0xc2281k00) fork_trampoline at fork_trampoline 100018 (0xc22819a0) sched_switch(...,0) at +0x123 100017 (0xc2281840) fork_trampoline at fork_trampoline 100016 (0xc22816e0) fork_trampoline at fork_trampoline 100011 (0xc2281000) sched_switch(...,0) at +0x123 100010 (0xc227cdc0) sched_switch(...,0) at +0x123 100009 (0xc227cc60) fork_trampoline at fork_trampoline 100008 (0xc227cb00) fork_trampoline at fork_trampoline 100007 (0xc227c9a0) fork_trampoline at fork_trampoline 100006 (0xc227c840) sched_switch(...,0) at +0x123 100005 (0xc227c6e0) fork_trampoline at fork_trampoline 100004 (0xc227c580) sched_switch(...,0) at +0x123 100003 (0xc227c420) fork_trampoline at fork_trampoline 100002 (0xc227c2c0) sched_switch(...,0) at +0x123 0 (0xc08dabc0) sched_switch(...,0) at +0x123 > trace kdb_enter (c07d5245, c2375c00,2) at +0x2b ata_completed(0xc2613000,1,c2321698,0,c0806396) at +0xb0 taskqueue_run(0xc2321680,db0bdd34,c060c47c,0,db0bdd48) at +0x83 taskqueue_thread_loop(0,db0bdd48,0,c063b640,0) at +0x2b fork_exit(0xc063b640,0,db0bdd48) at +0x98 fork_trampoline() at fork_trampoline + 0x8 --- trap 0x1, eip = 0, esp = 0xdb0bdd7c, ebp = 0 --- Please let me know what else is needed. Thanks, Justin