ABA Problem
ABA Problem — A lock-free concurrency hazard in which a value changes from A to B and back to A, causing compare-and-swap logic to miss the intervening state transition.
Concurrency Context
In pointer-based lock-free structures, a node can be removed and later reused while the pointer value returns to the same address. The structure has changed, but a simple value comparison can no longer reveal that transition. Version tags, hazard pointers, or epoch-based reclamation are common ways to control the risk.
Correctness Boundary
ABA is not merely an equality problem. It matters when the intermediate state change has algorithmic meaning and a successful compare-and-swap would otherwise validate a stale assumption.
Related Concurrency Concepts
- Compare-and-Swap
- Lock-Free
- Hazard Pointer
- Memory Reclamation