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.