How to miscompile programs with "benign" data races [pdf]
usenix.org
usenix.org
If I remember correctly this report is written in the context of standardizing new features in C++11 related to synchronization, threads, and the memory model.
Can someone explain to me how this is possible?