From owner-freebsd-current@FreeBSD.ORG Mon Jun 23 13:58:49 2014 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DDC99B11 for ; Mon, 23 Jun 2014 13:58:49 +0000 (UTC) Received: from aussmtpmrkpc120.us.dell.com (aussmtpmrkpc120.us.dell.com [143.166.82.159]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "ausxipmktpc11.us.dell.com", Issuer "Dell Inc. Enterprise Issuing CA1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8D3EB2B56 for ; Mon, 23 Jun 2014 13:58:49 +0000 (UTC) X-Loopcount0: from 64.238.244.148 X-IronPort-AV: E=Sophos;i="5.01,530,1400043600"; d="scan'208";a="109534104" Message-ID: <53A83253.1090303@vangyzen.net> Date: Mon, 23 Jun 2014 08:57:39 -0500 From: Eric van Gyzen User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: Subject: Re: ahci panics when detaching... References: <20140623134407.GD31367@funkthat.com> In-Reply-To: <20140623134407.GD31367@funkthat.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jun 2014 13:58:49 -0000 On 06/23/2014 08:44, John-Mark Gurney wrote: > So, when I try to eject a ESATA card, the machine panics... I am able > to successfully eject other cards, an ethernet (re) and a serial card > (uart), and both handle the removal of their device w/o issue and with > out crashes... > > When I try w/ ahci, I get a panic... The panic backtrace is: > #8 0xffffffff80ced4e2 in calltrap () at ../../../amd64/amd64/exception.S:231 > #9 0xffffffff8093d037 in rman_get_rid (r=0xfffff800064c9380) > at ../../../kern/subr_rman.c:979 > #10 0xffffffff8092b888 in resource_list_release_active (rl=0xfffff80006d39c08, > bus=0xfffff80002cd9000, child=0xfffff80006b6d700, type=3) > at ../../../kern/subr_bus.c:3419 > #11 0xffffffff8065d7a1 in pci_child_detached (dev=0xfffff80002cd9000, > child=0xfffff80006b6d700) at ../../../dev/pci/pci.c:4133 > ---Type to continue, or q to quit--- > #12 0xffffffff80929708 in device_detach (dev=0xfffff80006b6d700) > at bus_if.h:181 > #13 0xffffffff8065f9f7 in pci_delete_child (dev=0xfffff80002cd9000, > child=0xfffff80006b6d700) at ../../../dev/pci/pci.c:4710 > > In frame 9: > (kgdb) fr 9 > #9 0xffffffff8093d037 in rman_get_rid (r=0xfffff800064c9380) > at ../../../kern/subr_rman.c:979 > 979 return (r->__r_i->r_rid); > (kgdb) print r > $1 = (struct resource *) 0xfffff800064c9380 > (kgdb) print/x *r > $4 = {__r_i = 0xdeadc0dedeadc0de, r_bustag = 0xdeadc0dedeadc0de, > r_bushandle = 0xdeadc0dedeadc0de} > > So, looks like something is corrupted the resource data... The resource data has been freed. > Attach dmesg: > atapci0: at device 0.0 on pci2 > ahci1: at channel -1 on atapci0 > ahci1: AHCI v1.00 with 2 3Gbps ports, Port Multiplier supported > ahci1: quirks=0x1 > ahcich6: at channel 0 on ahci1 > ahcich7: at channel 1 on ahci1 > ata2: at channel 0 on atapci0 > [eject card] > ahcich6: stopping AHCI engine failed > ahcich6: stopping AHCI FR engine failed > ahcich6: detached > ahcich7: stopping AHCI engine failed > ahcich7: stopping AHCI FR engine failed > ahcich7: detached > ahci1: detached > ata2: detached > atapci0: detached > > > Fatal trap 9: general protection fault while in kernel mode > > Also, has anyone thought about adding a case in your trap > handler that when we hit the deadc0de address, to print up a > special message or something? At least flag it, or do we not get > the faulting address? > > This is HEAD as of r266429. > > Let me know if there is anything else you need to know. The full stack trace might be useful. Eric