What does macOS kernel return 7 (KERN_NOT_RECEIVER) mean?

 
Could be also:
ConstantTypeOS
ERROR_ARENA_TRASHEDWin32 errorWindows
ippStsLnZeroArgIntel Ipp StatusAny
E2BIGerrnoAny
INVALID_SOFTWARE_INTERRUPTBugCheck CodeWindows
Previous Next
KERN_RESOURCE_SHORTAGE KERN_NO_ACCESS

KERN_NOT_RECEIVER

KERN_NOT_RECEIVER is a Mach port-rights error. The task named in the operation does not own the receive right for the port argument. A Mach port is not just a globally usable number: rights are capabilities held in a task's own port namespace.

Mach's communication model normally has one receiver for a port and potentially many senders. A send right permits sending messages, but it does not authorize receiving from the port's queue or managing the receive-side state. That is why having a valid-looking port name or a send right is not enough for operations that require the receiver.

What to verify

  • Which task owns the receive right and which task's port namespace the call addresses.
  • Whether a right was transferred as a send right, send-once right, or receive right.
  • Whether a port was destroyed, moved, or replaced during setup or teardown.
  • Whether the API is trying to manage a port set or receive queue when the caller only has a sending capability.

Diagnosing this as an ordinary permission error can be misleading. The central question is capability ownership: Mach operations are permitted according to the specific kind of right held by the relevant task.

References


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