What does Windows error code 594 (ERROR_DRIVER_CANCEL_TIMEOUT) mean?

 
Previous Next
ERROR_VDM_HARD_ERROR ERROR_REPLY_MESSAGE_MISMATCH

ERROR_DRIVER_CANCEL_TIMEOUT

A cancelled I/O request remained owned by a driver for too long

I/O cancellation is a protocol between the I/O manager and drivers that still own or queue an IRP. A request does not become harmless merely because a caller cancelled it: the responsible driver must synchronize cancellation with queue processing and eventually complete the IRP exactly once. This error reports that the cancellation path failed to finish within the allotted interval.

Investigate the driver that last owned the request, not the application that asked for cancellation. Common design mistakes include a cancel path waiting on work that cannot run, losing an IRP between a queue and a device completion path, or keeping a framework callback blocked. For UMDF, critical I/O cancellation requests are also subject to host timeouts. Driver Verifier I/O checks and request tracing can expose ownership transitions much more effectively than increasing application timeouts.

What to inspect

  • Trace the IRP or framework request from queue insertion through cancellation and completion.
  • Verify cancellation and normal completion cannot race into a lost or double-complete state.
  • Use Driver Verifier I/O checks on the suspected driver in a test environment.

References


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