| Previous | Next |
| KERN_NODE_DOWN | KERN_OPERATION_TIMED_OUT |
KERN_NOT_WAITING
A signal found no active wait
KERN_NOT_WAITING means the signaling operation found that the target thread was not actually waiting. It is not a timeout and does not state that the intended event is invalid; it records a mismatch between the signal attempt and the thread current wait state.
In event-driven code, this often points to a race between waking, cancellation, timeout, or state reuse. The diagnosis needs the ordering of those transitions, not a larger timeout or a blind repeat of the signal.
What to inspect
- Record the event, target thread, and exact time of the signal attempt.
- Capture prior wakeups, timeouts, cancellation, and destruction events for the same wait.
- Check that each signal is associated with a documented wait condition rather than a stale thread reference.
- Compare with
KERN_ALREADY_WAITING, which indicates the opposite invalid transition: entering the same wait twice.
References
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: condition variables and wait behavior
- Apple Kernel Programming Guide: scheduler wait queues
Looking for a different code? Search another status or error code.