On Thu, May 15, 2025 at 01:15:43PM +0200, Martin Pieuchot wrote: > Fault below has been triggered by dong 'vmctl $myvm stop' while > rebooting a 7.7 amd64 VM: > > OpenBSD 7.7 (GENERIC) #619: Sun Apr 13 08:19:34 MDT 2025 > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC > real mem = 117428224 (111MB) > avail mem = 87916544 (83MB) > random: good seed from bootblocks > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf2760 (10 entries) > bios0: vendor SeaBIOS version "1.16.3p0-OpenBSD-vmm" date 01/01/2011 > bios0: OpenBSD VMM > acpi at bios0 not configured > cpu0 at mainbus0: (uniprocessor) > cpu0: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz, 2394.43 MHz, 06-3d-04 > cpu0: cpuid 1 > edx=78ba97f<FPU,VME,DE,PSE,TSC,MSR,PAE,CX8,SEP,PGE,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2> > > ecx=f6d83203<SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV> > cpu0: cpuid 7.0 ebx=1c23a9<FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,RDSEED,ADX,SMAP> > edx=400<MD_CLEAR> > cpu0: cpuid d.1 eax=1<XSAVEOPT> > cpu0: cpuid 80000001 edx=24100800<NXE,PAGE1GB,LONG> ecx=121<LAHF,ABM,3DNOWP> > cpu0: cpuid 80000007 edx=100<ITSC> > cpu0: MELTDOWN > cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB > 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache > cpu0: smt 0, core 0, package 0 > cpu0: using VERW MDS workaround > pvbus0 at mainbus0: OpenBSD > pvclock0 at pvbus0 > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "OpenBSD VMM Host" rev 0x00 > virtio0 at pci0 dev 1 function 0 "Qumranet Virtio RNG" rev 0x00 > viornd0 at virtio0 > virtio0: irq 3 > virtio1 at pci0 dev 2 function 0 "Qumranet Virtio Network" rev 0x00 > vio0 at virtio1: 1 queue, address fe:e1:bb:d1:de:21 > virtio1: irq 5 > virtio2 at pci0 dev 3 function 0 "Qumranet Virtio Storage" rev 0x00 > vioblk0 at virtio2 > virtio2: irq 6 > scsibus1 at vioblk0: 1 targets > sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > > sd0: 3072MB, 512 bytes/sector, 6291456 sectors > virtio3 at pci0 dev 4 function 0 "OpenBSD VMM Control" rev 0x00 > vmmci0 at virtio3 > virtio3: irq 7 > isa0 at mainbus0 > isadma0 at isa0 > com0 at isa0 port 0x3f8/8 irq 4: ns8250, no fifo > com0: console > Rebooting in response to request from vmmci0 host > uvm_fault(0xffffffff82a56848, 0xf0, 0, 1) -> e > kernel: page fault trap, code=0 > Stopped at mtx_enter+0x2f: movq 0(%rdi),%rax > TID PID UID PRFLAGS PFLAGS CPU COMMAND > * 0 0 0 0x10000 0x200 0 swapper > mtx_enter(f0,f0,cea0d74fd2320eb6,f0,10,ffffffff82fbdcc0) at mtx_enter+0x2f > prsignal(0,2,2,1,ffff800000090400,d) at prsignal+0x26 > vmmci_config_change(ffff800000090400,ffff800000090400,86acf72f78ea7d07,0,ffff80 > 0000090400,0) at vmmci_config_change+0xf6 > virtio_pci_legacy_intr(ffff800000090400,ffff800000090400,c9a59ef2495be15f,fffff > fff81004000,0,4) at virtio_pci_legacy_intr+0x63 > intr_handler(ffffffff82fbddf0,ffff80000008e500,cbae99a56f027dfe,ffff80000008e48 > 0,ffffffff8152e8b6,ffffffff82fbdde0) at intr_handler+0x56 > Xintr_legacy7_untramp(0,ffffffff824e65b0,0,18041969,ffffffff81004000,e) at > Xint > r_legacy7_untramp+0x1a3 > Xspllower(0,0,c0d762ae039e8784,ffffffff81004000,ffffffff8152ed5c,ffffffff82fb70 > 08) at Xspllower+0x1d > cpu_configure(4449abb23155d965,0,0,ffff800000032000,ffffffff812a613f,ffffffff82 > fbdf10) at cpu_configure+0xaf > main(e,e,0,1,ffffffff816ab787,ffffffff82fbdf40) at main+0x427 > end trace frame: 0x0, count: 6 > https://www.openbsd.org/ddb.html describes the minimum info required in bug >
I guess initprocess is still NULL in pvbus_reboot() and so prsignal blows up trying to access the ps_mtx. I would suggest to use startuphook_establish() to delay the attach of vmmci0 until initprocess is set. -- :wq Claudio