Skip to content

ASan binaries does not work with glibc 2.36 #43426

@azat

Description

@azat

Tested with the following docker images:

  • debian:testing
  • archlinux
$ ASAN_SYMBOLIZER_PATH=/bin/llvm-symbolizer ./clickhouse-asan
AddressSanitizer:DEADLYSIGNAL
=================================================================
==17112==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000000000 bp 0x7fffffffdfd0 sp 0x7fffffffdfb8 T0)
==17112==Hint: pc points to the zero page.
==17112==The signal is caused by a READ memory access.
==17112==Hint: address points to the zero page.
    #0 0x0  (<unknown module>)
    #1 0x42a8a0a2 in std::__1::__libcpp_mutex_lock[abi:v15003](pthread_mutex_t*) build_docker/../contrib/libcxx/include/__threading_support:304:10
    #2 0x42a8a0a2 in __cxxabiv1::(anonymous namespace)::LibcppMutex::lock() build_docker/../contrib/libcxxabi/src/cxa_guard_impl.h:282:24
    #3 0x42a8a0a2 in __cxxabiv1::(anonymous namespace)::InitByteGlobalMutex<__cxxabiv1::(anonymous namespace)::LibcppMutex, __cxxabiv1::(anonymous namespace)::LibcppCondVar, __cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppMutex>::instance, __cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppCondVar>::instance, &(__cxxabiv1::(anonymous namespace)::PlatformThreadID())>::LockGuard::LockGuard(char const*) build_docker/../contrib/libcxxabi/src/cxa_guard_impl.h:392:24
    #4 0x42a8a0a2 in __cxxabiv1::(anonymous namespace)::InitByteGlobalMutex<__cxxabiv1::(anonymous namespace)::LibcppMutex, __cxxabiv1::(anonymous namespace)::LibcppCondVar, __cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppMutex>::instance, __cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppCondVar>::instance, &(__cxxabiv1::(anonymous namespace)::PlatformThreadID())>::acquire() build_docker/../contrib/libcxxabi/src/cxa_guard_impl.h:320:15
    #5 0x42a8a0a2 in __cxxabiv1::(anonymous namespace)::GuardObject<__cxxabiv1::(anonymous namespace)::InitByteGlobalMutex<__cxxabiv1::(anonymous namespace)::LibcppMutex, __cxxabiv1::(anonymous namespace)::LibcppCondVar, __cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppMutex>::instance, __cxxabiv1::(anonymous namespace)::GlobalStatic<__cxxabiv1::(anonymous namespace)::LibcppCondVar>::instance, &(__cxxabiv1::(anonymous namespace)::PlatformThreadID())> >::cxa_guard_acquire() build_docker/../contrib/libcxxabi/src/cxa_guard_impl.h:572:43
    #6 0x42a8a0a2 in __cxa_guard_acquire build_docker/../contrib/libcxxabi/src/cxa_guard.cpp:39:31
    #7 0x4293c574 in std::__1::ios_base::Init::Init() build_docker/../contrib/libcxx/src/iostream.cpp:157:5
    #8 0x4293c574 in __cxx_global_var_init build_docker/../contrib/libcxx/src/iostream_init.h:2:31
    #9 0x4293c574 in _GLOBAL__I_000100 build_docker/../contrib/libcxx/src/iostream.cpp
    #10 0x42a9928c in __libc_csu_init (/work1/azat/ch/tmp/upstream/clickhouse-asan+0x42a9928c) (BuildId: 6ea6d1a5d2d5a164f60f0fd8230936305bc8d9d0)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (<unknown module>) 
==17112==ABORTING

I've checked the simplest binary and it works.

I've also tested with glibc 2.31, 2.35 and clickhouse binaries works there.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions