What does NTSTATUS 0xC0000420 (STATUS_ASSERTION_FAILURE) mean?

 
Previous Next
STATUS_FATAL_USER_CALLBACK_EXCEPTION STATUS_VERIFIER_STOP

STATUS_ASSERTION_FAILURE

Program logic deliberately stopped at a failed assertion

Assertions encode assumptions that developers expect to remain true: object state, parameter relationships, lock ownership, sequence rules, or internal consistency. This status indicates that an assertion path raised an exception. It is usually a direct programming diagnostic, but the false condition may still be caused by earlier memory corruption or a race.

The expression, source location, build configuration, and surrounding values are more useful than the generic status text. Do not automatically disable the assertion or catch the exception and continue; doing so allows code to operate after its own invariant has failed. Reproduce with symbols and, where possible, enable earlier validation so the first state transition that breaks the invariant is recorded.

What to inspect

  • Capture the assertion expression, file, line, and component version.
  • Record the values and thread state used to evaluate the invariant.
  • Look for earlier corruption, races, or missed lifecycle transitions.
  • Fix the invalid state rather than removing the assertion from production builds.

References


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