You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But seems like, neither of the solutions were implemented.
The main problem here is that the LeakSan can mistakenly detect the glibc version. It detects 2.19 for the real glibc of version 2.25 or higher.
And that causes SIGSEGV later in ScanRangeForPointers function from lsan_common.cc (because DTLS range is illegal).
The condition in DTLS_on_tls_get_addr() function can be false positive: sometimes ((tls_beg % 4096) == sizeof(Glibc_2_19_tls_header)) evaluates to true for pointers from glibc 2.25.
I kindly ask you to do something to avoid these annoying crashes. The LeakSan's code suggests gnu_get_libc_version() in order to limit the supported glibc versions :)
Seeing that this is affecting multiple projects and that no fix seems to be forthcoming, perhaps this test should be disabled by default, at least if using GLIBC?
Activity
InverseRE commentedon Sep 28, 2020
Temporarily we disable DTLS with
ASAN_OPTIONS=intercept_tls_get_addr=0to get reports from LeakSan for other storage types.Use Fedora 32 and its native packages
maint: Work around bug in address sanitizer
Disable intercept_tls_get_addr for LSan tests on linux.
boris-kolpackov commentedon Sep 27, 2021
Seeing that this is affecting multiple projects and that no fix seems to be forthcoming, perhaps this test should be disabled by default, at least if using GLIBC?
[CI] Disable __tls_get_addr interception in asan
build: set ASAN workaround
build: set ASAN workaround
build: set ASAN workaround
build: set ASAN workaround
build: set ASAN workaround
build: set ASAN workaround
build: set ASAN workaround
Deactive some ASan check to avoid spurious failures.
Deactive some ASan check to avoid spurious failures.
CI: disable `__tls_get_addr` interception in ASan
CI: disable `__tls_get_addr` interception in ASan (#3205)
Sanitizers: add ASAN options to avoid false errors
Sanitizers: add ASAN options to avoid false errors
Sanitizers: add ASAN options to avoid false errors
thurstond commentedon Apr 18, 2023
"Fix tls_get_addr handling for glibc >=2.25" (https://reviews.llvm.org/D147459) landed in LLVM upstream last Friday, which should fix the issue.
fix(ci): avoid lsan crashes with intercept_tls_get_addr=0 (#1048)
Disable tls_get_addr interceptor in ASAN
build(docker): Use LLVM by default (#225)
Fix: Quitting a testing build no longer ends in a LeakSanitizer error (…