On 12/05/2013 01:25 PM, Bernhard Voelker wrote: > On 12/05/2013 03:14 AM, Pádraig Brady wrote: >> To test follow this standard procedure: >> >> tar -xf $downloaded_file >> cd coreutils-8.21.176-37e00 >> ./configure && make check VERBOSE=yes >> >> Failures are reported and details are in tests/test-suite.log > > Hi Padraig, > > make check passes here on openSUSE-13.1, but check-expensive fails > for 'tests/misc/shuf-reservoir.sh': > > + seq 0 > + valgrind --leak-check=full --error-exitcode=1 shuf -n 0 -o out_0_0 > ==8230== Memcheck, a memory error detector > ==8230== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. > ==8230== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info > ==8230== Command: shuf -n 0 -o out_0_0 > ==8230== > ==8230== > ==8230== HEAP SUMMARY: > ==8230== in use at exit: 4,176 bytes in 3 blocks > ==8230== total heap usage: 6 allocs, 3 frees, 4,277 bytes allocated > ==8230== > ==8230== 0 bytes in 1 blocks are definitely lost in loss record 1 of 3 > ==8230== at 0x4C29964: calloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==8230== by 0x406018: xcalloc (xmalloc.c:100) > ==8230== by 0x4024E5: main (shuf.c:185) > ==8230== > ==8230== 4,176 (24 direct, 4,152 indirect) bytes in 1 blocks are definitely > lost in loss record 3 of 3 > ==8230== at 0x4C277AB: malloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==8230== by 0x405E78: xmalloc (xmalloc.c:41) > ==8230== by 0x404727: randint_all_new (randint.c:73) > ==8230== by 0x402219: main (shuf.c:554) > ==8230== > ==8230== LEAK SUMMARY: > ==8230== definitely lost: 24 bytes in 2 blocks > ==8230== indirectly lost: 4,152 bytes in 1 blocks > ==8230== possibly lost: 0 bytes in 0 blocks > ==8230== still reachable: 0 bytes in 0 blocks > ==8230== suppressed: 0 bytes in 0 blocks > ==8230== > ==8230== For counts of detected and suppressed errors, rerun with: -v > ==8230== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 2 from 2) > + return 1 > + fail=1 > + echo 'shuf-reservoir-sampling failed with IN_N=0 OUT_N=0' > shuf-reservoir-sampling failed with IN_N=0 OUT_N=0 > > This is obviously a false-positive as the code freeing memory is > "#ifdef lint"-ed in src/shuf.c ... although it should use IF_LINT(...). > > I'm wondering why the other valgrind'ed tests could work.
Ah that's the only `valgrind --leak-check=full` test we have. We should remove the valgrind wrapper if not grep '^#define lint 1' "$CONFIG_HEADER" I'll cook up a patch. thanks! Pádraig.
