"0x0000000C MAXIMUM_WAIT_OBJECTS_EXCEEDED" Stop error on a Windows Server-based computer with many IP addresses
Symptoms
Consider the following scenario:
Note:
- You have a computer that is running Windows Server 2008, Windows Server 2008 R2, or Windows Server 2012
- You have Remote Desktop Services enabled to allow remote connections to the server
- You have more than 64 IP addresses assigned to the network interface configured in the RDP-Tcp listener
STOP: 0x0000000C ( parameter1, parameter2, parameter3, parameter4 )
Note:
- This Stop error describes a MAXIMUM_WAIT_OBJECTS_EXCEEDED issue.
- The parameters in this Stop error message vary, depending on the configuration of the computer.
- Not all Stop 0x0000000C error messages are caused by this issue.
Cause
KeWaitForMultipleObjectshas a defined MAXIMUM_WAIT_OBJECTS value of 64. Remote Desktop Services (Terminal Services) listens on all configured IP addresses for the network adapter configured on the RDP-Tcp connection. When the adapter has more than 64 IP addresses Remote Desktop Services will not be able to wait for connections on all IP addresses without breaking the MAXIMUM_WAIT_OBJECTS contract in KeWaitForMultipleObjects. This causes the operating system to crash with Stop 0xC error.
Note: The defined MAXIMUM_WAIT_OBJECTS value of 64 is by design.
Note: The defined MAXIMUM_WAIT_OBJECTS value of 64 is by design.
Workaround
This problem can be avoided by using one of the following workarounds:
Note: It may be necessary to boot into "Safe Mode with Networking" in order to apply these workarounds.
Method 1: Configure the Remote Desktop Session Host to listen on a different network adapter with less than 64 IP addresses
Method 2: Disable incoming Remote Desktop connections
Note: It may be necessary to boot into "Safe Mode with Networking" in order to apply these workarounds.
Method 1: Configure the Remote Desktop Session Host to listen on a different network adapter with less than 64 IP addresses
- Open "Remote Desktop Session Host Configuration" MMC
- Right-click the RDP-Tcp connection object and select Properties
- Select the Network Adapter tab under RDP-Tcp Properties
- Select a network adapter with less than 64 assigned IP addresses
Method 2: Disable incoming Remote Desktop connections
- Open the System Properties applet from Control Panel (SystemPropertiesRemote.exe)
- Select "Don't allow connections to this computer"