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

Magnus Kling klingfon at gmail.com
Sat Apr 25 10:27:26 UTC 2009


2009/4/24 John Baldwin <jhb at freebsd.org>

On Thursday 23 April 2009 9:22:29 am M K wrote:
> > Hi!
> >
> > I upgraded my fileserver from 7.0 to 7.2-RC1 using the freebsd-update
> > method. Everything went fine during the upgrade but when I attempted to
> boot
> > with the new kernel(GENERIC) the default choice of kernel with ACPI
> enabled
> > did not work. I have to boot by choosing the kernel with ACPI disabled.
> And
> > then it boots perfect. When I used 7.0 everything worked fine.
> >
> > Fatal trap 12: page fault while in kernel mode
> > cpuid = 0; apic id = 00
> > fault virtual address   = 0xb
> > fault code              = supervisor read, page not present
> > instruction pointer     = 0x20:0xc0da4de7
> > stack pointer           = 0x28:0xcd1e6aac
> > frame pointer           = 0x28:0xcd1e6aac
> > 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         = 70 (sysctl)
> > trap number             = 12
> > panic: page fault
> > cpuid = 0
> > Uptime: 1s
> > Physical memory: 243 MB
> > Dumping 27 MB: 12
> >
> > Reading symbols from /boot/kernel/acpi.ko...Reading symbols from
> > /boot/kernel/acpi.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/acpi.ko
> > #0  doadump () at pcpu.h:196
> > 196             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
> > (kgdb) list *0xc0da4de7
> > 0xc0da4de7 is in AcpiNsMapHandleToNode
> >
> (/usr/src/sys/modules/acpi/acpi/../../../contrib/dev/acpica/nsutils.c:889).
> > 884             return (AcpiGbl_RootNode);
> > 885         }
> > 886
> > 887         /* We can at least attempt to verify the handle */
> > 888
> > 889         if (ACPI_GET_DESCRIPTOR_TYPE (Handle) !=
> ACPI_DESC_TYPE_NAMED)
> > 890         {
> > 891             return (NULL);
> > 892         }
> > 893
> > (kgdb) bt
> > #0  doadump () at pcpu.h:196
> > #1  0xc0790eb7 in boot (howto=260) at
> /usr/src/sys/kern/kern_shutdown.c:418
> > #2  0xc0791189 in panic (fmt=Variable "fmt" is not available.
> > ) at /usr/src/sys/kern/kern_shutdown.c:574
> > #3  0xc0aa339c in trap_fatal (frame=0xcd1e6a6c, eva=11)
> >     at /usr/src/sys/i386/i386/trap.c:939
> > #4  0xc0aa3620 in trap_pfault (frame=0xcd1e6a6c, usermode=0, eva=11)
> >     at /usr/src/sys/i386/i386/trap.c:852
> > #5  0xc0aa3fdc in trap (frame=0xcd1e6a6c) at
> > /usr/src/sys/i386/i386/trap.c:530
> > #6  0xc0a89e4b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
> > #7  0xc0da4de7 in AcpiNsMapHandleToNode (Handle=0x7)
> >     at
> > /usr/src/sys/modules/acpi/acpi/../../../contrib/dev/acpica/nsutils.c:889
> > #8  0xc0da44cf in AcpiNsHandleToPathname (TargetHandle=0x7,
> > Buffer=0xcd1e6ae0)
> >     at
> > /usr/src/sys/modules/acpi/acpi/../../../contrib/dev/acpica/nsnames.c:320
> > #9  0xc0db0a72 in acpi_name (handle=0x7)
> >     at /usr/src/sys/modules/acpi/acpi/../../../dev/acpica/acpi.c:2842
> > #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
>
> 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
'\0',
      hdrtype = 0 '\0', cachelnsz = 0 '\0', intpin = 0 '\0', intline = 0
'\0',
      mingnt = 0 '\0', maxlat = 0 '\0', lattimer = 0 '\0', mfdev = 0 '\0',
      nummaps = 80 'P', domain = 3257157632, bus = 4 '\004', slot = 0 '\0',
      func = 0 '\0', pp = {pp_cap = 5696, pp_status = 36 '$',
        pp_pmcsr = 194 'Â', pp_data = 0 '\0'}, vpd = {vpd_reg = 0 '\0',
        vpd_cached = 0 '\0', vpd_ident = 0x0, vpd_rocnt = -1037758948,
        vpd_ros = 0x14, vpd_wcnt = 0, vpd_w = 0x0}, msi = {msi_ctrl = 0,
        msi_location = 0 '\0', msi_msgnum = 0 '\0', msi_alloc = 0,
        msi_addr = 0, msi_data = 7248, msi_handlers = 3257137472}, msix = {
        msix_ctrl = 1477, msix_msgnum = 0, msix_location = 0 '\0',
        msix_table_bar = 0 '\0', msix_pba_bar = 0 '\0',
        msix_table_offset = 3257280512, msix_pba_offset = 0,
        msix_alloc = -1037820896, msix_table_len = -1065660736,
        msix_table = 0xc0b2bb52, msix_vectors = 0x1,
        msix_table_res = 0xc222e660, msix_pba_res = 0x0}, ht = {
        ht_msimap = 0 '\0', ht_msictrl = 0, ht_msiaddr = 0}}, conf = {
      pc_sel = {pc_domain = 0, pc_bus = 128 '\200', pc_dev = 246 'ö',
        pc_func = 35 '#'}, pc_hdr = 0 '\0', pc_subvendor = 0,
---Type <return> to continue, or q <return> to quit---
      pc_subdevice = 0, pc_vendor = 0, pc_device = 0, pc_class = 0 '\0',
      pc_subclass = 0 '\0', pc_progif = 0 '\0', pc_revid = 0 '\0',
      pd_name = "\000\000@\016%ÂpC&ÂpC&Â\026\000", pd_unit = 22}},
  ap_handle = 0x7, ap_flags = 0}
(kgdb)

/Magnus


More information about the freebsd-acpi mailing list