I was building out a new demonstration laptop. The laptop would be running VMs on Server 2008 R2 Hyper-V. Since the VMs we needed to run were rather large, we picked up a rather powerful laptop to support them.
- Server 2008 R2 Enterprise
- Intel i7-720 QM
- 8GB RAM
- 640 GB HD
The build went fine. It was simple, enabling Virtualization in the BIOS, installing the OS, adding Hyper-V role, importing a few VMs. Everything went smoothly.
I started a Virtual Machine to make a few tweaks before going home for the weekend. When I came in on Monday morning. I found a wonderful screen telling me there was an unexpected shutdown. Awesome. Thanks Monday…
I checked the Event Viewer and found out that it had been restarting every few hours all weekend.
The Error in Event Viewer is listed as:
Critical 4/6/2010 5:13:21 PM Kernel-Power 41 (63)
Log Name: System
Date: 4/6/2010 5:13:21 PM
Event ID: 41
Task Category: (63)
The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.
Not a whole lot to go on and Google didn’t find much.
So I waited a few hours to see what was happening and sure enough I got a blue screen of death (BSOD). The message said:
“A clock interrupt was not received on a secondary processor within an allocated time”
0x00000101 (parameter1, 0000000000000000, parameter3, 000000000000000c)CLOCK_WATCHDOG_TIMEOUT
After some searching, I noticed people were suggesting the problem could be ram or overclocking related. But these couldn’t be the case, because everything was new and factory default… other than enabling virtualization in the BIOS. So I looked a little more and found another suggestion saying that Intel Speedstep was causing the issue because the CPU frequency was decreasing when the CPU was idle, and Hyper-V didn’t like that so much. I dug around in the BIOS some more and found a setting called “dynamic cpu frequency mode” the only problem was my two options were “dynamic switch” or “always low”. There was no off… Thanks Toshiba.
Not having time to deal with it, and deciding that was the problem, we swapped the laptop out for an HP with the same/similar specs. The first thing I checked was the BIOS settings, and this BIOS had even less options. There was no options for CPU idle frequency at all. With my fingers crossed, I continued the build. Started a VM. Two hours laters Blue Screen of Death. Cool…
After a good amount of searching, I found this:
A link to a Hotfix MS released March 2, 2010, http://support.microsoft.com/kb/975530 – Stop error message on an Intel Xeon 5500 series processor-based computer that is running Windows Server 2008 R2 and that has the Hyper-V role installed: “0x00000101 – CLOCK_WATCHDOG_TIMEOUT”
It states there can be issues when:
- A computer is running Windows Server 2008 R2 and has the Hyper-V role installed.
- This computer has one or more Intel CPUs code-named Nehalem installed. For example, the Nehalem CPU for a server is from Intel Xeon processor 5500 series and for a client is from Intel Core-i processor series.
You can disable the Advance Configuration and Power Interface (ACPI) C-states by using a BIOS firmware option on the computer. If the firmware does not include this option, a software workaround is available.