intel / intel/llvm

ThreadSanitizer tests fail on OCL CPU nightly

Open
#17,486 3 comments 0 reactions 0 assignees View on GitHub
bug confirmed
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### Describe the bug

https://github.com/intel/llvm/actions/runs/13890763224

```
SYCL :: ThreadSanitizer/check_both_read.cpp
SYCL :: ThreadSanitizer/check_no_race.cpp
SYCL :: ThreadSanitizer/check_usm.cpp
```

```
FAIL: SYCL :: ThreadSanitizer/check_both_read.cpp (1996 of 2290)
******************** TEST 'SYCL :: ThreadSanitizer/check_both_read.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_both_read.cpp -Xarch_device -fsanitize=thread -O0 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_both_read.cpp.tmp1.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_both_read.cpp -Xarch_device -fsanitize=thread -O0 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_both_read.cpp.tmp1.out
# note: command had no output on stdout or stderr
# RUN: at line 3
env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_both_read.cpp.tmp1.out 2>&1 | /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_both_read.cpp
# executed command: env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_both_read.cpp.tmp1.out
# note: command had no output on stdout or stderr
# executed command: /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_both_read.cpp
# .---command stderr------------
# | /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_both_read.cpp:16:16: error: CHECK-NOT: excluded string found in input
# | // CHECK-NOT: WARNING: DeviceSanitizer: data race
# | ^
# | :2:5: note: found here
# | ====WARNING: DeviceSanitizer: data race
# | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |
# | Input file:
# | Check file: /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_both_read.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ==== DeviceSanitizer: TSAN
# | 2: ====WARNING: DeviceSanitizer: data race
# | not:16 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match expected
# | 3: When write of size 8 at 0x7fe3c49800d0 in kernel LID(0, 0, 0) GID(8, 0, 0)
# | 4: #0 sycl::_V1::detail::array<1>::array<1>(std::enable_if<1 == 1, unsigned long>::type) /__w/llvm/llvm/toolchain/bin/../include/sycl/detail/array.hpp:31
# | 5: ====WARNING: DeviceSanitizer: data race
# | 6: When write of size 8 at 0x7fe3c49800c8 in kernel LID(0, 0, 0) GID(8, 0, 0)
# | 7: #0 sycl::_V1::detail::array<1>::array<1>(std::enable_if<1 == 1, unsigned long>::type) /__w/llvm/llvm/toolchain/bin/../include/sycl/detail/array.hpp:31
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************
FAIL: SYCL :: ThreadSanitizer/check_no_race.cpp (1997 of 2290)
******************** TEST 'SYCL :: ThreadSanitizer/check_no_race.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_no_race.cpp -Xarch_device -fsanitize=thread -O0 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_no_race.cpp.tmp1.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_no_race.cpp -Xarch_device -fsanitize=thread -O0 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_no_race.cpp.tmp1.out
# note: command had no output on stdout or stderr
# RUN: at line 3
env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_no_race.cpp.tmp1.out 2>&1 | /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_no_race.cpp
# executed command: env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_no_race.cpp.tmp1.out
# note: command had no output on stdout or stderr
# executed command: /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_no_race.cpp
# .---command stderr------------
# | /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_no_race.cpp:19:16: error: CHECK-NOT: excluded string found in input
# | // CHECK-NOT: WARNING: DeviceSanitizer: data race
# | ^
# | :2:5: note: found here
# | ====WARNING: DeviceSanitizer: data race
# | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |
# | Input file:
# | Check file: /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_no_race.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ==== DeviceSanitizer: TSAN
# | 2: ====WARNING: DeviceSanitizer: data race
# | not:19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match expected
# | 3: When write of size 8 at 0x7fdfc50d7cd0 in kernel LID(0, 0, 0) GID(8, 0, 0)
# | 4: #0 sycl::_V1::detail::array<1>::array<1>(std::enable_if<1 == 1, unsigned long>::type) /__w/llvm/llvm/toolchain/bin/../include/sycl/detail/array.hpp:31
# | 5: ====WARNING: DeviceSanitizer: data race
# | 6: When write of size 8 at 0x7fdfc50d7cc8 in kernel LID(0, 0, 0) GID(8, 0, 0)
# | 7: #0 sycl::_V1::detail::array<1>::array<1>(std::enable_if<1 == 1, unsigned long>::type) /__w/llvm/llvm/toolchain/bin/../include/sycl/detail/array.hpp:31
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

********************
FAIL: SYCL :: ThreadSanitizer/check_usm.cpp (2009 of 2290)
******************** TEST 'SYCL :: ThreadSanitizer/check_usm.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp -Xarch_device -fsanitize=thread -DMALLOC_DEVICE -O0 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp1.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp -Xarch_device -fsanitize=thread -DMALLOC_DEVICE -O0 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp1.out
# note: command had no output on stdout or stderr
# RUN: at line 3
env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp1.out 2>&1 | /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp
# executed command: env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp1.out
# note: command had no output on stdout or stderr
# executed command: /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp
# note: command had no output on stdout or stderr
# RUN: at line 4
/__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp -Xarch_device -fsanitize=thread -DMALLOC_DEVICE -O2 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp2.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -D_GLIBCXX_USE_CXX11_ABI=0 -fsycl -fsycl-targets=spir64 /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp -Xarch_device -fsanitize=thread -DMALLOC_DEVICE -O2 -g -o /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp2.out
# note: command had no output on stdout or stderr
# RUN: at line 5
env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp2.out 2>&1 | /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp
# executed command: env ONEAPI_DEVICE_SELECTOR=opencl:cpu /__w/llvm/llvm/build-e2e/ThreadSanitizer/Output/check_usm.cpp.tmp2.out
# note: command had no output on stdout or stderr
# executed command: /__w/llvm/llvm/toolchain/bin/FileCheck /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp
# .---command stderr------------
# | /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp:27:12: error: CHECK: expected string not found in input
# | // CHECK: WARNING: DeviceSanitizer: data race
# | ^
# | :1:1: note: scanning from here
# | ==== DeviceSanitizer: TSAN
# | ^
# |
# | Input file:
# | Check file: /__w/llvm/llvm/llvm/sycl/test-e2e/ThreadSanitizer/check_usm.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: ==== DeviceSanitizer: TSAN
# | check:27 X~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

```

### To reproduce

_No response_

### Environment

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.