Bug 1467673 - Disable segfault handling by TSAN when running JIT tests. r?jandem
self-test/assertRecoveredOnBailout-1.js relies on the shell actually
crashing, but TSAN catches that instead, and returns its own error code
instead of -11.
TSAN's value, however, is not in catching crashes, so we disable its
handling of segfaults while running the JIT tests. Crashes would still
happen and cause tests failures, while allowing the harness to catch the
expected crash from self-test/assertRecoveredOnBailout-1.js.
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -37,17 +37,17 @@ endif
endif
ifneq ($(LLVM_SYMBOLIZER),)
# Use the LLVM symbolizer when running jit-tests under ASan and TSan, if available
ifdef MOZ_ASAN
JITTEST_SANITIZER_ENV=ASAN_SYMBOLIZER_PATH='$(LLVM_SYMBOLIZER)'
endif
ifdef MOZ_TSAN
-JITTEST_SANITIZER_ENV=TSAN_OPTIONS="external_symbolizer_path=$(LLVM_SYMBOLIZER) $$TSAN_OPTIONS"
+JITTEST_SANITIZER_ENV=TSAN_OPTIONS="external_symbolizer_path=$(LLVM_SYMBOLIZER) handle_segv=0 $$TSAN_OPTIONS"
endif
ifdef MOZ_MSAN
JITTEST_SANITIZER_ENV=MSAN_SYMBOLIZER_PATH='$(LLVM_SYMBOLIZER)'
endif
endif
check-js-msg::
(cd $(topsrcdir) && $(PYTHON) $(topsrcdir)/config/check_js_msg_encoding.py);