Valgrind regression tests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Raspbian |
New
|
Undecided
|
Unassigned |
Bug Description
Fisrst off, how to reproduce. I'm testing on a Pi 5.
The two patches below fix 4 testcase failures.
Firstly you will need a patched libarmmem
git clone https:/
Apply patch2 from https:/
Build Valgrind from source
git clone https:/
Apply the patch in https:/
./autogen.sh
./configure --host=
make
make -i check
A few of the testcases fail to build, which is why -i was required. I've applied a few fixes upstream so this may not be necessary. No harm in leaving it.
Make sure that you have libc-dbg and libstdc++ debug (something like libstdc++6-12-dbg, depending on your version of GCC g++).
Use the debug version of libstdc++:
export LD_LIBRARY_
Run the regression tests:
LD_PRELOAD=
(modify the above path to point to where you built libarmmem)
And here are the results (for reference, low single digits failures are what I'd consider normal).
== 720 tests, 30 stderr failures, 6 stdout failures, 2 stderrB failures, 2 stdoutB failures, 0 post failures == tests/mcblockli stsearch (stderrB) tests/mcinfcall WSRU (stderrB) tests/nlcontrol c (stdoutB) tests/nlvgdbsig queue (stdoutB) tests/atomic_ incs (stdout) tests/atomic_ incs (stderr) tests/leak- cases-full (stderr) tests/leak- cases-summary (stderr) tests/leak- cycle (stderr) tests/leak- segv-jmp (stderr) tests/leak- tree (stderr) tests/leak_ cpp_interior (stderr) tests/origin5- bz2 (stderr) tests/partially definedeq (stderr) tests/sh- mem-random (stdout) tests/sh- mem-random (stderr) tests/supp_ unknown (stderr) tests/varinfo2 (stderr) tests/varinfo3 (stderr) tests/varinfo4 (stderr) tests/varinfo5 (stderr) tests/varinfo6 (stderr) tests/varinfore strict (stderr) tests/getaddrin fo (stderr) tests/hg05_ race2 (stderr) tests/tc20_ verifywrap (stderr) annotate_ trace_memory (stderr) annotate_ trace_memory_ xml (stderr) tc19_shadowmem (stderr) arm/neon64 (stdout) arm/v8crypto_ t (stdout) arm/v8crypto_ t (stderr) arm/v8fpsimd_ t (stdout) arm/v8fpsimd_ t (stderr) arm/vcvt_ fixed_float_ VFP (stdout) arm/vcvt_ fixed_float_ VFP (stderr)
gdbserver_
gdbserver_
gdbserver_
gdbserver_
memcheck/
memcheck/
memcheck/tests/dw4 (stderr)
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/tests/lks (stderr)
memcheck/
memcheck/
memcheck/tests/sem (stderr)
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
memcheck/
helgrind/tests/bug392331 (stderr)
helgrind/
helgrind/
helgrind/
drd/tests/
drd/tests/
drd/tests/
none/tests/
none/tests/
none/tests/
none/tests/
none/tests/
none/tests/
none/tests/
So far I've only looked at a few. The 'none' tests are all related to the build failures.
The leak ones are likely to be semi-spurious - it's hard to make leak detection very robust as memcheck will search memory (and registers) for pointers to unfreed memory. That can cause mis-categorization from the view of the testcase.
The varinfo ones look like problems with DWARF debuginfo.
getaddrinfo, I might need to add that to the suppressions. Debugging with /usr/lib/ arm-linux- gnueabihf/ libnss_ mdns4_minimal. so.2 debuginfo would help.