Bug 1467673 - Disable segfault handling by TSAN when running JIT tests. r?jandem draft
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 27 Jul 2018 15:22:19 +0900
changeset 823387 bdd7f5401158d7be30c7b9fd927f4a73599bc3c2
parent 823386 162b1c7ecca72e6c3b330e68203a51fa019617d2
child 823388 e13257228b2c20e9dc4502d679d09675c5127eab
push id117658
push userbmo:mh+mozilla@glandium.org
push dateFri, 27 Jul 2018 06:36:02 +0000
reviewersjandem
bugs1467673
milestone63.0a1
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.
js/src/Makefile.in
--- 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);