I had 2 VMs, and I could only get 1 to run at a time. When I booted the second VM, I got Event ID 18560, that says the VM “was reset because an unrecoverable error occurred on a virtual processor that caused a triple fault.”
System Configuration:
Hardware: Dell R710, 2xE5620 CPUs, 12x2GB UDIMMs, RAID1 via onboard controller
Host OS: Windows Server 2008 R2 Enterprise 64bit running the Hyper-V role, fully patched as of testing.
Guest OSes: 2 VMs both running Windows Server 2008 R2 Enterprise 64bit, 1CPU, 4GB RAM, 1 NIC, dynamic VHD on IDE Controller 0 (127GB max) each, fully patched as of testing.
Troubleshooting
Further troubleshooting using perfmon in Windows showed that VMs boot fine on cores 4-7, but not on 0-3. I had previously disabled logical processors in the bios so I didn’t have to troubleshoot 16 logical CPUs. At this point, I thought CPU0, or maybe just the hardware virtualization part of it, was bad.
I ran Prime95 (64bit) and the Intel Processor Diagnostic tool to test the CPU, but neither showed an issue with either CPU. I also ran Memtest86+ v4.20 which showed the memory to be fine. My line of thinking was that if Prime95 and the Intel CPU diag don’t access the hardware virtualization calls in the CPU, they may not find the fault I’m experiencing.
Resolution
After a brief online text chat with Greg Whiteman at Dell hardware support, he suggested that I disable Power Management (set it to Maximum Performance). That single change resolved the issue.
Conclusion
I changed the following setting from “Active Power Controller” to “Maximum Performance” and I was able to launch multiple VMs at once without Hyper-V crashing. I changed back to “Active Power Controller” and I could immediately reproduce the problem (Hyper-V crashing). I’m not sure where the bug lies (Windows Hyper-V implementation or hardware/firmware implementation), but this setting change fixed it.
Finally, to fully test, I set the following which I believe to be my final settings, and everything works fine.
Final Dell R710 BIOS Settings Used
Processor SettingsLogical Processor: “Enabled”
Processor SettingsVirtualization Technology: “Enabled”
Processor SettingsExecute Disable: “Enabled”
Processor SettingsTurbo Mode: “Disabled”
Processor SettingsC1E: “Disabled”
Processor SettingsC States: “Disabled”
Power Management: “Maximum Performance”
Full Event Details:
Log Name: Microsoft-Windows-Hyper-V-Worker-Admin Source: Microsoft-Windows-Hyper-V-Worker Date: 3/15/2011 5:50:02 PM Event ID: 18560 Task Category: None Level: Critical Keywords: User: NETWORK SERVICE Computer: WIN-L4DCENF56H0 Description: 'testvm1' was reset because an unrecoverable error occurred on a virtual processor that caused a triple fault. If the problem persists, contact Product Support. (Virtual machine ID 8CB72529-261D-4685-A118-F781F34CE986) Event Xml: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="Microsoft-Windows-Hyper-V-Worker" Guid="{51DDFA29-D5C8-4803-BE4B-2ECB715570FE}" /> <EventID>18560</EventID> <Version>0</Version> <Level>1</Level> <Task>0</Task> <Opcode>0</Opcode> <Keywords>0x8000000000000000</Keywords> <TimeCreated SystemTime="2011-03-15T22:50:02.132334800Z" /> <EventRecordID>370</EventRecordID> <Correlation /> <Execution ProcessID="1148" ThreadID="3736" /> <Channel>Microsoft-Windows-Hyper-V-Worker-Admin</Channel> <Computer>WIN-L4DCENF56H0</Computer> <Security UserID="S-1-5-20" /> </System> <UserData> <VmlEventLog xmlns:auto-ns2="http://schemas.microsoft.com/win/2004/08/events" xmlns="http://www.microsoft.com/Windows/Virtualization/Events"> <VmName>testvm1</VmName> <VmId>8CB72529-261D-4685-A118-F781F34CE986</VmId> </VmlEventLog> </UserData> </Event>