VirtualBox

Ticket #12876 (closed defect: fixed)

Opened 11 months ago

Last modified 10 months ago

4.3.10 upgrade crashes windows virtuals with vtx enabled [FIXED IN SVN]

Reported by: Jo E Owned by:
Priority: major Component: other
Version: VirtualBox 4.3.10 Keywords: amd, msrs
Cc: Guest type: Windows
Host type: Linux

Description

Two windows virtuals working fine on 4.3.8 with vtx enabled
Isolated Upgrade only virtualbox was upgraded from 4.3.8 to 4.3.10 93012
Both windows virtuals crash on startup on 4.3.10 93012 (with oracle extension of same 4.3.10 93012)
Uninstall 4.3.10, re-install 4.3.8 - Both windows virtuals working fine again on 4.3.8 with vtx enabled



Attached file: winpe7_VBox.log - BlueScreen on winpe7 virtual start
Attached file: winpe7_NoVtx_VBox.log - Turning off vtx allows the winpe7 virtual to run successfully

winpe7 works fine with or without vtx enabled on 4.3.8
winpe7 crashes on 4.3.10 with vtx enabled, works fine on 4.3.10 with vtx disabled
winpe7_x86 built from KB3AIK_EN.iso - Windows automated installation toolkit win7_x86




Attached file: windows8.1x86eval_VBox.log - Reboot loop on w8.1_x86 virtual start

w8.1_x86 works fine with vtx enabled on 4.3.8
w8.1_x86 crashes on 4.3.10 9600.16384.WINBLUE_RTM.130821-1623_X86FRE_ENTERPRISE_EVAL_EN-US-IRM_CENA_X86FREE_EN-US_DV5.ISO.md5
windows 8.1 32bit x86 eval - vtx required for w8.1, 32 or 64bit




Linux virtuals - 32 and 64 bit are working fine on both 4.3.8 and 4.3.10 with vtx enabled

Attachments

winpe7_VBox.log Download (53.4 KB) - added by Jo E 11 months ago.
winpe7_NoVtx_VBox.log Download (82.3 KB) - added by Jo E 11 months ago.
windows8.1x86eval_VBox.log Download (89.5 KB) - added by Jo E 11 months ago.

Change History

Changed 11 months ago by Jo E

Changed 11 months ago by Jo E

Changed 11 months ago by Jo E

comment:1 Changed 11 months ago by Jo E

Thanks

comment:2 Changed 11 months ago by Jo E

VirtualBox Host:

VBox version broken: virtualbox-4.3_4.3.10-93012~Ubuntu~raring_amd64.deb
VBox version working: virtualbox-4.3_4.3.8-92456~Ubuntu~raring_amd64.deb
OS: Ubuntu Trusty Tahr (development branch)
Kernel: 3.13.0-17-generic
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
CPU flags:

fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv

This is the system used to create the virtual client logs submitted, tried it since it's newest. Also failed on Centos 6.X_64, and Ubu 12.04.X_64 Hosts. Same results as this host.


Virtual Clients not working on 4.3.10 with vtx enabled:

Windows 7 32bit x86 PE - built from windows automated installation kit 7
Windows 8.1 32bit x86 enterprise eval


Virtual Clients working on 4.3.10 with vtx enabled:

Ubuntu server 12.04 64bit amd64
Debian Wheezy 32bit x86

comment:3 Changed 11 months ago by Jo E

Memory:

4GB Host
1GB Guests, tried at 2gb for guest virtuals, same results.

comment:4 Changed 11 months ago by Jo E

CaveMan Debug - reverted to working, updated until broken
Debug Result: Change #50653:Breaks windows virtuals with vtx enabled on early AMD Athlon 64 X2 CPU
"VBox broken w/50653 or newer using an AMD Athlon 64 X2 4400+ (fam: 0f, model: 6b, stepping: 01)"

Changeset #50653 - Timestamp: 02/28/14 15:44:55
Message: Added a more recent K8 CPU to the CPU database.
Location: trunk/src/VBox/VMM


Critical change noted from vbox.log(s):
Changeset 50652 - working:

uses cpu def src/VBox/VMM/VMMR3/cpus/AMD_Athlon_64_3200.h

 ********************* End of CFGM dump **********************
...
CPUM: Matched host CPU AMD 0xf/0x6b/0x1 AMD_K8_65nm with CPU DB entry 'AMD Athlon 64 3200+' (AMD 0xf/0x4/0x8 AMD_K8_130nm).

Changeset 50653 - broken:

uses cpu def src/VBox/VMM/VMMR3/cpus/AMD_Athlon_64_X2_Dual_Core_4200.h

 ********************* End of CFGM dump **********************
...
CPUM: Matched host CPU AMD 0xf/0x6b/0x1 AMD_K8_65nm with CPU DB entry 'AMD Athlon 64 X2 Dual Core 4200+' (AMD 0xf/0x4b/0x2 AMD_K8_90nm_AMDV).



ISSUE: AMD 4400+ is now matched to a AMD 4200 and this breaks windows guests with vtx enabled.
Problem most likely with VMMR3/cpus/AMD_Athlon_64_X2_Dual_Core_4200.h or VMMR3/CPUMR3Db.cpp from Changeset #50653

Quick Fix: SVN Current-50979 with exclusion of cpus/AMD_Athlon_64_X2_Dual_Core_4200.h works with windows virtual guests with vtx enabled using an AMD Athlon(tm) 64 X2 4400+ (fam: 0f, model: 6b, stepping: 01)

Details of Quick Fix: Ran svn update to 50979. Up to Date as of 2014-04-04
In file /src/VBox/VMM/VMMR3/CPUMR3Db.cpp, I commented out the #include of the new AMD cpu definition file added from Changeset #50653, cpu definition file /src/VBox/VMM/VMMR3/cpus/AMD_Athlon_64_X2_Dual_Core_4200.h

Only one line changed in src/VBox/VMM/VMMR3/CPUMR3Db.cpp

Line 187:      #include "cpus/AMD_Athlon_64_X2_Dual_Core_4200.h"
Changed to: /* #include "cpus/AMD_Athlon_64_X2_Dual_Core_4200.h" comment out to test */

This reverts CPUM to 4.3.8 and older revs working behaviour for this AMD 4400+ CPU;

Matched host CPU AMD 0xf/0x6b/0x1 AMD_K8_65nm with CPU DB entry 'AMD Athlon 64 3200+' (AMD 0xf/0x4/0x8 AMD_K8_130nm)


NOTE: Changeset 50653 only breaks specific AMD CPU(s), 4400+ broken, 3800+ working;

dmesg from broken CPU, windows virtual guests with vtx enabled - broken by Changeset 50653:
CPU Broken by 50653 - AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ (fam: 0f, model: 6b, stepping: 01)

dmesg from working CPU, win virtual guests with vtx enabled - working with 50653 and 4.3.10 release:
CPU Working with 50653 or current - AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (fam: 0f, model: 4b, stepping: 02)


Question: Should I gather info to create a cpu/AMD_Athlon_64_X2_Dual_Core_4400.h file?
Many settings are different on this CPU from the working 3200 file being used and the 4200 file created with # 50653.
The 3200.h has been used and is STABLE for previous releases, 4.3.8 and svn builds pre # 50653.
It is odd that vtx enabled Linux guests seem to work with the newer 4200.h, only windows guests 32bit and 64bit with vtx enabled bluescreen on startup.

comment:5 Changed 10 months ago by bird

  • Keywords amd, msrs added; vtx, vt-x, amd-v, nested paging removed
  • Status changed from new to closed
  • Resolution set to fixed
  • Summary changed from 4.3.10 upgrade crashes windows virtuals with vtx enabled to 4.3.10 upgrade crashes windows virtuals with vtx enabled [FIXED IN SVN]

Right, the cause is that AMD_Athlon_64_X2_Dual_Core_4200.h CPU profile is incomplete. My bad, no excuses. There is no need for a profile for the 4400+, I just need to regenerate the file under windows PE. I'll do that as soon as I get a chance, but as a quick fix for the next release I've added missing MSRs from the Athlon 64 3200 profile.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use