Host is VirtualBox 5.2.18, Windows 7 x64 SP1, and Intel Core i7 960 @ 3.2 GHz. Guest is amd64 base/head r338418. Last known good revision is r338206. This can so easily be a bug in the VirtualBox implementation as it can be a bug in the FreeBSD implementation. The NVMe controller isn't critical to me, so I removed it from the VM, edited /etc/fstab, and carried on. Screenshots are available at https://ximalas.info/~trond/NVMe-crash-base-head-r338418/ Kernel messages (typed in from the screenshots, typo's quite possible): nvme0: Resetting controller due to a timeout. nvme0: resetting controller Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x40 fault code = supervisor write data, page not present instruction pointer = 0x20:0xffffffff805d7bd9 stack pointer = 0x28:0ffffffe00331a6a80 frame pointer = 0x28:0xfffffe00331a6a90 code segment = base rx0, limit 0xfffff, type 0x1b = CPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enable,d resume, IOPL = 0 current process = 0 (nvme taskq) [ thread pid 0 tid 100051 ] Stopped at 0xffffffff805d7bd9 = nvme_qpair_reset+0x9: movl $0,0x40 = ll+x1f(%rbx) db> bt Tracing pid 0 tid 100051 td 0xfffff8000c015580 nvme_qpair_reset() at 0xffffffff805d3207 = nvme_qpair_reset+0x9/frame 0xfffffe00113a6a90 nvme_ctrlr_start() at 0xffffffff805d3207 = nvme_ctrlr_start+0x57/frame 0xfffffe00331a6af0 taskqueue_run_locked() at 0xffffffff807ddaa4 = taskqueue_run_locked+0x154/frame 0xfffffe00331a6bb0 fork_exit() at 0xffffffff8073d8a3 = fork_exit+0x83/frame 0xfffffe00331a6bf0 forkt_rampoline() at 0xffffffff80ab97ae = fork_trampoline+0xe/frame 0xfffffe00331a6bf0 --- trap 0, rip = 0, rsp = 0, rbp = 0 --- db>
I can easily reenable the simulated NVMe controller, boot the VM into the kernel debugger and look around if anyone's interested.
As of base/head r338471, the VirtualBox NVMe controller is back in business. Case closed.