The peril of data races. Shows how even the most innocent ones can break badly.
There are some corner cases when obvious data race problem is not detected on the reasonable levels of analysis intrusiveness. One of such cases is considered in the article.
For more complete information about compiler optimizations, see our Optimization Notice.