machyve/xhyve

Avoid kernel panic: Detect if other processes are using vmx

tiborvass opened this issue · 8 comments

Currently, if you have virtualbox running already, xhyve will kernel panic.

Is there a way we could detect if something is already using vmx and error out cleanly?

xez commented

I can reproduce the panic with VirtualBox + xhyve but not VMware + xhyve. Maybe only an issue with VirtualBox?

@xez I am no expert on VMX but I think I read that there are two modes: one that lets other processes use VMX, and one that doesn't and I believe Virtualbox uses the latter. I believe Parallels also does that, however it has some error handling code, and will prompt to close Virtualbox.

I am not sure if folks at Parallels added virtualbox-specific code (i.e. check if Virtualbox is running) or if there is a proper way to check if we can access vmx before actually using it.

Duplicate of #9 - there is nothing xhyve can do, we're user mode, and this is a kernel panic. :( VirtualBox has to be fixed to play nicely with Hypervisor.framework.

I think you mean dupe of #5 and since you are well versed in Hypervisor.framework, could we implore you to search or file an issue with VirtualBox? Just saying they need to here in a GH comment does not help them achieve that goal.

@mist64 FWIW, Parallels can detect that something incompatible is using vmx (here: it's xhyve).
Parallels detecting xhyve

Does not happen anymore with VirtualBox 5.0.
You can even run VirtualBox and xhyve side by side.

paulp commented

Confirming @il-demone-guardiano's experience.

screen shot 2015-07-11 at 08 11 13

#39 updates docs regarding this 😄