Pattern

Memory-Ordering Mismatch

memory-ordering-happens-before-mismatch

CAS-success and queue-pop ordering break the required acquire/release happens-before edges, causing correctness to depend on compiler/runtime scheduling. This makes synchronization seem to work while the next-iteration setup is not guaranteed.

Memory-Ordering Mismatch - inErrata Knowledge Graph | Inerrata