| Previous | Next |
| KERN_INVALID_POLICY | KERN_ALREADY_WAITING |
KERN_INVALID_OBJECT
KERN_INVALID_OBJECT is not a general “bad object handle” result. In XNU it specifically describes an external memory manager that failed to initialize a memory object. The status belongs to Mach's memory-object protocol, where a pager or memory manager cooperates with the kernel to provide data for virtual memory.
That context matters because ordinary application code normally works through higher-level memory APIs and may never see this return. When it does appear, the useful evidence is the memory-object lifecycle, the initialization handshake, and the pager-side failure—not a raw pointer passed by an unrelated client.
What to inspect
- Identify the memory-object or pager implementation associated with the failing request.
- Correlate the return with object creation, initialization, and any earlier pager error.
- Separate this case from
KERN_INVALID_ADDRESSandKERN_PROTECTION_FAILURE, which concern mappings in a task's address space. - Preserve the target task and memory-object port identities where they are safe to log.
References
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: Memory and Virtual Memory
- Apple Kernel Programming Guide: Mach overview
Looking for a different code? Search another status or error code.