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

Reply via email to