Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++][CI] "C++ / AMD64 Ubuntu 20.04 C++ ASAN UBSAN" is failed #33667

Closed
kou opened this issue Jan 15, 2023 · 1 comment · Fixed by #33669
Closed

[C++][CI] "C++ / AMD64 Ubuntu 20.04 C++ ASAN UBSAN" is failed #33667

kou opened this issue Jan 15, 2023 · 1 comment · Fixed by #33669

Comments

@kou
Copy link
Member

kou commented Jan 15, 2023

Describe the bug, including details regarding any error messages, version, and platform.

C++ / AMD64 Ubuntu 20.04 C++ ASAN UBSAN (link) is failing with following error:

[90/890] Building CXX object CMakeFiles/substrait.dir/substrait_ep-generated/substrait/extensions/extensions.pb.cc.o
FAILED: CMakeFiles/substrait.dir/substrait_ep-generated/substrait/extensions/extensions.pb.cc.o 
/usr/bin/ccache /usr/lib/ccache/clang++-14  -DADDRESS_SANITIZER -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -DARROW_NO_DEPRECATED_API -DARROW_UBSAN -DARROW_WITH_RE2 -DARROW_WITH_UTF8PROC -Isubstrait_ep-generated -Iprotobuf_ep-install/include -Isrc -I/arrow/cpp/src -I/arrow/cpp/src/generated -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wno-unknown-warning-option -Wno-pass-failed -msse4.2  -fsanitize=address -DADDRESS_SANITIZER -fsanitize=undefined -fno-sanitize=alignment,vptr,function,float-divide-by-zero -fno-sanitize-recover=all -fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep -fsanitize-blacklist=/arrow/cpp/build-support/sanitizer-disallowed-entries.txt -g -Werror -O0 -ggdb -fPIC   -fsanitize-coverage=pc-table,inline-8bit-counters,edge,no-prune,trace-cmp,trace-div,trace-gep -std=c++17 -Wno-error=shorten-64-to-32 -MD -MT CMakeFiles/substrait.dir/substrait_ep-generated/substrait/extensions/extensions.pb.cc.o -MF CMakeFiles/substrait.dir/substrait_ep-generated/substrait/extensions/extensions.pb.cc.o.d -o CMakeFiles/substrait.dir/substrait_ep-generated/substrait/extensions/extensions.pb.cc.o -c substrait_ep-generated/substrait/extensions/extensions.pb.cc
In file included from substrait_ep-generated/substrait/extensions/extensions.pb.cc:4:
In file included from substrait_ep-generated/substrait/extensions/extensions.pb.h:24:
In file included from protobuf_ep-install/include/google/protobuf/arena.h:52:
protobuf_ep-install/include/google/protobuf/arena_impl.h:45:10: fatal error: 'sanitizer/asan_interface.h' file not found
#include <sanitizer/asan_interface.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

@kou Do you have any idea?

Originally posted by @wgtmac in #33656 (comment)

Component(s)

C++, Continuous Integration

@kou
Copy link
Member Author

kou commented Jan 15, 2023

It seems that it's a problem of deb package provided by LLVM.

In new packages, sanitizer/asan_interface.h is included in libclang-rt-14-dev but it's conflicted with libclang-common-14-dev. And clang-14 requires libclang-common-14-dev. It means that we can't install both of clang-14 and libclang-rt-14-dev at once...

kou added a commit to kou/arrow that referenced this issue Jan 15, 2023
There is a problem in deb packages provided by
LLVM. `sanitizer/asan_interface.h` is included in `libclang-rt-14-dev`
but it's conflicted with `libclang-common-14-dev`. And `clang-14`
requires `libclang-common-14-dev`. It means that we can't install both
of `clang-14` and `libclang-rt-14-dev` at once.

We use deb packages provided by LLVM on Ubuntu 20.04 because Ubuntu
20.4 provides only old LLVM. But we can use deb packages provided by
Ubuntu on Ubuntu 22.04.

We use deb packages provided by Ubuntu to avoid this problem.
kou added a commit to kou/arrow that referenced this issue Jan 15, 2023
There is a problem in deb packages provided by
LLVM. `sanitizer/asan_interface.h` is included in `libclang-rt-14-dev`
but it's conflicted with `libclang-common-14-dev`. And `clang-14`
requires `libclang-common-14-dev`. It means that we can't install both
of `clang-14` and `libclang-rt-14-dev` at once.

We use deb packages provided by LLVM on Ubuntu 20.04 because Ubuntu
20.4 provides only old LLVM. But we can use deb packages provided by
Ubuntu on Ubuntu 22.04.

We use deb packages provided by Ubuntu to avoid this problem.
kou added a commit that referenced this issue Jan 15, 2023
# Which issue does this PR close?

Closes #33667

# Rationale for this change

There is a problem in deb packages provided by
LLVM. `sanitizer/asan_interface.h` is included in `libclang-rt-14-dev` but it's conflicted with `libclang-common-14-dev`. And `clang-14` requires `libclang-common-14-dev`. It means that we can't install both of `clang-14` and `libclang-rt-14-dev` at once.

We use deb packages provided by LLVM on Ubuntu 20.04 because Ubuntu 20.4 provides only old LLVM. But we can use deb packages provided by Ubuntu on Ubuntu 22.04.

# What changes are included in this PR?

We use deb packages provided by Ubuntu to avoid this problem.

# Are these changes tested?

Yes.

# Are there any user-facing changes?

No.
* Closes: #33667

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@kou kou added this to the 11.0.0 milestone Jan 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant