Opened 8 years ago
Closed 7 years ago
#16074 closed defect (fixed)
stateFile reference in vbox file corrupted upon moving VM
Reported by: | Wouter Kariboe | Owned by: | |
---|---|---|---|
Component: | VMM | Version: | VirtualBox 5.1.6 |
Keywords: | move; snapshot; stateFile | Cc: | |
Guest type: | all | Host type: | Windows |
Description
When I use the VirtualBox GUI to move a VM having a live snapshot, the stateFile reference in the vbox file gets corrupted:
"Snapshots/filename.sav" becomes "Snapshots/filename.sav/Snapshots/filename.sav".
This quickly results in the VM not starting any more.
VirtualBox versions tested: 5.0.26 and 5.1.6
Host: Windows 7x64
Guest: any
Steps (all done via the VirtualBox GUI (except the vbox file copies via Windows Explorer):
- Create a new VM in an existing group. For instance: a Debian 64-bit VM called Deb in a group called Microsoft, accepting all defaults.
- Start the VM, boot from an installation iso and let the VM run for a few moments. (E.g. debian-8.6.0-amd64-kde-CD-1.iso almost instantly settles at its boot menu.)
- Take a (live) snapshot of the VM called Snapshot 1.
- Close the VM, selecting "Power off the machine" and "Restore current snapshot 'Snapshot 1'".
Resulting snapshot tree: "Snapshot 1" -> "Current State (changed)".
[Actually the creation of "Current State (changed)" here might be the result of another bug, but that's probably another matter.]
- Using Windows Explorer, copy Deb.vbox to Deb1.vbox.
- Drag the VM to another group, e.g. "Linux".
- Copy Deb.vbox to Deb2.vbox.
- Start the VM. It is restored correctly at the point it was stopped (e.g. Debian's boot menu).
- Close the VM, again selecting "Power off..." and "Restore ... 'Snapshot 1'".
- Copy Deb.vbox to Deb3.vbox.
- Start the VM. The VM aborts almost immediately, and a dialog box pops up, stating:
VirtualBox - Error Failed to open a session for the virtual machine Deb. Details: The VM session was closed before any attempt to power it on. Result Code: E_FAIL (0x80004005) Component: SessionMachine Interface: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}
VBox.log provides the following error messages:
ERROR [COM]: aRC=VBOX_E_FILE_ERROR (0x80bb0004) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={VM cannot start because the saved state file 'Z:\VM\VirtualBox\Machines\Linux\Deb\Snapshots\2016-10-17T12-48-59-752997200Z.sav\Snapshots\2016-10-17T12-48-59-752997200Z.sav' is invalid (VERR_PATH_NOT_FOUND). Delete the saved state prior to starting the VM}, preserve=false aResultDetail=0 GUI: Aborting startup due to power up issue detected...
Note that Deb2.vbox (which was saved immediately after the VM was moved), already contains the invalid path in the snapshot definition:
<Snapshot uuid="{12ae5280-3c84-409c-a9eb-03266b75b4e0}" name="Snapshot 1" timeStamp="2016-10-17T12:48:59Z" stateFile="Snapshots/2016-10-17T12-48-59-752997200Z.sav/Snapshots/2016-10-17T12-48-59-752997200Z.sav">
However, the machine state's stateFile is still correct (which is why the VM can still run successfully):
<Machine uuid="{4091a06e-3382-47c8-a46d-3f2efa978a8d}" name="Deb" OSType="Debian_64" stateFile="Snapshots/2016-10-17T12-48-59-752997200Z.sav" currentSnapshot="{12ae5280-3c84-409c-a9eb-03266b75b4e0}" snapshotFolder="Snapshots" lastStateChange="2016-10-17T12:49:25Z">
However, in Deb3.vbox, saved after the first ("successful") run after the move, the machine state has also become corrupted:
<Machine uuid="{4091a06e-3382-47c8-a46d-3f2efa978a8d}" name="Deb" OSType="Debian_64" stateFile="Snapshots/2016-10-17T12-48-59-752997200Z.sav/Snapshots/2016-10-17T12-48-59-752997200Z.sav" currentSnapshot="{12ae5280-3c84-409c-a9eb-03266b75b4e0}" snapshotFolder="Snapshots" currentStateModified="false" lastStateChange="2016-10-17T12:48:59Z">
This explains why the VM doesn't start any more.
Things get even worse if I then move the VM back to its original (or any other?) location: stateFile then becomes a quadrupled path:
"Snapshots/filename.sav/Snapshots/filename.sav/Snapshots/filename.sav/Snapshots/filename.sav"
Attachments (4)
Change History (7)
by , 8 years ago
comment:1 by , 7 years ago
Same problem as in #16745. Will be fixed in 5.1.24. The most recent 5.1.x test builds (>=115382) contain the fix as well.
comment:3 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
vbox file before moving VM