What does macOS kernel return 0x10004012 (MACH_RCV_INVALID_REPLY) mean?

 
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


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