{"json_modified": "2016-06-20T07:30:20.287340", "uuid": "ef06f1d8-a757-46b8-82b9-b15f8225bf51", "title": "Thread Sanitizer", "url": "/en-US/docs/Mozilla/Projects/Thread_Sanitizer", "tags": ["race condition", "guide", "Guide", "tsan"], "translations": [], "modified": "2016-06-20T07:30:20", "label": "Thread Sanitizer", "localization_tags": [], "locale": "en-US", "id": 57405, "last_edit": "2016-06-20T07:30:19", "summary": "Thread Sanitizer (TSan) is a fast data race detector for C/C++ programs. It uses a compile-time instrumentation to check all non-race-free memory access at runtime. Unlike other tools, it understands compiler-builtin atomics and synchronization and therefore provides very accurate results with no real false positives. More information on how TSan works can be found on the Thread Sanitizer wiki.", "sections": [{"id": "What_is_Thread_Sanitizer", "title": "What is Thread Sanitizer?"}, {"id": "Public_Builds", "title": "Public Builds"}, {"id": "Manual_Build", "title": "Manual Build"}, {"id": "Build_prerequisites", "title": "Build prerequisites"}, {"id": "LLVMClang", "title": "LLVM/Clang"}, {"id": "Building_Firefox", "title": "Building Firefox"}, {"id": "Getting_the_source", "title": "Getting the source"}, {"id": "Adjusting_the_build_configuration", "title": "Adjusting the build configuration"}, {"id": "Starting_the_build_process", "title": "Starting the build process"}, {"id": "Starting_Firefox", "title": "Starting Firefox"}, {"id": "Building_only_the_JavaScript_shell", "title": "Building only the JavaScript shell"}, {"id": "Using_LLVM_Symbolizer_for_fasterbetter_traces", "title": "Using LLVM Symbolizer for faster/better traces"}, {"id": "Ignoring_known_races", "title": null}, {"id": "Compile-time_blacklisting", "title": "Compile-time blacklisting"}, {"id": "Runtime_suppressions", "title": "Runtime suppressions"}], "slug": "Mozilla/Projects/Thread_Sanitizer", "review_tags": []}