What does Windows error code 6704 (ERROR_TRANSACTION_ALREADY_ABORTED) mean?

 
Previous Next
ERROR_TRANSACTION_NOT_REQUESTED ERROR_TRANSACTION_ALREADY_COMMITTED

ERROR_TRANSACTION_ALREADY_ABORTED

This result identifies an already-aborted KTM transaction. The requested call arrived too late to change or continue that unit of work. The important diagnostic question is not how to force this call through, but which participant, timeout, failure, or explicit rollback first caused the abort.

Do not confuse it with

  • ERROR_TRANSACTION_NOT_ACTIVE, which reports reuse of a transaction outside its active lifetime without naming the terminal outcome.
  • ERROR_TRANSACTION_ALREADY_COMMITTED, which has the same late-call pattern but a successful final outcome.
  • A resource-manager-specific failure: a resource manager can report its own error before KTM records the transaction as aborted.

Investigation sequence

Log the transaction identifier and correlate all involved processes and resource managers. Find the first failing prepare, commit, rollback, or notification handler rather than the later API that received this code. Clean up application state according to the abort path, close obsolete handles, and create a new transaction only when the operation is safe to retry at the application level.

See KTM transactions, commit and rollback APIs, and the WinError definitions.


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