Re: ACPI Panic on Current, AMD64

From: Timothy Mukaibo <tinkysama_at_mukaibo.com>
Date: Wed, 27 May 2009 17:45:02 +1000
Hello Eygene,

Sorry for the delay. I've been busy with uni.

The problem still persists with the 26/05 snapshot. Here's the result  
of a back trace:

db> bt
Tracing pid 0 tid 100000 td 0fffffff80bd2ae0
kdb_enter() at kdb_enter+0x3d
panic() at panic+0x17b
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x727
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x147
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1a5
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa50
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
device_attach() at device_attach+0x69
root_bus_configure() at root_bus_configure+0x28
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at biext+0x2c

Is it possible that a setting in my bios is causing the crash? Would  
corrupt memory trigger something like this?

I'll try your patch. Thanks for your help Eygene!

Kind regards,
Timothy.



On 21/05/2009, at 10:57 PM, Eygene Ryabinkin wrote:

> 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
>    {_.-``-'         {_/            #
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org 
> "
Received on Wed May 27 2009 - 05:45:16 UTC

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