| Previous | Next |
| STATUS_NONCONTINUABLE_EXCEPTION | STATUS_UNWIND |
STATUS_INVALID_DISPOSITION
An SEH handler returned an invalid action
Low-level exception handlers return an EXCEPTION_DISPOSITION that tells the dispatcher to continue execution, continue searching, process a nested exception, or handle a collided unwind. This status is raised when the returned value is not valid for the current dispatch or unwind phase.
The failure usually indicates a damaged handler pointer, ABI mismatch, stack corruption, or custom assembly/runtime code returning the wrong enumeration. The handler that appears in the stack may only be the first code to consume corrupted unwind state, so validate the function address, calling convention, establisher frame, and exception flags. Continuing past this status risks using an already invalid stack walk.
What to inspect
- Identify the exact language-specific handler and its returned disposition.
- Validate the establisher frame and handler address against loaded modules.
- Check custom assembly and runtime code for ABI or structure-layout mismatches.
- Investigate prior stack corruption before changing the dispatcher result.
References
- Microsoft Learn: Exception Dispatching
- Microsoft Learn: x64 exception handling
- ReactOS source: AMD64 unwind implementation
- Microsoft Windows SDK metadata: ntstatus.h
Looking for a different code? Search another status or error code.
