[PATCH] D149549: [compiler-rt][interception][win] Don't crash on unknown instructions

Alan Zhao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 10 15:18:10 PDT 2023


ayzhao added a comment.

We're starting to see build failures due to interception_failure_test.cpp <https://github.com/llvm/llvm-project/blob/main/compiler-rt/test/asan/TestCases/interception_failure_test.cpp> unexpectedly passing on Windows: https://crbug.com/1443891

  -- Testing: 71841 tests, 32 workers --
   
  Testing: 
   XPASS: AddressSanitizer-x86_64-windows :: TestCases/interception_failure_test.cpp (398 of 71841)
   ******************** TEST 'AddressSanitizer-x86_64-windows :: TestCases/interception_failure_test.cpp' FAILED ********************
   Script:
   --
   : 'RUN: at line 4';      C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe  -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -gcodeview -gcolumn-info   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp -o C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp &&  C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp 2>&1 | FileCheck C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp
   : 'RUN: at line 5';      C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe  -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -gcodeview -gcolumn-info   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O1 C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp -o C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp &&  C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp 2>&1 | FileCheck C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp
   : 'RUN: at line 6';      C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe  -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -gcodeview -gcolumn-info   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O2 C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp -o C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp &&  C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp 2>&1 | FileCheck C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp
   : 'RUN: at line 7';      C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe  -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -gcodeview -gcolumn-info   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O3 C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp -o C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp &&  C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp 2>&1 | FileCheck C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp
   --
   Exit Code: 0
   
   Command Output (stdout):
   --
   $ ":" "RUN: at line 4"
   $ "C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe" "-fsanitize=address" "-mno-omit-leaf-frame-pointer" "-fno-omit-frame-pointer" "-fno-optimize-sibling-calls" "-gline-tables-only" "-gcodeview" "-gcolumn-info" "-Wthread-safety" "-Wthread-safety-reference" "-Wthread-safety-beta" "-O0" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp" "-o" "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   # command output:
      Creating library C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.lib and object C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.exp
   
   $ "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   $ "FileCheck" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp"
   $ ":" "RUN: at line 5"
   $ "C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe" "-fsanitize=address" "-mno-omit-leaf-frame-pointer" "-fno-omit-frame-pointer" "-fno-optimize-sibling-calls" "-gline-tables-only" "-gcodeview" "-gcolumn-info" "-Wthread-safety" "-Wthread-safety-reference" "-Wthread-safety-beta" "-O1" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp" "-o" "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   # command output:
      Creating library C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.lib and object C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.exp
   
   $ "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   $ "FileCheck" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp"
   $ ":" "RUN: at line 6"
   $ "C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe" "-fsanitize=address" "-mno-omit-leaf-frame-pointer" "-fno-omit-frame-pointer" "-fno-optimize-sibling-calls" "-gline-tables-only" "-gcodeview" "-gcolumn-info" "-Wthread-safety" "-Wthread-safety-reference" "-Wthread-safety-beta" "-O2" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp" "-o" "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   # command output:
      Creating library C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.lib and object C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.exp
   
   $ "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   $ "FileCheck" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp"
   $ ":" "RUN: at line 7"
   $ "C:/b/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/./bin/clang.exe" "-fsanitize=address" "-mno-omit-leaf-frame-pointer" "-fno-omit-frame-pointer" "-fno-optimize-sibling-calls" "-gline-tables-only" "-gcodeview" "-gcolumn-info" "-Wthread-safety" "-Wthread-safety-reference" "-Wthread-safety-beta" "-O3" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp" "-o" "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   # command output:
      Creating library C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.lib and object C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.exp
   
   $ "C:\b\s\w\ir\cache\builder\src\third_party\llvm-build\Release+Asserts\runtimes\runtimes-x86_64-pc-windows-msvc-bins\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\interception_failure_test.cpp.tmp"
   $ "FileCheck" "C:\b\s\w\ir\cache\builder\src\third_party\llvm\compiler-rt\test\asan\TestCases\interception_failure_test.cpp"
   
   --
   
   ********************
   
  Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
   ********************
   Unexpectedly Passed Tests (1):
     AddressSanitizer-x86_64-windows :: TestCases/interception_failure_test.cpp
   
   
   Testing Time: 506.20s
     Skipped            :    63
     Unsupported        : 11868
     Passed             : 81387
     Expectedly Failed  :   208
     Unexpectedly Passed:     1


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149549



More information about the llvm-commits mailing list