| Previous | Next |
| KERN_LOCK_OWNED_SELF | KERN_RPC_SERVER_TERMINATED |
KERN_SEMAPHORE_DESTROYED
A semaphore lifetime failure
KERN_SEMAPHORE_DESTROYED means the semaphore object is gone. This is not a normal empty-semaphore wait and not a timeout; the synchronization primitive itself has been destroyed while a caller still had work to perform against it.
Mach semaphores are counting synchronization objects with creation, signaling, waiting, and destruction interfaces. A shutdown sequence must prevent new users and resolve existing waiters before the final reference is destroyed.
What to inspect
- Identify the ownership and destruction point for the semaphore.
- Check whether a waiter, signaler, or callback retained a stale semaphore reference.
- Verify that service teardown drains work before destroying synchronization state.
- Distinguish this result from
KERN_OPERATION_TIMED_OUT, which reports a wait that expired on a still-valid operation.
References
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: Mach semaphores
- Apple Kernel Programming Guide: Mach IPC and object lifetimes
Looking for a different code? Search another status or error code.