We are running into an issue with the stack_changes test in Yocto. Running memcheck/tests/linux/stack_changes using the vg-regtest script on qemuarm64 running Poky, causes the test to fail consistently. When built and run on an ARM Raspberry Pi, the test passes. The tests fail as follows: "vg_regtest: `/usr/lib/valgrind/ptest/./coregrind/valgrind' not found or not a file (/usr/lib/valgrind/ptest)" This is an issue also found by the Yocto project autobuilder. Corresponding issue on YP bugzilla with the autobuilder logs: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14430
My apologies, that log is from an older testing attempt that was run without the --valgrind and --valgrind-lib parameters. When run correctly as follows, the test fails with the incorrect diff seen during testing. root@qemuarm64:/usr/lib/valgrind/ptest# ./tests/vg_regtest --valgrind=/usr/bin/valgrind --valgrind-lib=/usr/libexec/valgrind memcheck/tests/linux/stack_changes stack_changes: valgrind -q ./stack_changes *** stack_changes failed (stderr) *** == 1 test, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/stack_changes (stderr) I have attached the stderr diff between the expected output and the result from the test that causes the failure.
Created attachment 139623 [details] expected vs actual test result from stderr
This works fine on x86_64, and it works when compiled on a Raspberry Pi, but when cross-compiled with Yocto and run on qemuarm64 (on an x86_64 build host), it fails close to 100% of the time. Is there something we can do to help gather more information to help debug this or make progress on the bug? Thanks, Tony
Do you still have this problem? If so could you attach the unfiltered log file? Run perl tests/vg_regtest --keep-unfiltered memcheck/tests/linux/stack_changes and then attach stack_changes.stderr.out.unfiltered.out I'll try it on FreeBSD - reading the commit comments, it's only Darwin that doesn't work with this test.
We are suddenly seeing this on fedora 40, 41 and eln: https://kojipkgs.fedoraproject.org//packages/valgrind/3.23.0/4.fc40/data/logs/aarch64/build.log https://kojipkgs.fedoraproject.org//packages/valgrind/3.23.0/4.fc41/data/logs/aarch64/build.log https://kojipkgs.fedoraproject.org//packages/valgrind/3.23.0/4.eln141/data/logs/aarch64/build.log It doesn't seem to consistently fail though.