| Previous | Next |
| STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER | STATUS_LOG_GROWTH_FAILED |
STATUS_CURRENT_TRANSACTION_NOT_VALID
The thread carries stale or incorrectly restored transaction context
KTM-aware code can associate a current transaction with a thread so APIs participate in the ambient context. This status means the thread context itself references an unusable handle, often after the transaction was closed, the context was restored incorrectly, or work moved between threads without a valid propagation step.
Distinguish the ambient context from explicit transaction parameters. An explicit handle can be valid while the thread's current transaction is stale, or the reverse.
What to inspect
- Trace every set, save, restore, and clear operation for the thread transaction context.
- Check asynchronous continuations, thread-pool reuse, exception paths, and module teardown.
- Query the transaction ID before installing the context and clear it before closing the last handle.
- Do not reuse a raw handle value captured from another thread or process.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft: Kernel Transaction Manager overview
- Microsoft: Kernel Transaction Manager functions
- Microsoft Windows SDK metadata: ktmw32.h
Looking for a different code? Search another status or error code.
