| Previous | Next |
| ERROR_HV_NO_DATA | ERROR_HV_NO_RESOURCES |
ERROR_HV_INACTIVE
ERROR_HV_INACTIVE is HRESULT 0xC035001C in the hypervisor debug transport liveness area of the Windows virtualization stack. It applies to receive activity on the physical connection used for hypervisor debugging.
Why this HRESULT is specific
The connection has not observed inbound activity since the prior operation. Investigate cable/network/serial transport, target debug state, and session continuity before interpreting missing payloads.
This result belongs to the hypervisor facility rather than the higher-level VM management UI. The TLFS and WHP documentation provide the surrounding partition, message, memory, and virtual-processor model, but the first low-level operation and any nested status remain the authoritative incident evidence.
Neighboring result: Unlike ERROR_HV_NO_DATA, which can be a valid empty read, INACTIVE carries a liveness signal about the underlying debug connection.
Records worth collecting
| Evidence | Why it changes the diagnosis |
|---|---|
| Transport configuration | Capture KD transport type, endpoint, baud or network parameters, and physical link state. |
| Activity timestamps | Record last receive, last transmit, keepalive, and target reboot times. |
| Target debug state | Confirm hypervisor debugging is enabled and the target is stopped or running as expected. |
| Session continuity | Keep connection generation, reconnect attempts, and any address or key changes. |
A reproducible test plan
- Validate physical or network reachability independently of the debugger UI.
- Generate a controlled break or diagnostic packet from the target.
- Re-establish only the debug transport while preserving the VM and host evidence.
- Compare with a known-good target using the same debugger and transport path.
Test this result with one known event, one known idle interval, and one known-good transport path. During the comparison, keep session generation and reader ownership explicit so empty data is not confused with a dead connection.
Comparison matrix
| Control | Interpretation | Hold constant |
|---|---|---|
| Idle versus disconnected interval | An intentional idle interval should not look identical to a broken link. Compare timestamps and keepalive activity around it. | Hold polling interval and timeout fixed in the test. |
| Known diagnostic event | Trigger one controlled event. Its presence or absence distinguishes it empty data, liveness, and capture-configuration paths. | Keep the same target, transport, session generation, and reader. |
| Known-good transport path | Using the same debugger against a known-good target can localize it to target configuration versus physical/network transport. | Preserve debugger version and endpoint settings. |
Misleading shortcuts
Do not equate it with a failed VM before separating an empty read, inactive physical transport, missing producer event, and a second reader that drained the channel. Keep that distinction explicit in the incident record.
Keep the hexadecimal result value and any nested hypervisor status. Higher layers can map distinct resource, buffer, message, or state failures to the same generic start or migration message.
Verification after repair
The issue is resolved when receive activity resumes under the original configuration and a deliberate idle period is distinguishable from a broken link.
Technical references
- Microsoft Open Specifications: HRESULT values — used to interpret this result.
- Microsoft: Hyper-V TLFS — used to interpret this result.
- Microsoft: Hyper-V operational troubleshooting — used to interpret this result.
- Microsoft: Hyper-V event-log collection guidance — used to interpret this result.
Looking for a different code? Search another status or error code.