What does NTSTATUS 0xC000014B (STATUS_PIPE_BROKEN) mean?

 
Previous Next
STATUS_ILLEGAL_FLOAT_CONTEXT STATUS_REGISTRY_CORRUPT

STATUS_PIPE_BROKEN

STATUS_PIPE_BROKEN means that a pipe operation reached a peer that is no longer connected. For a named pipe, the other end has closed; for a pipe-like abstraction, the expected reader or writer is gone. It is a lifecycle condition, not a malformed-message diagnosis.

What an application should infer

A broken pipe normally ends the current conversation. Pending writes cannot be assumed to have reached the peer, and a server should not continue to use the same pipe instance as though it were connected. The right recovery is to close or reset the current connection state, release any request-specific resources, and establish a new connection when the protocol allows it.

Useful checks

  • Log whether the failure occurred on read, write, flush, or a control request, and record the pipe instance or client identity.
  • For a server, finish the current instance and follow the documented disconnect/reconnect lifecycle before accepting a new client.
  • For a client, treat the result as a lost session and reconnect only after the server endpoint is expected to be available.
  • Do not retry the same write against the broken instance; retrying at the protocol level may duplicate a request unless the protocol is idempotent.

STATUS_PIPE_DISCONNECTED is closely related but describes a pipe instance that is already in a disconnected state. STATUS_PIPE_BROKEN emphasizes that an operation failed because the peer end closed.

See Named Pipe Operations, FSCTL_PIPE_PEEK reply statuses, and ConnectNamedPipe.


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