Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Discussions related to using VirtualBox on Windows hosts.
Post Reply
akaguyver
Posts: 2
Joined: 21. Jun 2022, 01:17

Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by akaguyver »

Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).


Result Code:
E_FAIL (0x80004005)
Component:
ConsoleWrap
Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

problem started when trying to load a kali linux vm that had previously been running fine for a month. i had 9 snapshots. then due to an error in zsh i lost access to the gui. when trying to revert to a previous snapshot and now this error shows up. ive looked it up and come up with very little. i havent upgraded anything. i have tried to use the virtual drive to create another kali vm but none of my files are on there. please help me fix this
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by scottgus1 »

This error occurs when the VM has a saved state and the host Virtualbox version has changed. Saved states don't survive a Virtualbox version change.

The snapshot you're reverting to was likely taken while the VM was running (it probably has a green arrowhead in the snapshot's icon), which means it has a saved state, so the VM can be started in the running state it was in when the snapshot was taken.

To recover, you either have to right-click the VM in the list and choose Discard Saved State (which will set the VM to reboot as if it had unexpectedly lost power, meaning unsaved data in the saved state will be lost) or you have to uninstall the host Virtualbox (and Extension Pack if you use it) to the version that was on the host when the snapshot was taken, then the saved state will start.
akaguyver
Posts: 2
Joined: 21. Jun 2022, 01:17

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by akaguyver »

i never updated virtualbox. i checked and its the same version as the installer file that i downloaded and windows has no previous version to revert to. also i have tried discarding and loading previous snapshots and i get the same error
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by mpack »

There is only one possible explanation for the error message, and it's as Scott described: the .SAV file uses an unknown format, which cannot mean anything other than - the VM was state-saved with a different version of VirtualBox. A corrupted SAV file would produce a different message.
fth0
Volunteer
Posts: 5677
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by fth0 »

FWIW, I think (but I'm not absolutely sure) there is another possible explanation:

HWACCM (HardWare ACCeleration Manager) is an old name for the HM component of VirtualBox. If Hyper-V gets enabled on the host while a VM is in a saved state, VirtualBox will probably not be "interested" in reading back the HM state from the saved state any more, which could lead to the error message.

Ultimately, the solution is the same: Discarding the saved state.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by scottgus1 »

fth0 wrote:VirtualBox will probably not be "interested" in reading back the HM state from the saved state any more, which could lead to the error message.
This is interesting, thanks! So this issue may be from freshly-enabled Hyper-V also, going to remember that. As I understand saved states, some of the host hardware has to remain the same, too, and throwing a type-1 hypervisor into the mix would probably be a big-enough host hardware change. :D
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by mpack »

SSM_LOADED_TOO_LITTLE seems quite straightforward to me: the data payload was smaller than expected. Even if VirtualBox didn't care about using this data then I don't see how that leads to this error.
fth0
Volunteer
Posts: 5677
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by fth0 »

VirtualBox 6.1.34 source code wrote:
/** A restore routine attempted to load more data then the unit contained. */
#define VERR_SSM_LOADED_TOO_MUCH                (-1831)
/** Not in the correct state for the attempted operation. */
#define VERR_SSM_INVALID_STATE                  (-1832)
/** Not in the correct state for the attempted operation. */
#define VERR_SSM_LOADED_TOO_LITTLE              (-1833)
The comment in the source code above is wrong (obvious copy & paste error ;)), but you can use the comment from VERR_SSM_LOADED_TOO_MUCH as an orientation.

I don't have enough time now to verify my previous posting, but I'll try to (dis-)prove it some time later on ... ;)
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by mpack »

There will be an internal data structure representing some virtual device. That data structure content can be saved as a packet to the SAV file, with a header indicating the module and packet size. On restore you may find that the restore structure is the same size as the data structure to be initialized, or smaller or larger. The latter two cases result in errors.

In retrospect, the enabling or disabling of Hyper-v might also cause the data structure size to change, so I agree it's possible that updating VirtualBox is not the only change in circumstance that could provoke this error.
fth0
Volunteer
Posts: 5677
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by fth0 »

akaguyver wrote:Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).
Please provide a (zipped) VBox.log file from a VM run giving this error.
fth0
Volunteer
Posts: 5677
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Failed to load unit 'HWACCM' (VERR_SSM_LOADED_TOO_LITTLE).

Post by fth0 »

I tried to (dis-)prove my theory without success:

First, I tried to reproduce the issue by saving a VM state while Hyper-V was disabled (HM mode), enabling Hyper-V and restoring the VM in NEM mode. Loading the saved state already failed in the CFGM unit (XSAVE flags mismatch), before the HM unit was even reached.

Second, I took a deep look into the VirtualBox source code, but didn't find a way to overcome the hurdle of the CFGM unit mismatch. Additionally, I'm not sure if reading back the HM unit would create the necessary underrun when in NEM mode. The HM unit only contains information about two modules: TPR patching and Nested SVM.

A VBox.log file would dump the necessary information for a real analysis, including a hexdump of the HM unit.
Post Reply