Bringing the Entire VMware Server Down from Within a Virtual Machine in Three Easy Steps
- Install a virtual sound device
- Boot the VM
- Write to the OPL3 registers within the VM
I'm not sure what the exact hell is going on here, but the VM instantly halts, hangs for a second, silently pitches a fatal error, politely self-terminates, and then the whole damn server crashes (after the apparent clean bail-out from the VM!), taking everybody else's virtual machine with it. Quality.
As far as I can tell, the problem is that there is actually nonworking partly-implemented OPL3 emulation in there — the IO is there, but doing anything with it is a one-way ticket to Undefined Behavior Land. Some kind of internal exception happens, a controlled self-termination of the VM takes place, and then — here I'm guessing a whole bunch — the process of cleaning up the environment and freeing resources allocated by the virtual hardware devices encounters a bit of Grotesquely Unexpected State, resulting in a good old-fashioned lol-languages-with-manual-memory-management-style Ogólny Błąd Ochrony. I need to take a debugger to it to figure out what exactly is going on, of course.
Does VMware have virtual blue smoke implemented yet?
tl;dr: NO CANYON.MID FOR YOU