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



Reply via email to