[BUG] Impossible to enter decryption password of a suspended VM

Discussions related to using VirtualBox on Mac OS X hosts.
Post Reply
Lorens
Posts: 4
Joined: 4. May 2017, 08:09

[BUG] Impossible to enter decryption password of a suspended VM

Post by Lorens »

Hi,

I've encrypted the disks of an existing VM (stopped, of course). After some time working in it (maybe several boots) I suspended the VM. When I started it again, it took a few seconds to restore from suspended state, and then asked for the password, so far so good[1].

However the password dialog seems to never get keyboard/mouse focus! I get the impression that the focus stays on the host because the guest is suspended, but that the password dialog is seen as part of the guest.

I've played around with it a bit:

- trying to minimize/maximize/fullscreen (sometimes the password field is focused and the cursor blinks, sometimes it's the OK key, but keypresses and clicks have no effect and my Mac keys to change virtual screens continue to work which they don't when I'm using the Linux VM. Now that it's fullscreened I cannot reduce it any more.)

- trying to unpause the machine (it shows as paused in the manager, with a green tick beside the non-gray menu option, but clicking on it has no discernible effect).

The Manager GUI gives me the options to Save State or to Power Off (or to Pause, but as noted that doesn't do anything).

The logs show

Code: Select all

00:00:15.387318 GUI: UIFrameBufferPrivate::NotifyChange: Screen=0, Origin=0x0, Size=2880x1508, Sending to async-handler
00:00:15.389529 GUI: UISession::sltAdditionsChange: GA state really changed, notifying listeners.
00:00:15.389571 GUI: UIMachineViewNormal::adjustGuestScreenSize: Adjust guest-screen size if necessary.
00:00:15.389587 GUI: UISession::sltAdditionsChange: GA state change event came, notifying listeners.
00:00:15.389591 GUI: UIMachineLogicNormal::sltCheckForRequestedVisualStateType: Requested-state=0, Machine-state=13
00:00:15.389600 GUI: UISession::sltAdditionsChange: GA state change event came, notifying listeners.
00:00:15.389603 GUI: UIMachineLogicNormal::sltCheckForRequestedVisualStateType: Requested-state=0, Machine-state=13
00:00:15.389609 GUI: UISession::sltAdditionsChange: GA state change event came, notifying listeners.
00:00:15.389611 GUI: UIMachineLogicNormal::sltCheckForRequestedVisualStateType: Requested-state=0, Machine-state=13
00:00:15.389618 GUI: UISession::sltAdditionsChange: GA state change event came, notifying listeners.
00:00:15.389620 GUI: UIMachineLogicNormal::sltCheckForRequestedVisualStateType: Requested-state=0, Machine-state=13
00:00:15.389627 GUI: UIMachineView::sltHandleNotifyChange: Screen=0, Size=2880x1508
00:00:15.389631 GUI: UIFrameBufferPrivate::handleNotifyChange: Size=2880x1508
00:00:15.389634 GUI: UIFrameBufferPrivate::performResize: Size=2880x1508, Directly using source bitmap content
00:00:15.391196 GUI: UIMachineView::storeGuestSizeHint: Storing guest-screen size-hint for screen 0 as 2880x1508
00:00:15.391875 Changing the VM state from 'LOADING' to 'SUSPENDED'
00:00:15.391941 Changing the VM state from 'SUSPENDED' to 'RESUMING'
00:00:15.392132 NAT: Link down
00:00:15.392160 Changing the VM state from 'RESUMING' to 'RUNNING'
00:00:15.392172 Console: Machine state changed to 'Running'
00:00:15.676215 VM: Raising runtime error 'DrvVD_DEKMISSING' (fFlags=0x6)
00:00:15.676234 AHCI#0P0: Write at offset 513802240 (8192 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.676276 Changing the VM state from 'RUNNING' to 'SUSPENDING'
00:00:15.676318 PDMR3Suspend: after     0 ms, 1 loops: 1 async tasks - ahci/0
00:00:15.679084 AHCI#0P0: Write at offset 2663657472 (8192 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.683233 AHCI#0P0: Write at offset 2663677952 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.686380 AHCI#0P0: Write at offset 2668142592 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.689583 AHCI#0P0: Write at offset 2669551616 (8192 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.692303 AHCI#0P0: Write at offset 2674450432 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.695374 AHCI#0P0: Write at offset 4810760192 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.699990 AHCI#0P0: Write at offset 2674466816 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.703127 AHCI#0P0: Write at offset 2714030080 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.706351 AHCI#0P0: Write at offset 2714279936 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.709835 AHCI#0P0: Write at offset 515776512 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.712626 AHCI#0P0: Write at offset 516100096 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.715920 AHCI#0P0: Write at offset 516141056 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.719190 AHCI#0P0: Write at offset 2661326848 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.722371 AHCI#0P0: Write at offset 2661351424 (8192 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.725293 AHCI#0P0: Write at offset 2661363712 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.728277 AHCI#0P0: Write at offset 2661507072 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.731819 AHCI#0P0: Write at offset 2661552128 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.734659 AHCI#0P0: Write at offset 2661789696 (4096 bytes left) returned rc=VERR_VD_DEK_MISSING
00:00:15.738761 AIOMgr: Endpoint for file '/Users/lorens/VirtualBox VMs/N/N.vdi' (flags 000c0781) created successfully
00:00:15.739562 AIOMgr: Endpoint for file '/Users/lorens/VirtualBox VMs/N/H.vdi' (flags 000c0781) created successfully
00:00:15.794405 PDMR3Suspend: 118 099 597 ns run time
00:00:15.794425 Changing the VM state from 'SUSPENDING' to 'SUSPENDED'
00:00:15.794450 Console: Machine state changed to 'Paused'
00:00:15.794765 Console: VM runtime error: fatal=false, errorID=DrvVD_DEKMISSING message="VD: The DEK for this disk is missing"
00:00:15.794786 VM: Raising runtime error 'DrvVD_DEKMISSING' (fFlags=0x6)
00:00:15.794806 VM: Raising runtime error 'DrvVD_DEKMISSING' (fFlags=0x6)
00:00:15.794823 VM: Raising runtime error 'DrvVD_DEKMISSING' (fFlags=0x6)
00:00:15.794846 VMR3Suspend:
00:00:15.794867  RUNNING -> SUSPENDING, RUNNING_LS -> SUSPENDING_EXT_LS failed, because the VM state is actually SUSPENDED
00:00:15.794879 VMSetError: /Users/vbox/tinderbox/5.1-mac-rel/src/VBox/VMM/VMMR3/VM.cpp(3637) int vmR3TrySetState(PVM, const char *, unsigned int, ...); rc=VERR_VM_INVALID_VM_STATE
00:00:15.794896 VMSetError: VMR3Suspend failed because the current VM state, SUSPENDED, was not found in the state transition table (old state RUNNING_LS)
00:00:15.794944 VM: Raising runtime error 'DrvVD_DEKMISSING' (fFlags=0x6)
00:00:15.794970 Console: VM runtime error: fatal=false, errorID=DrvVD_DEKMISSING message="VD: The DEK for this disk is missing"
00:00:15.795002 VM: Raising runtime error 'DrvVD_DEKMISSING' (fFlags=0x6)
I have uploaded the full log as an attachment (I had to gzip is because it was over 128kB).

This is 5.1.22 R115126 on MacOS. The VM came from a 5.0.40 I think, on Ubuntu Linux 15.04, but I don't have that machine to hand.

What should I do? It smells like a bug, can I work around it? I certainly do have a recent backup, several in fact, but they are offline on the other side of a two-hour plane trip a week from now. If no reply I'll start powering off and hitting the CLI...

Thanks for any pointers.

--
[1] except that it shows a grayed-out preview of the screen and seems to do the heavy reading work before asking for the password, which leads me to wonder what exactly is encrypted, but I see the point has been raised already on this forum and it's not my problem today.
Attachments
vbox.log.gz
(22.09 KiB) Downloaded 7 times
Lorens
Posts: 4
Joined: 4. May 2017, 08:09

Re: [BUG] Impossible to enter decryption password of a suspended VM

Post by Lorens »

I powered it off. I lost what I was working on but happily it then booted OK. Not going to experiment again until next week...
Lorens
Posts: 4
Joined: 4. May 2017, 08:09

Re: [BUG] Impossible to enter decryption password of a suspended VM

Post by Lorens »

Oh, and this still reliably kills my VMs on 5.1.28. Will upgrade to 5.1.30 and then to 5.2, but there's nothing in the changelogs that give me any confidence that this is corrected.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: [BUG] Impossible to enter decryption password of a suspended VM

Post by socratis »

Have you opened a ticket in the bug tracker? Developers come in the forums every now and then, but it's best if you open a new ticket. Please read the information requested when opening a new ticket, it's going to make the ticket have more... gravitas.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Lorens
Posts: 4
Joined: 4. May 2017, 08:09

Re: [BUG] Impossible to enter decryption password of a suspended VM

Post by Lorens »

I hadn't found the bug tracker, so no. Looking at it, I'm a +1 on https://www.virtualbox.org/ticket/16984. Running full screen, save initiated by low battery (but I think it happened once when I did a manual pause... long ago, since I obviously try to avoid the situation as much as possible). Tried adding saves of state to my previous attempts of fullscreening or not, no luck.
Last edited by socratis on 7. Dec 2017, 17:32, edited 1 time in total.
Reason: Removed unnecessary verbatim quote of the whole previous message.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: [BUG] Impossible to enter decryption password of a suspended VM

Post by socratis »

That's a good finding, I had forgotten about that one. Please add your voice there. Be sure to mention your complete host and guest details and provide a ZIPPED VBox.log for that session.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply