[llvm-dev] Go Tsan check failure

Csaba Raduly via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 28 00:47:17 PST 2017


Hi,
I want to build clang successfully :) I don't care about Go.

buildgo.sh is invoked directly by ninja. I don't want to modify the
(generated) build.ninja

The "SILENT=1" is hard-coded into build.ninja and ninja -v has no effect on it.

I tried passing  -DLLVM_INCLUDE_GO_TESTS=OFF to cmake but the result
was the same.

Csaba

On Tue, Nov 28, 2017 at 7:27 AM, Dmitry Vyukov <dvyukov at google.com> wrote:
> On Tue, Nov 28, 2017 at 12:16 AM, Kostya Serebryany <kcc at google.com> wrote:
>> +dvyukov
>>
>> On Mon, Nov 27, 2017 at 4:56 AM, Csaba Raduly via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>>>
>>> Hi all,
>>>
>>> I'm trying to build clang on Ubuntu 17.10 - the build succeeds, but
>>> testing fails:
>>>
>>> ~/wk/LLVM/build_release$ svn info ../llvm/
>>> Path: /home/csabaraduly/wk/LLVM/llvm
>>> Working Copy Root Path: /home/csabaraduly/wk/LLVM/llvm
>>> URL: https://llvm.org/svn/llvm-project/llvm/trunk
>>> Relative URL: ^/llvm/trunk
>>> Repository Root: https://llvm.org/svn/llvm-project
>>> Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
>>> Revision: 319018
>>> Node Kind: directory
>>> Schedule: normal
>>> Last Changed Author: mkazantsev
>>> Last Changed Rev: 319018
>>> Last Changed Date: 2017-11-27 12:20:58 +0100 (Mon, 27 Nov 2017)
>>>
>>> ~/wk/LLVM/build_release$ ninja -v all check-all
>>> [1/4] cd ~/wk/LLVM/build_release/utils/lit && /usr/bin/cmake -E
>>> remove_directory ~/wk/LLVM/build_release/utils/lit/tests &&
>>> /usr/bin/cmake -E copy_directory ~/wk/LLVM/llvm/utils/lit/tests
>>> ~/wk/LLVM/build_release/utils/lit/tests && /usr/bin/cmake -E copy
>>> ~/wk/LLVM/build_release/utils/lit/lit.site.cfg
>>> ~/wk/LLVM/build_release/utils/lit/tests
>>> [2/4] cd ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go && env
>>> "CC=/usr/bin/cc " IN_TMPDIR=1 SILENT=1
>>> ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go/buildgo.sh
>>> FAILED: projects/compiler-rt/lib/tsan/CMakeFiles/GotsanRuntimeCheck
>>> cd ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go && env
>>> "CC=/usr/bin/cc " IN_TMPDIR=1 SILENT=1
>>> ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go/buildgo.sh
>>> [3/4] cd ~/wk/LLVM/build_release/projects/compiler-rt/lib && env
>>> LLVM_CHECKOUT=~/wk/LLVM/llvm SILENT=1 TMPDIR=
>>> PYTHON_EXECUTABLE=/usr/bin/python2.7
>>> COMPILER_RT=~/wk/LLVM/llvm/projects/compiler-rt
>>>
>>> ~/wk/LLVM/llvm/projects/compiler-rt/lib/sanitizer_common/scripts/check_lint.sh
>>> ninja: build stopped: subcommand failed.
>>>
>>> Even ninja -v resulted in SILENT=1 being passed to buildgo.sh, so I
>>> tried to run it manually:
>>>
>>> ~/wk/LLVM/build_release$ pushd
>>> ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go && env "CC=/usr/bin/cc
>>> " IN_TMPDIR=1 SILENT=0
>>> ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go/buildgo.sh
>>> ~/wk/LLVM/llvm/projects/compiler-rt/lib/tsan/go ~/wk/LLVM/build_release
>>> /usr/bin/cc gotsan.cc -c -o
>>> /tmp/gotsan.vYTnyXdSJU/race_linux_amd64.syso -I../rtl -I../..
>>> -I../../sanitizer_common -I../../../include -std=c++11 -m64 -Wall
>>> -fno-exceptions -fno-rtti -DSANITIZER_GO=1
>>> -DSANITIZER_DEADLOCK_DETECTOR_VERSION=2 -fPIC -ffreestanding
>>> -Wno-maybe-uninitialized -Wno-unused-const-variable -Werror
>>> -Wno-unknown-warning-option -DSANITIZER_DEBUG=0 -O3 -msse3
>>> -fomit-frame-pointer
>>> ==12640==ERROR: ThreadSanitizer failed to allocate 0x4000 (16384)
>>> bytes at address 1764aec780000 (errno: 12)
>>> Segmentation fault (core dumped)
>>>
>>> ~/wk/LLVM/build_release$ uname -a
>>> Linux 4.13.0-17-generic #20-Ubuntu SMP Mon Nov 6 10:04:08 UTC 2017
>>> x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> ~/wk/LLVM/build_release$ /usr/bin/cc -v
>>> Using built-in specs.
>>> COLLECT_GCC=/usr/bin/cc
>>> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
>>> OFFLOAD_TARGET_NAMES=nvptx-none
>>> OFFLOAD_TARGET_DEFAULT=1
>>> Target: x86_64-linux-gnu
>>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
>>> 7.2.0-8ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs
>>> --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++
>>> --prefix=/usr --with-gcc-major-version-only --program-suffix=-7
>>> --program-prefix=x86_64-linux-gnu- --enable-shared
>>> --enable-linker-build-id --libexecdir=/usr/lib
>>> --without-included-gettext --enable-threads=posix --libdir=/usr/lib
>>> --enable-nls --with-sysroot=/ --enable-clocale=gnu
>>> --enable-libstdcxx-debug --enable-libstdcxx-time=yes
>>> --with-default-libstdcxx-abi=new --enable-gnu-unique-object
>>> --disable-vtable-verify --enable-libmpx --enable-plugin
>>> --enable-default-pie --with-system-zlib --with-target-system-zlib
>>> --enable-objc-gc=auto --enable-multiarch --disable-werror
>>> --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
>>> --enable-multilib --with-tune=generic
>>> --enable-offload-targets=nvptx-none --without-cuda-driver
>>> --enable-checking=release --build=x86_64-linux-gnu
>>> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
>>> Thread model: posix
>>> gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3)
>>>
>>> Is there a way to disable Go, or at least its tsan checks?
>
>
> Hi,
>
> Comments out buildgo.sh invocation from build scripts? Or you want
> something else?



-- 
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
The Tao of math: The numbers you can count are not the real numbers.
Life is complex, with real and imaginary parts.
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds
"People disagree with me. I just ignore them." -- Linus Torvalds


More information about the llvm-dev mailing list