[libcxx-commits] [PATCH] D132438: [runtimes] Use a response file for runtimes test suites

Amy Kwan via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Aug 29 23:24:36 PDT 2022


amyk added a comment.

I figured I would also report the behaviour I am seeing with this patch.
When `check-all` is ran on the PowerPC target (for reference, compiler-rt, libcxx and libcxxabi are built as runtimes), there a bunch of `tsan` failures:

  Failed Tests (19):
    ThreadSanitizer-powerpc64le :: atexit5.cpp
    ThreadSanitizer-powerpc64le :: compare_exchange.cpp
    ThreadSanitizer-powerpc64le :: custom_mutex0.cpp
    ThreadSanitizer-powerpc64le :: custom_mutex1.cpp
    ThreadSanitizer-powerpc64le :: custom_mutex2.cpp
    ThreadSanitizer-powerpc64le :: custom_mutex3.cpp
    ThreadSanitizer-powerpc64le :: custom_mutex4.cpp
    ThreadSanitizer-powerpc64le :: custom_mutex5.cpp
    ThreadSanitizer-powerpc64le :: deadlock_detector_stress_test.cpp
    ThreadSanitizer-powerpc64le :: dl_iterate_phdr.cpp
    ThreadSanitizer-powerpc64le :: dlclose.cpp
    ThreadSanitizer-powerpc64le :: ignore_lib0.cpp
    ThreadSanitizer-powerpc64le :: ignore_lib2.cpp
    ThreadSanitizer-powerpc64le :: ignore_lib3.cpp
    ThreadSanitizer-powerpc64le :: ignore_lib4.cpp
    ThreadSanitizer-powerpc64le :: ignored-interceptors-mmap.cpp
    ThreadSanitizer-powerpc64le :: libcxx/std_shared_ptr.cpp
    ThreadSanitizer-powerpc64le :: load_shared_lib.cpp
    ThreadSanitizer-powerpc64le :: real_deadlock_detector_stress_test.cpp

And all of them involve not being able to find the `tsan` related headers,

  FAIL: ThreadSanitizer-powerpc64le :: atexit5.cpp (71517 of 82996)
  ******************** TEST 'ThreadSanitizer-powerpc64le :: atexit5.cpp' FAILED ********************
  Script:
  --
  : 'RUN: at line 1';      /home/amyk/testbuild/./bin/clang  --driver-mode=g++ -fsanitize=thread -Wall  -m64 -fno-function-sections   -gline-tables-only -I/data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/../ -std=c++11 -I/data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/../ -nostdinc++ -I/home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/lib/tsan/libcxx_tsan_powerpc64le/include/c++/v1 -O1 -fno-inline-functions /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/atexit5.cpp -o /home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/test/tsan/POWERPC64LEConfig/Output/atexit5.cpp.tmp && /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/deflake.bash 10  /home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/test/tsan/POWERPC64LEConfig/Output/atexit5.cpp.tmp | FileCheck /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/atexit5.cpp
  --
  Exit Code: 1
  
  Command Output (stderr):
  --
  /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/atexit5.cpp:3:10: fatal error: 'memory' file not found
  #include <memory>
           ^~~~~~~~
  1 error generated.

Or, that the libcxx `tsan` library was not built and the tests could not find them:

  FAIL: ThreadSanitizer-powerpc64le :: compare_exchange.cpp (71529 of 82996)
  ******************** TEST 'ThreadSanitizer-powerpc64le :: compare_exchange.cpp' FAILED ********************
  Script:
  --
  : 'RUN: at line 1';      /home/amyk/testbuild/./bin/clang  --driver-mode=g++ -fsanitize=thread -Wall  -m64 -fno-function-sections   -gline-tables-only -I/data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/../ -std=c++11 -I/data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/../ -nostdinc++ -I/home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/lib/tsan/libcxx_tsan_powerpc64le/include/c++/v1 -O1 /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/compare_exchange.cpp /home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/lib/tsan/libcxx_tsan_powerpc64le/lib/libc++.a -o /home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/test/tsan/POWERPC64LEConfig/Output/compare_exchange.cpp.tmp && /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/deflake.bash 10 env TSAN_OPTIONS=atexit_sleep_ms=0:atexit_sleep_ms=50  /home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/test/tsan/POWERPC64LEConfig/Output/compare_exchange.cpp.tmp 2>&1 | FileCheck --check-prefix=CHECK-REPORT /data/amyk/compiler/community/llvm-project/compiler-rt/test/tsan/compare_exchange.cpp
  --
  Exit Code: 1
  
  Command Output (stderr):
  --
  clang-15: error: no such file or directory: '/home/amyk/testbuild/runtimes/runtimes-bins/compiler-rt/lib/tsan/libcxx_tsan_powerpc64le/lib/libc++.a'

What I did notice though, is if I do `check-runtimes` and then `check-all`, the tests pass since the `check-runtimes` step builds the missing `tsan` library. I am not sure if anyone else if experiencing this issue.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132438/new/

https://reviews.llvm.org/D132438



More information about the libcxx-commits mailing list