What does macOS kernel return 0x10000017 (MACH_SEND_MSG_FILTERED) mean?

 
Previous Next
MACH_SEND_NO_GRANT_DEST MACH_RCV_IN_PROGRESS

MACH_SEND_MSG_FILTERED

A kernel-side message filter rejected an otherwise addressed send

MACH_SEND_MSG_FILTERED means a message filter rejected the send. The status is useful precisely because it separates policy enforcement from address resolution: the caller may hold a destination right, yet the message still is not delivered. It should not be diagnosed as a normal timeout or as evidence that the destination process has already read the request.

The result alone does not reveal the filter rule. A filter can evaluate message properties, destination policy, or context that is outside the application payload. That is why blind retries and random changes to the message identifier are poor responses: they can generate repeated denied traffic without discovering the policy boundary.

What to preserve for diagnosis

  • Log the message identifier, options, destination owner or service, and whether the body contains descriptors or transferred rights.
  • Keep the relevant kernel, sandbox, entitlement, or service policy logs from the same time window.
  • Compare a rejected call with a known accepted call made through the same public API, including its execution context.
  • Do not mark an operation complete until the caller has a successful send result or a documented application-level acknowledgement.

References


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