llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.03k stars 11.58k forks source link

Posix/getrandom.c fails for 32-bit arm #45438

Open rovka opened 4 years ago

rovka commented 4 years ago
Bugzilla Link 46093
Version unspecified
OS Linux
CC @zatrazz

Extended Description

This fails in a cryptic way for asan, lsan and ubsan. Seen on llvm 10.0.1-rc1, but IIUC not on llvm 10.0.0.

FAIL: SanitizerCommon-asan-armhf-Linux :: Posix/getrandom.c (57011 of 66740) **** TEST 'SanitizerCommon-asan-armhf-Linux :: Posix/getrandom.c' FAILED **** Script:

: 'RUN: at line 1'; /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/./bin/clang -gline-tables-only -fsanitize=address -ldl -O2 /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Posix/getrandom.c -o /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/projects/compiler-rt/test/sanitizer_common/asan-armhf-Linux/Posix/Output/getrandom.c.tmp && /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/projects/compiler-rt/test/sanitizer_common/asan-armhf-Linux/Posix/Output/getrandom.c.tmp

Exit Code: 1


Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80 FAIL: SanitizerCommon-lsan-armhf-Linux :: Posix/getrandom.c (57166 of 66740) **** TEST 'SanitizerCommon-lsan-armhf-Linux :: Posix/getrandom.c' FAILED **** Script:

: 'RUN: at line 1'; /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/./bin/clang -gline-tables-only -fsanitize=leak -ldl -O2 /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Posix/getrandom.c -o /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/projects/compiler-rt/test/sanitizer_common/lsan-armhf-Linux/Posix/Output/getrandom.c.tmp && /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/projects/compiler-rt/test/sanitizer_common/lsan-armhf-Linux/Posix/Output/getrandom.c.tmp

Exit Code: 1


Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80 FAIL: SanitizerCommon-ubsan-armhf-Linux :: Posix/getrandom.c (57320 of 66740) **** TEST 'SanitizerCommon-ubsan-armhf-Linux :: Posix/getrandom.c' FAILED **** Script:

: 'RUN: at line 1'; /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/./bin/clang -gline-tables-only -fsanitize=undefined -ldl -O2 /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/llvm-project/compiler-rt/test/sanitizer_common/TestCases/Posix/getrandom.c -o /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/projects/compiler-rt/test/sanitizer_common/ubsan-armhf-Linux/Posix/Output/getrandom.c.tmp && /home/tcwg-buildslave/workspace/tcwg-llvm-release/tcwg-tk1_32-build/rc1/Phase3/Release/llvmCore-10.0.1-rc1.obj/projects/compiler-rt/test/sanitizer_common/ubsan-armhf-Linux/Posix/Output/getrandom.c.tmp

Exit Code: 1

zatrazz commented 3 years ago

Could it be related with the issue I fixed with 0ad3cb8c267516b96f205d03b5284b7d3d507729, where getrandom might not be supported by the kernel?

rovka commented 4 years ago

It seems to reproduce on llvm 10.0.0, so it's likely an environment issue.