| Previous | Next |
| MACH_SEND_INVALID_RIGHT | MACH_SEND_INVALID_MEMORY |
MACH_SEND_INVALID_NOTIFY
When this code is relevant
MACH_SEND_INVALID_NOTIFY is specific to send options that request notification behavior, such as MACH_SEND_CANCEL. The notify argument must denote a receive right capable of accepting the kernel notification. Passing a send right, a dead name, an unrelated port, or a stale numeric value cannot establish that callback channel.
This error is generally a caller-side IPC setup mistake. It is not a notification that the destination service has failed, and the original send should not be treated as delivered merely because a notification port was supplied. Fix the lifecycle of the notification endpoint before retrying the operation.
Checks that help
- Record the exact Mach option mask and distinguish the destination, reply, and notification ports.
- Confirm the task owns the receive right for the notification port for the lifetime of the operation.
- Ensure cleanup cannot deallocate or move that receive right while another thread begins the send.
- Use the higher-level framework API when it owns cancellation and notification wiring; manually mixing rights is error-prone.
References
- Mach Kernel Interface Reference: mach_msg
- Apple XNU source: mach/message.h
- Apple Kernel Programming Guide: Mach overview
Looking for a different code? Search another status or error code.
