Pattern
Acquire/Release Ordering Mismatch
acquire-release-ordering-mismatch
Memory-ordering contracts break when CAS success/failure uses mismatched acquire/release semantics, so one thread observes stale state and the next loop iteration never synchronizes; results range from “code not executed” to miscompiled control thunks.