#16375 closed defect (fixed)
Ubuntu 16.04 LiveCD Guru Meditation on Win-64 host, works on the same Win-32 host (Intel Pentium D)
Reported by: | Socratis | Owned by: | |
---|---|---|---|
Component: | VMM | Version: | VirtualBox 5.1.12 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Windows |
Description
- Host: Pentium-D based, triple-booting Win7-32/Win7-64/Win10-64.
- Guest: Ubuntu 16.04-64 LiveCD.
- vbox: Default 5.1.12 template for Ubuntu-64, with 64MB vRAM assigned.
- VirtualBox: 5.1.12
While starting the VM on the Win7-32 host works fine, starting the exact same VM on the Win7-64 or Win10-64 version on the same host, causes a Guru Meditation:
VCPU0: Guru Meditation 1155 (VINF_EM_TRIPLE_FAULT)
The issue was brought to my attention by another user (mycroft1) in the thread Meditation Guru critical error on Windows Host, and since I had an almost identical system, I gave it a try with the above mentioned results. The system is a rather old one with an Intel Pentium D @ 3.2 GHz with 2 physical / 2 logical CPUs.
From the logs, one of the very few differences between the 32- and the 64-bit of Win7 (and Win10-64), is that at the 32-bit version log, there are the following extra lines:
00:00:03.238127 [/REM/] (level 1) 00:00:03.238129 64bitEnabled <integer> = 0x0000000000000001 (1) ... 00:00:03.318995 REM: VBoxREM64 00:00:03.319101 Using 64-bit aware REM
and there's a difference between them:
00:00:03.243747 PGM: Host paging mode: PAE+PGE : Win7-32 00:00:05.044710 PGM: Host paging mode: AMD64+PGE+NX : Win7-64/Win10-64
Logs and other information are already available on the thread, they can be duplicated here if you want, just say the word.
Change History (7)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
The 32-bit host is my main one, so that was the easy part ;) I just happened to have the other two flavors on a 2nd HD, installed VBox, common VM on a 3rd HD. I'll be keeping the setup around for testing purposes...
comment:3 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The bug is now fixed and the fix will be part of the next maintenance release. It was specific to processors with VT-x without support for 'MSR bitmaps' running a 64-bit host OS and a 64-bit guest OS. It was probably introduced a while ago and missed due to the relatively rare set of circumstances it required to manifest itself.
In VBox.log, the affected CPUs have a "USE_MSR_BITMAPS (must be cleared)" entry. It's impossible to tell which CPUs those are (since Intel does not publish such information) but most likely it's all Intel NetBurst CPUs, i.e. Pentium 4, Pentium D, and related Xeons. Core 2 and newer CPUs are not affected.
comment:4 by , 8 years ago
Nice! Should I assume that a testbuild will contain a fix? I'll be checking the Timeline and I will report on any Test Build that comes after the fix.
Bonus question: there are several instances of "(must be cleared)" that appear often (sometimes more than enough) in VBox.logs. Should that raise a flag as to the capabilities of the specific CPUs? And any explanation to what that message might mean?
PS. Thank you for the detailed explanation!
comment:5 by , 8 years ago
It's a VT-x capability report. The "must be clear" lines indicate which bits must remain clear (because the CPU does not support the given capability). For details, see Intel's documentation. It's similar to the CPUID capability list, but specifically for virtualization.
comment:6 by , 8 years ago
Thanks for the explanation michaln, I'll keep my eyes open in future reports. Good to know...
Bug verified as fixed with 5.1.14. Tested with Win7-32/Win7-64 and Win10-64.
comment:7 by , 8 years ago
Thanks for the verification. There is no impact on 32-bit hosts or guests but both Linux and Windows 64-bit guests (on 64-bit host OS) were broken.
We can reproduce this locally (on a 64-bit Linux host) so logs shouldn't be needed, but thanks for testing! The data point that a 32-bit host OS isn't affected is also valuable.