VirtualBox

Opened 12 years ago

Closed 12 years ago

#10126 closed defect (fixed)

cannot resume saved state with 4.1.8

Reported by: Sam Morris Owned by:
Component: other Version: VirtualBox 4.1.8
Keywords: Cc:
Guest type: other Host type: Windows

Description (last modified by misha)

I suspended my VM with 4.1.6, then upgraded to 4.1.8. Resuming the machine now fails with the following error:

Failed to open a session for the virtual machine leela.

Failed to load unit 'HGCM' (VERR_SSM_LOADED_TOO_MUCH).

Result Code: E_FAIL (0x80004005)
Component: Console
Interface: IConsole {1968b7d3-e3bf-4ceb-99e0-cb7c913317bb}

Host is Windows 7 amd64, guest is Linux 3.1.

Attachments (2)

leela-2012-01-05-10-27-55.log (86.2 KB ) - added by Sam Morris 12 years ago.
virtualbox log file
vberrlog.tmp.txt (84.4 KB ) - added by Michael P. 12 years ago.
Virtualbox error log

Download all attachments as: .zip

Change History (9)

by Sam Morris, 12 years ago

virtualbox log file

comment:1 by Perry G, 12 years ago

Have you tried discarding the saved state?

comment:2 by Sam Morris, 12 years ago

No, as I wanted to keep it. I downgraded to 4.1.6 instead. :)

by Michael P., 12 years ago

Attachment: vberrlog.tmp.txt added

Virtualbox error log

comment:3 by Michael P., 12 years ago

I have the same problem after update from 4.1.6 to 4.1.8. No snapshot will start. Same assert fails. Running 64bit linux as host and 32bit linux as guest. A newly created virtual machine works OK with snapshots, but none of the old ones will load.

/var/log/apt$ uname -a
Linux zx81 2.6.38-13-generic #53-Ubuntu SMP Mon Nov 28 19:33:45 UTC 
2011 x86_64 x86_64 x86_64 GNU/Linux
/var/log/apt$ grep virtualbox *
history.log:Upgrade: virtualbox-4.1:amd64 (4.1.6-74713~Ubuntu~natty, 
4.1.8-75467~Ubuntu~natty)
Last edited 12 years ago by Michael P. (previous) (diff)

comment:4 by Michael P., 12 years ago

A piece of log that might be interesting:

00:00:07.350 OpenGL Error: Assertion failed: ptl->bytes, file /home/vbox/vbox-4.1.8/src/VBox/GuestHost/OpenGL/state_tracker/state_snapshot.c, line 188
...(removed 12 lines like above)
00:00:07.451 AssertLogRel /home/vbox/vbox-4.1.8/src/VBox/VMM/VMMR3/SSM.cpp(5991) int ssmR3DataReadUnbufferedV2(SSMHANDLE*, void*, size_t): !pSSM->u.Read.fEndOfData
00:00:07.451 cbBuf=18446744072950519801AssertLogRel /home/vbox/vbox-4.1.8/src/VBox/Main/src-client/HGCM.cpp(1287) static int HGCMService::LoadState(SSMHANDLE*): <NULL>
00:00:07.451 rc=VERR_SSM_LOADED_TOO_MUCH VBoxSharedCrOpenGL
00:00:07.451 SSM: LoadExec failed for 'HGCM' instance #0 (version 2, pass 0xffffffff): VERR_SSM_LOADED_TOO_MUCH
00:00:07.451 VMSetError: /home/vbox/vbox-4.1.8/src/VBox/VMM/VMMR3/SSM.cpp(8155) int ssmR3LoadExecV2(VM*, SSMHANDLE*); rc=VERR_SSM_LOADED_TOO_MUCH
00:00:07.451 VMSetError: Failed to load unit 'HGCM'
00:00:07.451 Changing the VM state from 'LOADING' to 'LOAD_FAILURE'.
00:00:07.451 Changing the VM state from 'LOAD_FAILURE' to 'POWERING_OFF'

Problem could (??) be related to numerous asserts in state_snapshot.c: https://www.virtualbox.org/browser/trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_snapshot.c

or to SSM.cpp:5991 (some version readable here: http://www.virtualbox.org/svn/vbox/trunk/src/VBox/VMM/VMMR3/SSM.cpp )

static int ssmR3DataReadUnbufferedV2(PSSMHANDLE pSSM, void *pvBuf, size_t cbBuf)
{
...
    do
    {
        /*
         * Read the next record header if no more data.
         */
        if (!pSSM->u.Read.cbRecLeft)
        {
            int rc = ssmR3DataReadRecHdrV2(pSSM);
            if (RT_FAILURE(rc))
                return pSSM->rc = rc;
        }
        AssertLogRelMsgReturn(!pSSM->u.Read.fEndOfData, ("cbBuf=%zu", cbBuf), pSSM->rc = VERR_SSM_LOADED_TOO_MUCH);
...
171	static int32_t crStateLoadTextureObjData(CRTextureObj *pTexture, PSSMHANDLE pSSM)
172	{
173	    int32_t rc, face, i;
174	   
175	    CRASSERT(pTexture && pSSM);
176	
177	    for (face = 0; face < 6; face++) {
178	        CRASSERT(pTexture->level[face]);
179	
180	        for (i = 0; i < CR_MAX_MIPMAP_LEVELS; i++) {
181	            CRTextureLevel *ptl = &(pTexture->level[face][i]);
182	            CRASSERT(!ptl->img);
183	
184	            rc = SSMR3GetMem(pSSM, ptl, sizeof(*ptl));
185	            AssertRCReturn(rc, rc);
186	            if (ptl->img)
187	            {
188	                CRASSERT(ptl->bytes);
189	
190	                ptl->img = crAlloc(ptl->bytes);
...
Last edited 12 years ago by Michael P. (previous) (diff)

comment:5 by misha, 12 years ago

Description: modified (diff)

Thanks for the report. We've fixed the issue, please try the following test builds:

and let me know whether it fixes the issue.

It would be great if you could try both to load saved states created with VBox 4.1.6 and with VBox 4.1.8 to ensure both of those work correctly.

Last edited 12 years ago by Frank Mehnert (previous) (diff)

comment:6 by Frank Mehnert, 12 years ago

Did anyone manage to test one of these builds?

comment:7 by Frank Mehnert, 12 years ago

Resolution: fixed
Status: newclosed

Fixed in VBox 4.1.10.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use