What does HRESULT 0x8028012E (TPM_20_E_TOO_MANY_CONTEXTS) mean?

 
Previous Next
TPM_20_E_UPGRADE TPM_20_E_AUTH_UNAVAILABLE

TPM_20_E_TOO_MANY_CONTEXTS

Saved contexts carry monotonic identifiers

TPM_20_E_TOO_MANY_CONTEXTS corresponds to TPM_RC_TOO_MANY_CONTEXTS. TPM context save/load is not just serialization of key bytes. Saved transient objects and sessions include context identifiers used to prevent stale or replayed context blobs from being accepted in the wrong order. The TPM reports this code when its context-ID counter has reached the maximum representable state.

This differs from running out of loaded object slots. Flushing a transient handle may cure OBJECT_MEMORY, but it cannot roll back a monotonic counter that has reached its end. The required recovery is implementation- and platform-dependent and commonly involves reinitialization rather than ordinary resource cleanup.

What to capture

  • Count how often the application saves contexts and whether it creates them continuously instead of reusing sessions.
  • Distinguish saved contexts from currently loaded object and session handles.
  • Preserve logs around TPM initialization, sleep/resume, and resource-manager restarts.
  • Consult the TPM vendor before clearing or reprovisioning; context exhaustion may indicate firmware behavior that should be corrected.

References


Looking for a different code? Search another status or error code.