| Previous | Next |
| MACH_RCV_IN_PROGRESS_TIMED | kOSMetaClassInternal |
MACH_RCV_INVALID_REPLY
Strict-reply validation rejected the reply port relationship
MACH_RCV_INVALID_REPLY is returned when an invalid reply port is used in a MACH_MSG_STRICT_REPLY message. The strict-reply option is a protocol constraint, not a generic receive mode: the XNU header requires it on both the send and receive sides. This status therefore indicates that the reply-port relationship did not satisfy the additional checks expected for that exchange.
A raw port name is not enough evidence that a reply channel is suitable. Reusing a reply port after a previous transaction, mixing a reply port from another call, or applying inconsistent operation flags can cause a failure even when the request reached a valid service endpoint.
What to inspect
- Capture the complete send and receive option masks, including whether both sides requested
MACH_MSG_STRICT_REPLY. - Track reply-port creation, ownership, transfer, and reuse for each request rather than keeping only a numeric name in a cache.
- Use one clear request-to-reply association in concurrent code and avoid sharing a reply endpoint across unrelated in-flight calls.
- Compare the failure with
MACH_RCV_INVALID_NAME: that code addresses the receive name itself, while this one is specific to strict-reply validation.
References
- Apple XNU source: mach/message.h
- Mach Kernel Interface Reference: mach_msg
- GNU Mach Reference Manual: interprocess communication
Looking for a different code? Search another status or error code.
