What does NTSTATUS 0xC0000027 (STATUS_UNWIND) mean?

 
Previous Next
STATUS_INVALID_DISPOSITION STATUS_BAD_STACK

STATUS_UNWIND

The dispatcher is unwinding frames rather than reporting a root fault

STATUS_UNWIND is used as an exception code when the runtime starts an unwind without another supplied exception record. During unwinding, termination handlers run and nonvolatile register state is reconstructed while frames are removed. Seeing this code in a trace therefore does not prove that an application fault originated at that point.

Inspect the ExceptionFlags and the operation that called RtlUnwind or its language-runtime equivalent. The actionable failure may be an earlier exception, a long jump, cancellation path, or explicit nonlocal transfer. If unwinding later fails with STATUS_BAD_STACK, STATUS_INVALID_DISPOSITION, or STATUS_BAD_FUNCTION_TABLE, preserve this original unwind record together with the metadata for the frame where validation broke.

What to inspect

  • Check EXCEPTION_UNWINDING, EXIT_UNWIND, TARGET_UNWIND, and COLLIDED_UNWIND flags.
  • Find the target frame and target instruction supplied to the unwind operation.
  • Distinguish an explicit unwind from propagation of an earlier fault.
  • Preserve pdata/xdata and runtime function tables for the failing module.

References


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