Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Nov 2005 10:43:10 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-acpi@freebsd.org
Cc:        freebsd-current@freebsd.org, Giorgos Keramidas <keramida@freebsd.org>, jkim@freebsd.org, robert.moore@intel.com
Subject:   Re: Panic on boot with new ACPI-CA
Message-ID:  <200511031043.13285.jhb@freebsd.org>
In-Reply-To: <20051103144013.GA43086@peter.osted.lan>
References:  <971FCB6690CD0E4898387DBF7552B90E0346CAFB@orsmsx403.amr.corp.intel.com> <20051103142446.GA1787@flame.pc> <20051103144013.GA43086@peter.osted.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 03 November 2005 09:40 am, Peter Holm wrote:
> On Thu, Nov 03, 2005 at 04:24:46PM +0200, Giorgos Keramidas wrote:
> > On 2005-11-03 03:47, Giorgos Keramidas <keramida@ceid.upatras.gr> wrote:
> > >On 2005-11-02 17:03, Nate Lawson <nate@root.org> wrote:
> > >> As I mentioned to Jung-uk, the problem is likely an error in
> > >> acpi-ca modifying memory after it has freed it.  The way to
> > >> track this down is to enable memguard(9).  See the man page for
> > >> info.  You need to add options DEBUG_MEMGUARD to your kernel,
> > >> set the malloc type to watch to M_ACPICA, and rebuild your
> > >> kernel and modules.  Memguard sets page permissions so we can
> > >> catch the culprit who is modifying the memory.
> > >
> > > This is exactly the messgae printed on my console at panic time
> > > -- of memory modified after free.  I'm building a kernel with
> > > MEMGUARD now, but it's probably going to be a bit hard to get a
> > > kernel dump, because the panic happens before disks are
> > > available and I don't have a serial console here.
> >
> > This is definitely something that is ACPI-related.  I updated my
> > sources to the last commit before the start of the ACPI import:
> >
> >     build@flame:/home/build/src$ cvs -qR up -APd -D '2005/11/01 22:00:00
> > UTC'
> >
> > Rebuilt everything and I see no panics now.
> >
> > I'll use the watchpoint trick Nate posted when I have a new build
> > to test.
>
> I've had the same problem with two of my boxes. Here's the result of a
> watchpoint:
>
> http://people.freebsd.org/~pho/stress/log/acpi.html
>
> I too came to the conclusion that the damage happened between
>
> 2005-11-01 22:00:00 UTC OK
> 2005-11-01 22:45:00 UTC panic

Does this diff make a difference perhaps?

Index: acpi_resource.c
===================================================================
RCS file: /usr/cvs/src/sys/dev/acpica/acpi_resource.c,v
retrieving revision 1.35
diff -u -r1.35 acpi_resource.c
--- acpi_resource.c     11 Sep 2005 18:39:01 -0000      1.35
+++ acpi_resource.c     3 Nov 2005 15:42:14 -0000
@@ -168,6 +168,7 @@

     /* Fetch the device's current resources. */
     buf.Length = ACPI_ALLOCATE_BUFFER;
+    buf.Pointer = NULL;
     if (ACPI_FAILURE((status = AcpiGetCurrentResources(handle, &buf)))) {
        if (status != AE_NOT_FOUND)
            printf("can't fetch resources for %s - %s\n",


-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511031043.13285.jhb>