Re: kern_sig.c pfault with non-sleepable locks held

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Mon, 23 Mar 2026 09:06:47 UTC
On Mon, 23 Mar 2026 03:53:51 +0000 (UTC)
"Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> wrote:

> Hi,
> 
> this is at main 8cc1c0f35ec8 . I'll update later and see if I can repro this.
> It's been a long time since I've seen something like this...
> 
> I cannot help much more as bhyve stopped with a triple fault on this.
> 
> 
> Kernel page fault with the following non-sleepable locks held:
> exclusive sleep mutex sigacts (sigacts) r = 0 (0xfffff800370b1ca8) locked @ /sys/kern/kern_sig.c:311
> exclusive sleep mutex process lock (process lock) r = 0 (0xfffffe00a3162bd8) locked @ /sys/kern/kern_sig.c:308
> stack backtrace:
> #0 0xffffffff80c2e51c at witness_debugger+0x6c
> #1 0xffffffff80c2fe29 at witness_warn+0x4c9
> #2 0xffffffff8109bcec at trap_pfault+0x8c
> #3 0xffffffff8106a6b8 at calltrap+0x8
> #4 0xffffffff8106d6b7 at end_exceptions+0x167
> #5 0xffffffff80bb896b at postsig+0x28b
> #6 0xffffffff80bbcdab at ast_sig+0x1bb
> #7 0xffffffff80c22d08 at ast_handler+0xe8
> #8 0xffffffff80c22c10 at ast+0x20
> #9 0xffffffff8106d1a6 at doreti_ast+0x1c
> 
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 3; apic id = 03
> fault virtual address   = 0xfffffe00b0aa9000
> fault code              = supervisor read data, page not present
> instruction pointer     = 0x20:0xffffffff810979d5
> stack pointer           = 0:0xfffffe00b0aa88f0
> frame pointer           = 0:0xfffffe00b0aa88f0
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                          = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 2326 (iperf3)
> rdi: fffffe00b0aa8a38 rsi: fffffe00b0aa9000 rdx: 000000000000003b
> rcx: 0000000000000010  r8: fffffffffffffa38  r9: fffffe00b0aa8950
> rax: fffffe00b0aa8978 rbx: fffffe00b0aa8f40 rbp: fffffe00b0aa88f0
> r10: 0000000000000000 r11: fffffe00b0aa8d78 r12: 0000000000000000
> r13: fffffe00b0aa8de8 r14: 0000000000000004 r15: fffff800047ef780
> trap number             = 12
> 
> 
> 
> 
> Fatal trap 9: general protection fault while in kernel mode
> Fatal trap 9: general protection fault while in kernel mode
> 
> 
> (gdb) l *0xffffffff810979d5
> 0xffffffff810979d5 is at /sys/amd64/amd64/support.S:537.
> 532     ENTRY(memmove_std)
> 533             MEMMOVE erms=0 overlap=1 begin=MEMMOVE_BEGIN end=MEMMOVE_END
> 534     END(memmove_std)
> 535
> 536     ENTRY(memmove_erms)
> 537             MEMMOVE erms=1 overlap=1 begin=MEMMOVE_BEGIN end=MEMMOVE_END
> 538     END(memmove_erms)
> 539
> 540     /*
> 541      * memcpy(dst, src, len)
> 
> -- 
> Bjoern A. Zeeb                                                     r15:7

Hi.

Does it fixet when you updated to commit
1ba29614c4ce5e261ade0bd7def94079b7b9647a or later?

Regards.

-- 
Tomoaki AOKI    <junchoon@dec.sakura.ne.jp>