| Previous | Next |
| ERROR_STOPPED_ON_SYMLINK | ERROR_PLUGPLAY_QUERY_VETOED |
ERROR_LONGJUMP
What ERROR_LONGJUMP means
A long jump performs non-local control transfer, bypassing ordinary returns. The status is usually part of unwinding machinery rather than a user-facing failure, but it matters when debugging destructors, cleanup handlers, or corrupted stacks.
Where it appears
- setjmp/longjmp based runtimes
- language runtimes implementing non-local exits
- debuggers and crash analyzers observing exception dispatch
Likely causes
- an intentional longjmp call
- runtime implementation of cancellation or error escape
- stack corruption falsely resembling a valid jump context
Evidence to collect
- jump origin and destination stacks
- saved jump-buffer contents and owning thread
- resources acquired between setjmp and longjmp
- compiler, runtime, and exception model
How to respond
For intentional use, ensure every skipped resource has an explicit cleanup strategy; C++ objects with automatic destructors make raw longjmp especially dangerous. For unexpected occurrences, capture a dump and inspect stack integrity rather than retrying the operation.
Diagnostic interpretation
For this particular status, the decisive evidence is jump origin and destination stacks, saved jump-buffer contents and owning thread. Those details separate the documented condition from unrelated failures that happen to occur nearby.
Record the numeric code together with the symbolic name ERROR_LONGJUMP, the API or subsystem that produced it, and the first preceding failure. For ERROR_LONGJUMP, a later cleanup occurrence may describe a consequence instead of the initiating defect.
Example
A diagnostic trace records ERROR_LONGJUMP after an operation changes subsystem state. The ERROR_LONGJUMP investigation should follow the first state-changing call, validate its resulting state, and classify later cleanup messages as secondary evidence.
Implementation guidance
Code handling ERROR_LONGJUMP should distinguish a terminal failure from a warning, progress indication, or request to repeat after a defined state change. When handling ERROR_LONGJUMP, preserve handles and output fields only where the originating API explicitly keeps them valid. The ERROR_LONGJUMP path needs bounded retries and cleanup that tolerates partial initialization.
Validation after remediation
Repeat one controlled operation that previously produced ERROR_LONGJUMP. For ERROR_LONGJUMP, verify both disappearance of the status and completion of the specific state transition described above. Adjacent messages around ERROR_LONGJUMP must also be reviewed so a fallback is not mistaken for a complete repair.
References
Looking for a different code? Search another status or error code.
