What does NTSTATUS 0x80000026 (STATUS_LONGJUMP) mean?

 
Previous Next
STATUS_ALREADY_DISCONNECTED STATUS_CLEANER_CARTRIDGE_INSTALLED

STATUS_LONGJUMP

A nonlocal longjmp transfer changed the current control flow

longjmp resumes execution at a context previously saved by setjmp, bypassing normal call-and-return flow between the current point and the saved environment. STATUS_LONGJUMP is the NTSTATUS notification associated with this kind of control transfer.

When this appears in debugger or exception-flow diagnostics, inspect the saved jump environment and the frame that initiated the jump. C++ destructors are not a portable recovery mechanism around C longjmp, and local variables modified after setjmp have special language rules. The status is about control transfer, not a failed branch instruction.

What to inspect

  • Find the setjmp environment that is the target of the transfer.
  • Inspect resources and invariants that normal intermediate returns would have restored.
  • Do not classify the status as an access violation or ordinary hardware exception.

References


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