Re: Kernel panic from recent build

From: Ryan Stone <rysto32_at_gmail.com>
Date: Mon, 2 May 2016 19:51:52 -0400
Do we need this debug output?  It's quite clear from the acpidump output
that there is an entry for APIC ID 0 in memory domain 0 and memory domain
1.  Not sure if that's legal by the spec.

On Mon, May 2, 2016 at 6:17 PM, Eric van Gyzen <vangyzen_at_freebsd.org> wrote:

> On 05/02/2016 16:14, Bill O'Hanlon wrote:
> > On Mon, May 2, 2016 at 3:55 PM, John Baldwin <jhb_at_freebsd.org> wrote:
> >
> >> On Monday, May 02, 2016 01:35:54 PM Bill O'Hanlon wrote:
> >>> ​
> >>>  IMG_20160502_130335.jpg
> >>> <
> >>
> https://drive.google.com/file/d/1dtJxTwWXfhXVUUtn1Vvpzh3laJt7AILyCg/view?usp=drive_web
> >>> ​
> >>> I'm getting the following panic from a recent (May 2, 2016) build.
> >>> panic: Duplicate local APIC ID 0
> >>>
> >>> The system is a Dell Precision T5500 with generic factory BIOS
> settings.
> >>> It has run previous builds without event for several years.
> >>>
> >>> I'm attaching a link to a photo of the screen for added details.
> >> Try setting 'hint.srat.0.disabled=1' at the loader prompt and then grab
> >> the output of 'acpidump -t' on your next boot.  The SRAT table used by
> >> the NUMA code appears to be corrupted by your BIOS.
> >>
> >> --
> >> John Baldwin
> >>
> >
> > That allowed me to boot.  I'm attaching the output of 'acpidump -t'.
> > Thanks!
>
> Bill,
>
> Do you have the time and interest to test this patch?  If so, remove the
> line that you added to /boot/loader.conf so the patch actually gets
> exercised.
>
> Eric
>
>
> diff --git a/sys/x86/acpica/srat.c b/sys/x86/acpica/srat.c
> index 85f1922..1d0f73d 100644
> --- a/sys/x86/acpica/srat.c
> +++ b/sys/x86/acpica/srat.c
> _at__at_ -201,8 +201,12 _at__at_ srat_parse_entry(ACPI_SUBTABLE_HEADER *entry, void
> *arg)
>                  "enabled" : "disabled");
>          if (!(cpu->Flags & ACPI_SRAT_CPU_ENABLED))
>              break;
> -        KASSERT(!cpus[cpu->ApicId].enabled,
> -            ("Duplicate local APIC ID %u", cpu->ApicId));
> +        if (cpus[cpu->ApicId].enabled) {
> +            printf("SRAT: Duplicate local APIC ID %u\n",
> +                cpu->ApicId);
> +            *(int *)arg = ENXIO;
> +            break;
> +        }
>          cpus[cpu->ApicId].domain = domain;
>          cpus[cpu->ApicId].enabled = 1;
>          break;
>
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>
Received on Mon May 02 2016 - 21:51:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:04 UTC