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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.