Unkillable processes/OS lockup using virtio drives

I’ve been getting back to using Zig on Haiku, and I needed to build llvm 17 from source again. For context, I’m using a QEMU VM managed by libvirt/virt-manager, with my system drive using VirtIO.

After some time Ninja and it’s children will lock up and not respond to signals; I’ve even seen the whole OS lock up. Both of these cases require a hard reset. The only information I can get from Ninja is after pressing Ctrl-C:

waitpid(864): Interrupted system call

I switched from VirtIO to SATA in the VM settings and this problem immediately goes away. I also tried bringing up the kernel debugger but I assume it’s disabled in release builds since it never shows when pressing the key combo.

The kernel debugger is not disabled and is always available. If the key combo doesn’t work (probably your virtual machine is intercepting some keys?), try the kernel_debugger command from Terminal.

Please check if using virtio-block or virtio-scsi makes a difference.