On OS X, TSan already passes all unit and lit tests, but for real-world applications (even very simple ones), we currently produce a lot of false positive reports about data races. This makes TSan useless at this point, because the noise dominates real bugs. I'd like to introduce a runtime flag, "ignore_interceptors_accesses", off by default, which will make TSan ignore all memory accesses that happen from interceptors. This will significantly lower the coverage and miss a lot of bugs, but it eliminates most of the current false positives on OS X.
The false positives are mostly coming from system libraries that use custom synchronization (atomics) and/or synchronize via APIs that we haven't written interceptors for yet. This flag, "ignore_interceptors_accesses", is intended as a temporary bring-up tool, so that TSan can actually be used on a GUI app.