VirtualBox

Opened 9 years ago

Last modified 9 years ago

#13676 new defect

Guest windows is squeezed to small size if user32.dll has been altered on a host

Reported by: wroot Owned by:
Component: host support Version: VirtualBox 4.3.20
Keywords: user32 windows not-signed Cc:
Guest type: all Host type: Windows

Description

If user32.dll has been altered on a host (some software installation) and is not signed anymore, since 4.3.16 (or 4.3.14) all guests start with a window squeezed to a smallest possible size. VMs start and run normally, just the window always auto-resize to a smallest size. Not happening with 4.3.12 version.

related error in the logs: 00:00:01.122572 supR3HardenedErrorV: supR3HardenedScreenImage/Imports: cached rc=VERR_LDRVI_NOT_SIGNED fImage=1 fProtect=0x0 fAccess=0x0 cHits=32 \Device\HarddiskVolume7\Windows\System32\user32.dll

discussion on the forums: https://forums.virtualbox.org/viewtopic.php?f=6&t=63634

Attachments (1)

TestLiveCD.zip (58.3 KB ) - added by wroot 9 years ago.

Download all attachments as: .zip

Change History (5)

by wroot, 9 years ago

Attachment: TestLiveCD.zip added

comment:1 by Frank Mehnert, 9 years ago

The VBox.log file says that even at shutdown, the VM stored a resize hint of 259x69 for screen 0. What happens if you resize the guest window to a decent geometry before you shutdown the VM? And/or if you set the guest screen geometry using the guest screen settings?

comment:2 by wroot, 9 years ago

First, sorry for the delay. I thought it should notify me about new comments. I have now put my email in the Preferences (though i'm logged with Oracle account which already haas my email..), so i hope i would get notifications in future.

Where exactly can i set guest screen geometry other than dragging the window border? Btw, if i try to drag it, it immediately squeezes back to that small size. I'm not releasing the mouse button yet, but it already jumps back. And if i release the mouse button after that, window size changes to that bigger size for a second and then jumps back to the smallest size. Btw 2, if i shutdown a machine (as you say saved with 259x69 size), uninstall VB 4.3.20, install 4.3.12 and start this machine, it will start ok. Because resolution in the guest OS IS decent, but VB window for some reason is only showing a corner of it when using 4.3.20 (to be exact anything since 4.3.14).

comment:3 by wroot, 9 years ago

One more thing. If i disable Auto-resize Guest Display, then the guest window squeezes to the smallest size on startup, but then you can drag the window's border and it stays like this. But you have to do this every time you start a machine, so it is still annoying.

comment:4 by dj481516, 9 years ago

Here's some speculation:

Window size and position on the host is adjusted based on the host display resolution. Qt gets this by calling user32, and is surprisingly robust against the DLL not being loaded. It reports a display size of zero. Vbox believes this, and sets the size as small as it can.

If auto resize is on, then a change in guest screen size triggers a change in host window size which triggers a change in guest screen size, resulting in an annoyed user.

Possible fixes:

  • Be (optionally) more lenient with loading user32
  • Sanity-check the availableGeometry before using it
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use