Wireguard Causing Kernel Oops

I am using the official Libre Computer Debian 12 image installed on the Libre Computer 16GB eMMC on Sweet Potato. I setup Wireguard via the pivpn.io setup scripts. After varying periods of uptime (a few hours to a few days) Wireguard appears to cause a kernel oops. After the oops, the system will run for a few hours before freezing. I have tried with kernel 6.1.92 and 6.6.85, both from the libre.computer repositories. This installation is remote, so I only have SSH access to diagnose and fix. Any ideas on how to prevent the oops while keeping wireguard active?

May 17 08:36:16 sweetie kernel: cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
May 17 08:36:16 sweetie kernel: meson8b-dwmac c9410000.ethernet end0: Register MEM_TYPE_PAGE_POOL RxQ-0
May 17 08:36:16 sweetie kernel: meson8b-dwmac c9410000.ethernet end0: PHY [mdio_mux-0.1:08] driver [Meson GXL Internal PHY] (irq=27)
May 17 08:36:16 sweetie kernel: meson8b-dwmac c9410000.ethernet end0: No Safety Features support found
May 17 08:36:16 sweetie kernel: meson8b-dwmac c9410000.ethernet end0: PTP not supported by HW
May 17 08:36:16 sweetie kernel: meson8b-dwmac c9410000.ethernet end0: configuring for phy/rmii link mode
May 17 08:36:17 sweetie kernel: wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
May 17 08:36:17 sweetie kernel: wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
May 17 08:36:18 sweetie kernel: IPv6: ADDRCONF(NETDEV_CHANGE): end0: link becomes ready
May 17 08:36:18 sweetie kernel: meson8b-dwmac c9410000.ethernet end0: Link is Up - 100Mbps/Full - flow control off
May 17 22:48:06 sweetie kernel: hrtimer: interrupt took 256004 ns
May 17 23:46:45 sweetie kernel: Unable to handle kernel paging request at virtual address ffdfb00b03bc50ac
May 17 23:46:45 sweetie kernel: Mem abort info:
May 17 23:46:45 sweetie kernel:   ESR = 0x0000000086000004
May 17 23:46:45 sweetie kernel:   EC = 0x21: IABT (current EL), IL = 32 bits
May 17 23:46:45 sweetie kernel:   SET = 0, FnV = 0
May 17 23:46:45 sweetie kernel:   EA = 0, S1PTW = 0
May 17 23:46:45 sweetie kernel:   FSC = 0x04: level 0 translation fault
May 17 23:46:45 sweetie kernel: [ffdfb00b03bc50ac] address between user and kernel address ranges
May 17 23:46:45 sweetie kernel: Internal error: Oops: 0000000086000004 [#1] PREEMPT SMP
May 17 23:46:45 sweetie kernel: Modules linked in: tls wireguard libchacha20poly1305 chacha_neon poly1305_neon libcurve25519_generic libchacha ip6_udp_tunnel udp_tunnel nvme_fabrics nvme_core cfg80211 rfkill binfmt_misc meson_vdec(C) nft_chain_nat videobuf2_dma_contig v4l2>
May 17 23:46:45 sweetie kernel: CPU: 1 PID: 65688 Comm: feed-airplanes Tainted: G         C         6.1.92-15907-gf36fd2695db3 #1
May 17 23:46:45 sweetie kernel: Hardware name: libre-computer aml-s905x-cc-v2/aml-s905x-cc-v2, BIOS 2023.07+ 07/01/2023
May 17 23:46:45 sweetie kernel: pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
May 17 23:46:45 sweetie kernel: pc : 0xffdfb00b03bc50ac
May 17 23:46:45 sweetie kernel: lr : 0xffffb00b03bc50ac
May 17 23:46:45 sweetie kernel: sp : ffff80000a8fbb20
May 17 23:46:45 sweetie kernel: x29: ffff80000a8fbb20 x28: ffff0799cedec880 x27: 0000000000000000
May 17 23:46:45 sweetie kernel: x26: 0000000000000014 x25: 0000000000000000 x24: ffff079988f91600
May 17 23:46:45 sweetie kernel: x23: 0000000000000001 x22: ffff80000a8fbde8 x21: ffff0799979bdb40
May 17 23:46:45 sweetie kernel: x20: 0000000000000002 x19: ffff80000a8fbc60 x18: 0000000000000000
May 17 23:46:45 sweetie kernel: x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
May 17 23:46:45 sweetie kernel: x14: 0000000000000000 x13: ffff079981944034 x12: ffff80000a8fbca4
May 17 23:46:45 sweetie kernel: x11: 0000000c32bb9e9e x10: 0000000000000002 x9 : ffffb01b03bc519c
May 17 23:46:45 sweetie kernel: x8 : ffff0799979bdb40 x7 : d0d0d0d0b5a4b1a4 x6 : 0000000000200008
May 17 23:46:45 sweetie kernel: x5 : 0000000000000135 x4 : 0000000000000064 x3 : 0000000000000000
May 17 23:46:45 sweetie kernel: x2 : 0000000b00000000 x1 : 0000000a00000000 x0 : 0000000000000001
May 17 23:46:45 sweetie kernel: Call trace:
May 17 23:46:45 sweetie kernel:  0xffdfb00b03bc50ac
May 17 23:46:45 sweetie kernel:  try_to_unlazy+0x48/0x100
May 17 23:46:45 sweetie kernel:  lookup_fast+0xcc/0x150
May 17 23:46:45 sweetie kernel:  walk_component+0x30/0x1a0
May 17 23:46:45 sweetie kernel:  path_lookupat+0x80/0x1ac
May 17 23:46:45 sweetie kernel:  filename_lookup+0xb4/0x1b0
May 17 23:46:45 sweetie kernel:  user_path_at_empty+0x54/0x80
May 17 23:46:45 sweetie kernel:  do_faccessat+0x98/0x2d0
May 17 23:46:45 sweetie kernel:  __arm64_sys_faccessat+0x2c/0x40
May 17 23:46:45 sweetie kernel:  invoke_syscall+0x50/0x120
May 17 23:46:45 sweetie kernel:  el0_svc_common.constprop.0+0x4c/0xf4
May 17 23:46:45 sweetie kernel:  do_el0_svc+0x34/0xd0
May 17 23:46:45 sweetie kernel:  el0_svc+0x2c/0x84
May 17 23:46:45 sweetie kernel:  el0t_64_sync_handler+0xf4/0x120
May 17 23:46:45 sweetie kernel:  el0t_64_sync+0x18c/0x190
May 17 23:46:45 sweetie kernel: Code: bad PC value
May 17 23:46:45 sweetie kernel: ---[ end trace 0000000000000000 ]---

Double check your power supply. This is usually caused by power transients if it occurs on multiple kernel versions.

Ok, thank you for the feedback. I forgot to mention that it is currently being powered by the Libre Computer POE hat via a Ubiquiti US-16-150W (Gen 1) POE+ switch. Specs on the switch claim 15.4W max power per port. Next time I’m in the same room as the Sweet Potato, I’ll convert it to traditional AC power (Official Raspberry Pi 4 power supply 5.1V 3A) and see if I can get stability. In the meantime, I’ve disabled wireguard.

May 17 23:46:45 sweetie kernel: Unable to handle kernel paging request at virtual address ffdfb00b03bc50ac
May 17 23:46:45 sweetie kernel: Mem abort info:
May 17 23:46:45 sweetie kernel:   ESR = 0x0000000086000004
May 17 23:46:45 sweetie kernel:   EC = 0x21: IABT (current EL), IL = 32 bits
May 17 23:46:45 sweetie kernel:   SET = 0, FnV = 0
May 17 23:46:45 sweetie kernel:   EA = 0, S1PTW = 0
May 17 23:46:45 sweetie kernel:   FSC = 0x04: level 0 translation fault
May 17 23:46:45 sweetie kernel: [ffdfb00b03bc50ac] address between user and kernel address ranges
May 17 23:46:45 sweetie kernel: Internal error: Oops: 0000000086000004 [#1] PREEMPT SMP
May 17 23:46:45 sweetie kernel: Modules linked in: tls wireguard libchacha20poly1305 chacha_neon poly1305_neon libcurve25519_generic libchacha ip6_udp_tunnel udp_tunnel nvme_fabrics nvme_core cfg80211 rfkill binfmt_misc meson_vdec(C) nft_chain_nat videobuf2_dma_contig v4l2>
May 17 23:46:45 sweetie kernel: CPU: 1 PID: 65688 Comm: feed-airplanes Tainted: G         C         6.1.92-15907-gf36fd2695db3 #1

feed-airplanes could also possibly have a bug in the code. But check temperature and power first.

1 Like