&gt; Data race leads to subtle bugs on all languages and runtimes, including Java and C#. They are just not called undefined behavior in those languages.<p>That&#x27;s because they aren&#x27;t. You might get incorrect results or exceptions or whatnot, but <i>NOT</i> Undefined Behavior aka. nose-demons. What <i>can</i> happen in cases of data races is always constrained by the VM model. (Obviously, this is modulo bugs in the actual VM implementation, but that probably goes without saying.)