The Virtual Machine Manager Service crashes when you add a virtual machine host that has more than 16 logical processors in VMM 2008 R2

Article translations Article translations
Article ID: 976639 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

Consider the following scenario:
  • You try to add a virtual machine host to Microsoft System Center Virtual Machine Manager (VMM) 2008 R2.
  • The virtual machine host has more than 16 logical processing units. For example, the virtual machine host has four 6-core processors.
In this scenario, the Virtual Machine Manager Service (Vmmservice.exe) crashes on the computer that is running VMM 2008 R2.

If you set up a trace for this problem, the trace log may indicate that the following exception occurred:
09435 00009433 273.19396973 [5684] 1634.16A4::07/22-20:50:29.545#26:VmRefresher.cs(182): System.InvalidOperationException: Nullable object must have a value.
09436 00009434 273.19396973 [5684] at System.Nullable`1.get_Value()
09437 00009435 273.19396973 [5684] at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.GetProcessorData()
09438 00009436 273.19396973 [5684] at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.PopulateProperties()
Additionally, the following events are logged in the VM Manager log.

Event ID 19999

Log Name: VM Manager
Source: Virtual Machine Manager
Date: Date_and_Time
Event ID: 19999
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: ComputerName
Description: Virtual Machine Manager (vmmservice:2516) has encountered an error and needed to exit the process. Windows generated an error report with the following parameters:
Event:VMM20
P1(appName):vmmservice
P2(appVersion):2.0.3444.0
P3(assemblyName):E.Adhc.Operations
P4(assemblyVer):2.0.3454.0
P5(methodName):M.V.E.A.WindowsHostDataProperties.GetProcessorData
P6(exceptionType):System.InvalidOperationException
P7(callstackHash):e9f1


Event ID 1

Log Name: VM Manager
Source: Virtual Machine Manager
Date: Date_and_Time
Event ID: 1
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: ComputerName
Description:
System.InvalidOperationException: Nullable object must have a value.
at System.Nullable`1.get_Value()
at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.GetProcessorData()
at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.PopulateProperties()
at Microsoft.VirtualManager.Engine.Adhc.WindowsHostAbstractionLayer.GetHostProperties(HostData oldHostData)
at Microsoft.VirtualManager.Engine.Adhc.HostRefresher.GatherAllInformation(Host host, Object agentRefreshSyncObj, Guid taskID)
at Microsoft.VirtualManager.Engine.Adhc.HostRefresher.RefreshLockedHost(Host host, Guid taskID)
at Microsoft.VirtualManager.Engine.BitBos.VMRefresherBase.UpdateHostToResponding(Nullable`1& prevState)
at Microsoft.VirtualManager.Engine.BitBos.VMRefresherBase.UpdateHostState(IVMComputerSystemSummary[]& vmComputers, Nullable`1& prevState)
at Microsoft.VirtualManager.Engine.BitBos.VMRefresherBase.RunLightRefresher()
at Microsoft.VirtualManager.Engine.BitBos.VMRefresherBase.UpdateHostandVMs(VMRefresherType refresherType, Guid vmObjectId, VM tempVm)
at Microsoft.VirtualManager.Engine.BitBos.VmLightRefresher.RefreshData(HostReference hostRef)
at Microsoft.VirtualManager.Engine.RefreshDriver`1.RefreshThreadFunction(Object obj)-2146233079

Note Event ID 19999 and the trace log both indicate that the following issues have occurred:
  • A WindowsHostDataProperties.GetProcessorData function call
  • A System.InvalidOperationException exception
  • A Nullable`1 object

WORKAROUND

Workaround 1

To work around this issue, limit the number of CPUs that the operating system uses to 16. To do this, follow these steps:
  1. Click Start, click Run, type msconfig, and then press ENTER.
  2. On the Boot tab, click Advanced options.
  3. Click to select the Number of processors check box, and then select 16 or a smaller value.
  4. Click OK.
  5. Restart the computer.

Workaround 2

To work around this issue in the BIOS, set the Clustering Technology setting to Physical. The default value of this setting is Logical.

Workaround 3

To work around this issue, force the operating system to use the physical advanced programmable interrupt controller (APIC). To do this, follow these steps:
  1. Open a command prompt by using Administrator rights.
  2. At the command prompt, type the following command, and then press ENTER:
    BCDEdit /set USEPHYSICALDESTINATION YES
  3. Restart the computer.
Note Workaround 2 and Workaround 3 let you use up to 24 processors. This functionality is available only if you apply update 956710.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
956710 A Hyper-V update is available to increase the number of logical processors and virtual machines on a Windows Server 2008 x64-based computer

Properties

Article ID: 976639 - Last Review: November 26, 2009 - Revision: 2.0
APPLIES TO
  • Microsoft System Center Virtual Machine Manager 2008 R2 Workgroup Edition
Keywords: 
kbtshoot kbexpertiseinter kbsurveynew kbprb KB976639

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com