What does NTSTATUS 0xC0190048 (STATUS_NO_SAVEPOINT_WITH_OPEN_FILES) mean?

 
Previous Next
STATUS_NOT_SNAPSHOT_VOLUME STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION

STATUS_NO_SAVEPOINT_WITH_OPEN_FILES

Open files prevent the requested savepoint operation

STATUS_NO_SAVEPOINT_WITH_OPEN_FILES means TxF cannot perform the requested savepoint operation while files are still open in the transaction. Savepoints change the rollback boundary, and open handles can keep state alive in a way that makes that boundary unsafe.

For application code, this is usually a handle-lifetime issue. Before setting or rolling back a savepoint, close or otherwise drain the handles whose state would be affected.

What to check

  • Transacted file handles still open when the savepoint call is made.
  • Duplicated handles, inherited handles, or handles kept by helper libraries.
  • Memory-mapped sections that keep a file object referenced even after ordinary I/O stops.
  • Whether the code needs a narrower transaction scope or fewer nested savepoints.

Useful distinction

This is savepoint-specific. A transaction may be otherwise usable, but TxF refuses this savepoint operation until the open-file state is resolved.

References


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