Re: ACPI Panic on Current, AMD64

From: Eygene Ryabinkin <rea-fbsd_at_codelabs.ru>
Date: Thu, 21 May 2009 16:57:01 +0400
Timothy, good day.

Thu, May 21, 2009 at 09:21:27PM +1000, Timothy Mukaibo wrote:
> I've tried to boot 2009-05-20 AMD64 current, but it crashes out. I
> can't produce a full dmesg as  the screen scrolls too quickly for me
> type, and I don't have a serial console. If there's any other way to
> capture the full dmesg, please let me know. This is as much as I can
> see:
> 
> ACPI APIC Table: <Nvidia NVDAACPI>
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> FreeBSD/SMP: 1 package(s) x 2 core(s)
>    cpu0 (BSP): APIC ID: 0
>    cpu1 (AP): APIC ID: 1
> ioapic0: Changing APIC ID to 2
> ioapic0 <Version 1.1> irqs 0-23 on motherboard
> kbd1 at kbdmux0
> acpi0: <Nvidia NVDAACPI> on motherboard
> acpi0:  [ITHREAD]
> acpi0:  Power Button (fixed)
> acpi0:  reservation of 0, a000 (3) failed
> acpi0:  reservation of 100000, bfdf0000 (3) failed
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
> acpi_timer0: <24-bit timer at 3.579545MHz> port  0x1008-0x100b on acpi0
> acip_button0: <Power Button> on acpi0
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
> pci0: <ACPI Host PCI bus> on pcib0
> panic: Assertion link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ  
> failed at /usr/src/sys/dev/acpica/acpi_pci_link.c:744
> cpuid = 0
> KDB: enter: panic
> [thread pid 0 tid 100000 ]
> Stopped at     kdb_enter+0x3d: movq $0,0x677da0(%rip)
> db>

I like to be wrong, but since at the time of the panic your disk
subsystem isn't yet initialized, you can't make crashdump.  The best
way it still to get serial console working.

The first thing that you can try is to type 'bt' (without quotes)
at the 'db>' prompt and present the backtrace.  The second thing
to try if you can compile your own kernel (you can do in on the 7.x
partition, just compile kernel for 8-CURRENT, set it to boot with
nextboot(8) and try to load the kernel) -- you can try to add the
following simple patch to see what device provokes assertion:
-----
--- sys/dev/acpica/acpi_pci_link.c.orig	2009-05-21 16:43:49.000000000 +0400
+++ sys/dev/acpica/acpi_pci_link.c	2009-05-21 16:54:59.000000000 +0400
_at__at_ -740,6 +740,8 _at__at_
 			resptr = NULL;
 			break;
 		case ACPI_RESOURCE_TYPE_IRQ:
+			acpi_pci_link_dump(sc, 1, "MPASS");
+			printf("link type is %d\n", link->l_prs_template.Type);
 			MPASS(i < sc->pl_num_links);
 			MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ);
 			newres = link->l_prs_template;
-----
And, perhaps, the output from 'acpidump -dt' will be interesting.
-- 
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook
    {_.-``-'         {_/            #
Received on Thu May 21 2009 - 10:57:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:48 UTC