>Synopsis: DEBUG kernel crashes on boot at -current/riscv64
>Category: uvm
>Environment:
System : OpenBSD 7.8
Details : OpenBSD 7.8-current (GENERIC.MP) #8: Sat Nov 15 13:09:29
CET 2025
[email protected]:/usr/src/sys/arch/riscv64/compile/GENERIC.MP
Architecture: OpenBSD.riscv64
Machine : riscv64
>Description:
Build kernel from cvs checkout from about 12 November when I had
enabled option DEBUG lead to crash. I can reproduce it in qemu which
I run as:
qemu-system-riscv64 \
-machine virt \
-nographic \
-m 16G \
-smp 4 \
-bios /usr/local/share/opensbi/generic/fw_jump.bin \
-kernel
/usr/local/share/u-boot/qemu-riscv64_smode/u-boot.bin \
-hda openbsd-riscv64.qcow2 \
-netdev
user,id=net0,hostfwd=::22022-:22,hostname=obsd-riscv64.matebook.home.arpa \
-device virtio-net-device,netdev=net0
>How-To-Repeat:
Build a DEBUG kernel and run it in qemu-system-riscv64
>Fix:
No idea
serial console output:
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2025 OpenBSD. All rights reserved. https://www.OpenBSD.org
OpenBSD 7.8-current (GENERIC.MP) #10: Sat Nov 15 19:38:48 CET 2025
[email protected]:/usr/src/sys/arch/riscv64/compile/GENERIC.MP
real mem = 17179869184 (16384MB)
avail mem = 16408969216 (15648MB)
SBI: OpenSBI v1.2, SBI Specification Version 1.0
random: good seed from bootblocks
mainbus0 at root: riscv-virtio,qemu
cpu0 at mainbus0: vendor 0 arch 0 imp 0
rv64imafdch_zic64b_zicbom_zicbop_px_0___q#_____._
intc0 at cpu0
cpu1 at mainbus0: vendor 0 arch 0 imp 0 rv64imafdch_zic64b_zicbom_zicbop_px_0_
cpu2 at mainbus0: vendor 0 arch 0 imp 0 rv64imafdch_zic64b_zicbom_zicbop_px_0_
cpu3 at mainbus0: vendor 0 arch 0 imp 0 rv64imafdch_zic64b_zicbom_zicbop_px_0_
syscon0 at mainbus0: "poweroff"
syscon1 at mainbus0: "reboot"
simplebus0 at mainbus0: "platform-bus"
"pmu" at mainbus0 not configured
"fw-cfg" at mainbus0 not configured
"flash" at mainbus0 not configured
simplebus1 at mainbus0: "soc"
syscon2 at simplebus1: "test"
plic0 at simplebus1
gfrtc0 at simplebus1
com0 at simplebus1: ns16550, no working fifo
com0: console
virtio0 at simplebus1: Virtio Network Device
vio0 at virtio0: 1 queue, address 52:54:00:12:34:56
virtio1 at simplebus1: Virtio Unknown (0) Device
virtio2 at simplebus1: Virtio Unknown (0) Device
virtio3 at simplebus1: Virtio Unknown (0) Device
virtio4 at simplebus1: Virtio Unknown (0) Device
virtio5 at simplebus1: Virtio Unknown (0) Device
virtio6 at simplebus1: Virtio Unknown (0) Device
virtio7 at simplebus1: Virtio Unknown (0) Device
"clint" at simplebus1 not configured
pciecam0 at simplebus1
pci0 at pciecam0
"Red Hat Host" rev 0x00 at pci0 dev 0 function 0 not configured
virtio8 at pci0 dev 1 function 0 "Qumranet Virtio Storage" rev 0x00
vioblk0 at virtio8
virtio8: irq
scsibus0 at vioblk0: 1 targets
sd0 at scsibus0 targ 0 lun 0: <VirtIO, Block Device, >
sd0: 102400MB, 512 bytes/sector, 209715200 sectors
Timecounters tick every 10.000 msec
panic: kernel diagnostic assertion "pg->uobject == NULL" failed: file "/usr/src
/sys/uvm/uvm_pmemrange.c", line 1306
Stopped at panic+0xfe: addi a0,zero,256 TID PID UID PR
FLAGS PFLAGS CPU COMMAND
* 0 0 0 0x10000 0x200 0K swapper
panic() at panic+0xfe
panic() at panic
uvm_wakeup_pla() at uvm_wakeup_pla
uvm_uarea_alloc() at uvm_uarea_alloc+0x98
fork1() at fork1+0x158
main() at main+0x42c
get_physmem() at get_physmem
end trace frame: 0x0, count: 8
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb{0}>
--
wbr, Kirill