| Previous | Next |
| KERN_LOCK_SET_DESTROYED | KERN_LOCK_OWNED |
KERN_LOCK_UNSTABLE
An ownership failure caused by thread termination
KERN_LOCK_UNSTABLE is more serious than ordinary contention. XNU uses it when the thread that held a lock terminated without releasing it, leaving the lock ownership state unusable for the attempted operation.
A blind retry can hide the important fact that a thread died inside a critical section. The useful root-cause evidence is the terminating thread, the protected state, and the operation in progress while the lock was held.
What to inspect
- Record the lock or lock-set identity and the terminating thread last activity.
- Determine whether thread exit was expected, cancelled, aborted, or caused by an exception.
- Inspect partially updated data guarded by the lock.
- Review shutdown ordering that allowed the holder to disappear before cleanup completed.
References
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: locks and synchronization
- Apple Kernel Programming Guide: tasks and threads
Looking for a different code? Search another status or error code.