Hi, On Mon, Feb 07, 2022 at 11:29:34PM +0100, Mark Wielaard wrote: > On Mon, Feb 07, 2022 at 09:46:26PM +0100, Mark Wielaard wrote: > > This is an odd one. It happens during make distcheck, after make check > > passed. > > > > FAIL: run-readelf-compressed-zstd.sh > > ==================================== > > /srv/buildbot/worker/elfutils-fedora-x86_64/build/elfutils-0.186/_build/sub/src/readelf: > > failed reading 'hello_i386.ko.zst': zstd decompression failed > > > > Which would mean that zstd decompresssion only failed when using > > -fsanitize=undefined and/or running under valgrind (both are enabled > > by distcheck, but aren't used during the previous make check). > > Replicated on an updated Fedora 35, run-readelf-compressed-zstd.sh > passes without valgrind, but fails running under valgrind. > > Specifically: > $ cp tests/hello_i386.ko.bz2 . > $ bunzip2 hello_i386.ko.bz2 > $ zstd hello_i386.ko > $ LD_LIBRARY_PATH=libelf:libdw src/readelf -a hello_i386.ko.zst > /dev/null > $ LD_LIBRARY_PATH=libelf:libdw valgrind -q src/readelf -a hello_i386.ko.zst > src/readelf: failed reading 'hello_i386.ko.zst': zstd decompression failed > > I haven't figured out why yet.
Still not much progress. Under valgrind ZSTD_decompressStream does indeed return an error: ZSTD_decompressStream: -20 (1) Corrupted block detected Will have to trace that with/without valgrind to figure out if it is a bug in valgrind or some memory operation that behaves different under valgrind that causes an issue in ZSTD_decompressStream. Cheers, Mark