Bug #11538


WireGuard Panic

Added by Jim Pingle 5 months ago. Updated 4 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
Affected Architecture:


A forum user is hitting a panic on several systems when using WireGuard. The backtrace is the same each time it crashes, but it doesn't line up with other panics I've seen yet.

kernel trap 12 with interrupts disabled

Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address    = 0x30
fault code        = supervisor read data, page not present
instruction pointer    = 0x20:0xffffffff80e024b5
stack pointer            = 0x28:0xfffffe0025908870
frame pointer            = 0x28:0xfffffe0025908880
code segment        = base 0x0, limit 0xfffff, type 0x1b
            = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags    = resume, IOPL = 0
current process        = 0 (if_io_tqg_3)
trap number        = 12
panic: page fault
cpuid = 3
time = 1614124906
KDB: enter: panic
db:0:kdb.enter.default>  show pcpu
cpuid        = 3
dynamic pcpu = 0xfffffe007e328380
curthread    = 0xfffff8000429c740: pid 0 tid 100033 "if_io_tqg_3" 
curpcb       = 0xfffff8000429cce0
fpcurthread  = none
idlethread   = 0xfffff80004245740: tid 100006 "idle: cpu3" 
curpmap      = 0xffffffff8368d5a8
tssp         = 0xffffffff83717758
commontssp   = 0xffffffff83717758
rsp0         = 0xfffffe0025908cc0
kcr3         = 0xffffffffffffffff
ucr3         = 0xffffffffffffffff
scr3         = 0x0
gs32p        = 0xffffffff8371df70
ldt          = 0xffffffff8371dfb0
tss          = 0xffffffff8371dfa0
tlb gen      = 206113
curvnet      = 0
db:0:kdb.enter.default>  bt
Tracing pid 0 tid 100033 td 0xfffff8000429c740
kdb_enter() at kdb_enter+0x37/frame 0xfffffe0025908530
vpanic() at vpanic+0x197/frame 0xfffffe0025908580
panic() at panic+0x43/frame 0xfffffe00259085e0
trap_fatal() at trap_fatal+0x391/frame 0xfffffe0025908640
trap_pfault() at trap_pfault+0x4f/frame 0xfffffe0025908690
trap() at trap+0x286/frame 0xfffffe00259087a0
calltrap() at calltrap+0x8/frame 0xfffffe00259087a0
--- trap 0xc, rip = 0xffffffff80e024b5, rsp = 0xfffffe0025908870, rbp = 0xfffffe0025908880 ---
turnstile_broadcast() at turnstile_broadcast+0x45/frame 0xfffffe0025908880
__rw_wunlock_hard() at __rw_wunlock_hard+0xab/frame 0xfffffe00259088b0
noise_remote_begin_session() at noise_remote_begin_session+0x4aa/frame 0xfffffe0025908a20
wg_softc_handshake_receive() at wg_softc_handshake_receive+0x60b/frame 0xfffffe0025908b20
gtaskqueue_run_locked() at gtaskqueue_run_locked+0x121/frame 0xfffffe0025908b80
gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0xb6/frame 0xfffffe0025908bb0
fork_exit() at fork_exit+0x7e/frame 0xfffffe0025908bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0025908bf0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---

The message buffer on all of them is full of matchaddr failed messages (See #11502 for another report of those) but it's unclear if they are directly related to this condition.

I attached one of the crash dumps from the forum thread. There are many more, but they are practically identical (identical backtrace, but with varying process IDs and such).


1614268222394-nmg_textdump0.tar (154 KB) 1614268222394-nmg_textdump0.tar Jim Pingle, 02/25/2021 01:41 PM

Related issues

Has duplicate Bug #11558: WireGuard PanicDuplicate02/26/2021

Actions #1

Updated by Jim Pingle 5 months ago

Actions #2

Updated by Jim Pingle 5 months ago

  • Assignee set to Peter Grehan
Actions #3

Updated by Jim Pingle 5 months ago

  • Target version changed from CE-Next to 2.5.1
Actions #4

Updated by Renato Botelho 4 months ago

  • Status changed from New to Feedback

Many wg fixes were cherry-picked from upstream. This must be tested again

Actions #5

Updated by Jim Pingle 4 months ago

  • Target version changed from 2.5.1 to Future

Also available in: Atom PDF