| Previous | Next |
| KERN_NOT_IN_SET | KERN_ABORTED |
KERN_NAME_EXISTS
KERN_NAME_EXISTS concerns a task-local Mach port namespace. The requested name already denotes a port right in that task, so Mach cannot use the same name for a separate right in the way the operation requested.
This is easy to misread if a log shows only the numeric port name. Mach port names are indexes in a task's namespace, not systemwide identifiers. The same numeric value can have a different meaning in another task, while one task cannot simultaneously use a name for two unrelated rights.
Useful checks
- Find out whether the existing name denotes the right the code intended to install.
- Review name allocation, renaming, and import paths for collisions.
- Keep the port-right type with the name in diagnostics; a number alone is insufficient.
- When importing rights across IPC, avoid assuming the sender's numeric name is reusable in the receiver's namespace.
The condition is not necessarily an access-denied failure. It says the local namespace already has an entry at that name. The correct outcome depends on whether that existing entry is expected, stale, or evidence of a resource-lifecycle bug.
References
- XNU: kern_return.h
- Apple Kernel Programming Guide: Mach ports and rights
- GNU Mach Reference Manual: Port Manipulation Interface
Looking for a different code? Search another status or error code.