Fwd: Kernel panic on 7.2-RC1 when booting with ACPI enabled kernel.

Magnus Kling klingfon at gmail.com
Fri May 1 19:30:31 UTC 2009


2009/5/1 John Baldwin <jhb at freebsd.org>

> On Friday 01 May 2009 2:30:28 pm Magnus Kling wrote:
> > 2009/4/30 John Baldwin <jhb at freebsd.org>
> >
> > > On Saturday 25 April 2009 6:27:23 am Magnus Kling wrote:
> > > > 2009/4/24 John Baldwin <jhb at freebsd.org>
> > > > > Can you do 'frame 10' followed by 'p *(struct acpi_pci_devinfo
> > > > > *)child->ivars'
> > > > >
> > > > > --
> > > > > John Baldwin
> > > >
> > > >
> > > > Sure, no problem. This is a none critical server so I can do alot of
> > > > debugging and testing if that is needed.
> > > >
> > > >
> > > > (kgdb) frame 10
> > > > #10 0xc0db4ca8 in acpi_pci_child_location_str_method
> (cbdev=0xc2212680,
> > > >     child=0xc2243400, buf=0xc22c2400 "slot=0 function=0 handle=",
> > > > buflen=1024)
> > > >     at
> /usr/src/sys/modules/acpi/acpi/../../../dev/acpica/acpi_pci.c:150
> > > > 150             strlcat(buf, acpi_name(dinfo->ap_handle), buflen);
> > > >
> > > > (kgdb)  p *(struct acpi_pci_devinfo *)child->ivars
> > > > $1 = {ap_dinfo = {pci_links = {stqe_next = 0xc0b00f8c}, resources = {
> > > >       stqh_first = 0xc0b00f8c, stqh_last = 0x1030000}, cfg = {dev =
> 0x0,
> > > >       bar = {4, 0, 0, 3257136600, 0, 0}, bios = 0, subvendor = 0,
> > > >       subdevice = 0, vendor = 0, device = 0, cmdreg = 0, statreg = 0,
> > > >       baseclass = 0 '\0', subclass = 0 '\0', progif = 0 '\0', revid =
> 0
> > >
> > > Hmm, this is all completely wrong and trashed.  What if you do 'p
> *child'?
> > >
> > > --
> > > John Baldwin
> > >
> > (kgdb) p *child
> > $2 = {ops = 0xc2161800, link = {tqe_next = 0xc2243380, tqe_prev =
> > 0xc2243484}, devlink = {tqe_next = 0xc2243380, tqe_prev = 0xc224348c},
> >   parent = 0xc2212680, children = {tqh_first = 0xc2262880, tqh_last =
> > 0xc2262704}, driver = 0xc0b7066c, devclass = 0xc211e240, unit = 0,
> >   nameunit = 0xc2241640 "atapci0", desc = 0xc223f900 "Promise PDC20621
> > UDMA100 controller", busy = 0, state = DS_ATTACHED, devflags = 0,
> >   flags = 13, order = 0 '\0', pad = 0 '\0', ivars = 0xc223f5c0, softc =
> > 0xc2244800, sysctl_ctx = {tqh_first = 0xc2264380, tqh_last = 0xc2241594},
> >   sysctl_tree = 0xc223f840}
> > (kgdb)
>
> Maybe try adding KTR traces for all calls to device_set_ivars().  I wonder
> if
> something is trashing this device's ivars.
>
> Oh, dear.  The ata(4) driver overwrites the ivars of some PCI devices it
> attaches to.  This is very, very wrong.  Which ATA controller do you have?
>
> --
> John Baldwin
>

Aha, I´m using a Promise Fasttrack SX4000 for a RAID1 setup. And the one
included on the motherboard for the OS.
And yes, I can confirm that without the Fasttrack SX4000 the system boots up
correctly. (Pulled out the card and edited fstab.)
So you are right regarding that the ata driver messes something up. Do you
contact someone that is responsible for ata driver?

Thank you for taking the time to "correct" this,
Magnus


More information about the freebsd-acpi mailing list