Ticket #4802 (closed defect: fixed)
Inaccessible Snapshots: Possible MachineState management bug?
|Reported by:||urilabob||Owned by:|
host: CentOS 5.3 (64 bit) guest: fedora 11 (64 bit) Virtualbox: 3.0.4 Hardware: mostly intel
I'm having problems with a VM which is currently in an un-runnable state. Run from the GUI, it simply disappears after a moment (the GUI survives, but the "run" arrow greys out; from VBoxManage:
VBoxManage startvm scteachplate VirtualBox Command Line Management Interface Version 3.0.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Waiting for the remote session to open... ERROR: Virtual machine 'scteachplate' has terminated unexpectedly during startup Details: code NS_ERROR_FAILURE (0x80004005), component Machine, interface IMachine, callee <NULL>
This wouldn't matter too much if I could revert it, but any attempt to discard or revert a snapshot from the GUI results in (randomly) one of three things:
1. the VM becomes greyed out, with a stop sign and "inaccessible". The "details" tab says: "The selected virtual machine is inaccessible. Please inspect the error message shown below and press the Refresh button if you want to repeat the accessibility check." (but a blank screen) 2. As above, except that the screen _does_ contain a message, such as: Result Code: Unknown Status 0x80000400 (0x00000400) (since I can't find any doco on this, it doesn't seem to be much different from 1) 3. VirtualBox segfaults
Running from VBoxManage gives:
VBoxManage discardstate scteachplate VirtualBox Command Line Management Interface Version 3.0.4 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. ERROR: Cannot discard the machine state as the machine is not in the saved state (machine state: 1) Details: code VBOX_E_INVALID_VM_STATE (0x80bb0002), component Console, interface IConsole, callee nsISupports Context: "ForgetSavedState(true)" at line 1201 of file VBoxManage.cpp
This appears to originate from ConsoleImpl.cpp
if (mMachineState != MachineState_Saved) return setError (VBOX_E_INVALID_VM_STATE, tr ("Cannot discard the machine state as the machine is " "not in the saved state (machine state: %d)"), mMachineState); HRESULT rc = S_OK; rc = mControl->SetRemoveSavedState(aRemove); CheckComRCReturnRC (rc); /* * Saved -> PoweredOff transition will be detected in the SessionMachine * and properly handled. */ rc = setMachineState (MachineState_PoweredOff);
Am I right in guessing that the assumption built into the comment may not always be correct?
The system got into this state when the guest (fedora 11) hung during initial on-line update after installing OS and guest additions. I chose to turn the VM off (sorry, don't have a running VM right now, so I can't check the menu, but it's the last one on the list). I probably selected to discard the machine state, but I don't recall for sure.
Of course, any advice on how to rescue the VM would also be greatly appreciated...