Kernel panic from recent build
Eric van Gyzen
vangyzen at FreeBSD.org
Mon May 2 22:18:00 UTC 2016
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
@@ -201,8 +201,12 @@ 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;
More information about the freebsd-current
mailing list