Kernel panic booting Debian 6.12.17-1 kernel

Rebooted today after the kernel (from Trixie) was installed a couple of days ago; the panic is extremely early in the initialization phase:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.12.17-arm64 (debian-kernel@lists.debian.org) (aarch64-linux-gnu-gcc-14 (Debian 14.2.0-17) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP Debian 6.12.17-1 (2025-03-01)
[    0.000000] KASLR enabled
[    0.000000] Machine model: Traverse Ten64
[    0.000000] efi: EFI v2.10 by Das U-Boot
[    0.000000] efi: RTPROP=0x83dffdf040 SMBIOS=0xf680f000 RNG=0x83dd43f040 INITRD=0x83dd440040 MEMRESERVE=0x83dff8d040 
[    0.000000] random: crng init done
[    0.000000] secureboot: Secure boot disabled
[    0.000000] earlycon: ns16550a0 at MMIO 0x00000000021c0500 (options '115200n8')
[    0.000000] printk: legacy bootconsole [ns16550a0] enabled
[    0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in the DT
[    0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000083dfffffff]
[    0.000000] NODE_DATA(0) allocated [mem 0x83de0d31c0-0x83de0d68ff]
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at mm/sparse.c:142 sparse_init+0x120/0x2d0
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.12.17-arm64 #1  Debian 6.12.17-1
[    0.000000] Hardware name: Traverse Ten64 (DT)
[    0.000000] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.000000] pc : sparse_init+0x120/0x2d0
[    0.000000] lr : sparse_init+0x1e8/0x2d0
[    0.000000] sp : ffffde7ff17c3c90
[    0.000000] x29: ffffde7ff17c3cb0 x28: 0000000000000000 x27: 000000000000001f
[    0.000000] x26: 00000000083dffdf x25: 0000000000000004 x24: 0000000000000000
[    0.000000] x23: ffffde7ff0e8e000 x22: ffffde7ff1bbfaa0 x21: ffffde7ff1bcd730
[    0.000000] x20: 0000000000200000 x19: 0000000008080000 x18: 0000000000000006
[    0.000000] x17: 6666666666666433 x16: 3830303030303078 x15: 0000000000000001
[    0.000000] x14: 000000035ffdf000 x13: 0000000000000078 x12: 000000000000000a
[    0.000000] x11: ffffde7ff18ad1c0 x10: ffffde7ff1bc5350 x9 : 0000000008080000
[    0.000000] x8 : 0000000000000005 x7 : 0000000000000006 x6 : 0000000000000000
[    0.000000] x5 : ffffde7ff1bc53c8 x4 : ffffde7ff17c3c94 x3 : ffffde7ff17c3ca0
[    0.000000] x2 : ffffde7ff17c3c98 x1 : 000000035ffdf000 x0 : 0000000000000000
[    0.000000] Call trace:
[    0.000000]  sparse_init+0x120/0x2d0
[    0.000000]  bootmem_init+0x7c/0x1b8
[    0.000000]  setup_arch+0x2c8/0x640
[    0.000000]  start_kernel+0x7c/0x798
[    0.000000]  __primary_switched+0x80/0x90
[    0.000000] ---[ end trace 0000000000000000 ]---
[    0.000000] Unable to handle kernel paging request at virtual address fff32283c77ffe80
[    0.000000] Mem abort info:
[    0.000000]   ESR = 0x0000000096000004
[    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
[    0.000000]   SET = 0, FnV = 0
[    0.000000]   EA = 0, S1PTW = 0
[    0.000000]   FSC = 0x04: level 0 translation fault
[    0.000000] Data abort info:
[    0.000000]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
[    0.000000]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[    0.000000]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[    0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000083daabf000
[    0.000000] [fff32283c77ffe80] pgd=0000000000000000, p4d=0000000000000000
[    0.000000] Internal error: Oops: 0000000096000004 [#1] SMP
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Tainted: G        W          6.12.17-arm64 #1  Debian 6.12.17-1
[    0.000000] Tainted: [W]=WARN
[    0.000000] Hardware name: Traverse Ten64 (DT)
[    0.000000] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.000000] pc : vmemmap_populate_hugepages+0xd4/0x1c0
[    0.000000] lr : vmemmap_populate_hugepages+0x98/0x1c0
[    0.000000] sp : ffffde7ff17c3b70
[    0.000000] x29: ffffde7ff17c3b70 x28: 0000000000000000 x27: fff32283c77ffe80
[    0.000000] x26: ffffde7ff0e8e000 x25: ffffffffba1fffff x24: 0000000000000000
[    0.000000] x23: ffffffffba200000 x22: 0000000000000000 x21: 0000000000000000
[    0.000000] x20: ffffffffba200000 x19: ffffffffba000000 x18: 0000000000000006
[    0.000000] x17: 6666666666666433 x16: 3830303030303078 x15: 0000000000000000
[    0.000000] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000010
[    0.000000] x11: 0000000000024740 x10: 00000083de0b21c0 x9 : 0000000000000000
[    0.000000] x8 : ffff8081de0b2000 x7 : 0000000000000000 x6 : 000000000000003f
[    0.000000] x5 : 0000000000000040 x4 : fff32283c77ff000 x3 : 0003a285c77ff000
[    0.000000] x2 : fff0800200000000 x1 : 0000000000000e80 x0 : 00000000000001d0
[    0.000000] Call trace:
[    0.000000]  vmemmap_populate_hugepages+0xd4/0x1c0
[    0.000000]  vmemmap_populate+0x30/0x58
[    0.000000]  __populate_section_memmap+0x50/0xe0
[    0.000000]  sparse_init_nid+0x16c/0x340
[    0.000000]  sparse_init+0x284/0x2d0
[    0.000000]  bootmem_init+0x7c/0x1b8
[    0.000000]  setup_arch+0x2c8/0x640
[    0.000000]  start_kernel+0x7c/0x798
[    0.000000]  __primary_switched+0x80/0x90
[    0.000000] Code: aa030084 cb020084 b24c2c84 8b000c9b (f8616880) 
[    0.000000] ---[ end trace 0000000000000000 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---

Reporting here first, but since it’s so early in the boot process this may be a problem with the kernel build itself.

The only arm64/mm changes in the upstream kernel between 6.12.12 and 6.12.17 appear to be in 6.12.14: Linux 6.12.14 [LWN.net]

And this patch in 6.12.18 looks incredibly relevant.

Thanks for that link, it looks to be a good lead…
I’ve already encountered this issue trying to bring up OpenWrt with a 6.12 kernel and have already spent a few hours trying to troubleshoot it :frowning:

It doesn’t happen with our kernel config, but there doesn’t appear to be any obvious difference in the KConfig that would affect the memory setup.

Thanks again for the tip, that patch does appear to resolve the issue when applied to <6.12.17

It looks like CONFIG_RANDOMIZE_BASE (being disabled) was the reason I didn’t see it with my kernel configs. I better turn that on…

1 Like

Confirmed here too, the patch makes my system boot again :slight_smile: