bug#79444: baseenc SIGSEGV on macOS
Pádraig Brady <[email protected]>
| Newsgroups | gmane.comp.gnu.core-utils.bugs |
|---|---|
| Message-ID | <[email protected]> |
On 14/09/2025 15:43, Bruno Haible via GNU coreutils Bug Reports wrote:
> Pádraig Brady wrote:
>> p.s. an ASAN build would be good for CI
>
> The CI already includes an ASAN + UBSAN build: see
> https://github.com/coreutils/ci-check/blob/master/.github/workflows/many-platforms.yml#L850
> named "make check with sanitizers" in
> https://github.com/coreutils/ci-check/actions/runs/17705498910
>
> If you think that it should have failed in this situation,
> please commit or suggest an improvement.
Oh right MSAN is required for UMR detection:
$ ./configure CC=clang
$ make -j8 AM_CFLAGS='-Ulint -fsanitize=memory'
$ src/basenc --base32 -d /dev/null WARNING: MemorySanitizer: use-of-uninitialized-value
#0 in decode_ctx_finalize /home/padraig/git/coreutils/src/basenc.c:358:14
#1 in do_decode /home/padraig/git/coreutils/src/basenc.c:1559:18
#2 in main /home/padraig/git/coreutils/src/basenc.c:1770:5
MSAN works in this case, but it doesn't look usable in general
as it requires all used libs to be built with MSAN enabled
or tracking is lost, resulting in false positives.
I.e. any calls to gettext, regex, gmp, ... will induce false positives.
So for UMR checking with the coreutils test suite,
coreutils/README-valgrind seems like the best solution currently.
cheers,
Padraig