summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/valgrind/valgrind
AgeCommit message (Collapse)Author
2024-05-15valgrind: Upgrade to 3.23.0Khem Raj
Drop backports already available in this release This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD, AMD64/FreeBSD and ARM64/FreeBSD There is also preliminary support for X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux. * ==================== CORE CHANGES =================== * --track-fds=yes will now also warn about double closing of file descriptors. Printing the context where the file descriptor was originally opened and where it was previously closed. * --track-fds=yes also produces "real" errors now which can be suppressed and work with --error-exitcode. When combined with --xml the xml-output now also includes FdBadClose and FdNotClosed error kinds (see docs/internals/xml-output-protocol5.txt). * The option --show-error-list=no|yes now accepts a new value all. This indicates to also print the suppressed errors. This is useful to analyse which errors are suppressed by which suppression entries. The valgrind monitor command 'v.info all_errors' similarly now accepts a new optional argument 'also_suppressed' to show all errors including the suppressed errors. * ================== PLATFORM CHANGES ================= * Added ARM64 support for FreeBSD. * ARM64 now supports dotprod instructions (sdot/udot). * AMD64 better supports code build with -march=x86-64-v3. fused-multiple-add instructions (fma) are now emulated more accurately. And memcheck now handles __builtin_strcmp using 128/256 bit vectors with sse4.1, avx/avx2. * S390X added support for NNPA (neural network processing assist) facility vector instructions VCNF, VCLFNH, VCFN, VCLFNL, VCRNF and NNPA (z16/arch14). * X86 recognizes new binutils-2.42 nop patterns. * ==================== TOOL CHANGES =================== * The none tool now also supports xml output. * ==================== FIXED BUGS ==================== The following bugs have been fixed or resolved. Note that "n-i-bz" stands for "not in bugzilla" -- that is, a bug that was reported to us but never got a bugzilla entry. We encourage you to file bugs in bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. 283429 ARM leak checking needs CLEAR_CALLER_SAVED_REGS 281059 Cannot connect to Oracle using valgrind 328563 make track-fds support xml output 362680 --error-exitcode not honored when file descriptor leaks are found 369723 __builtin_longjmp not supported in clang/llvm on Android arm64 target 390269 unhandled amd64-darwin syscall: unix:464 (openat_nocancel) 401284 False positive "Source and destination overlap in strncat" 428364 Signals inside io_uring_enter not handled 437790 valgrind reports "Conditional jump or move depends on uninitialised value" in memchr of macOS 10.12-10.15 460616 disInstr(arm64): unhandled instruction 0x4E819402 (dotprod/ASIMDDP) 463458 memcheck/tests/vcpu_fnfns fails when glibc is built for x86-64-v3 463463 none/tests/amd64/fma fails when executed on a x86-64-v3 system 466762 Add redirs for C23 free_sized() and free_aligned_sized() 466884 Missing writev uninit padding suppression for _XSend 471036 disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64, r32/6 471222 support tracking of file descriptors being double closed 474160 If errors-for-leak-kinds is specified, exit-on-first-error should only exit on one of the listed errors. 475498 Add reallocarray wrapper 476025 Vbit expected test results for Iop_CmpGT64Ux2 are wrong 476320 Build failure with GCC 476331 clean up generated/distributed filter scripts 476535 Difference in allocation size for massif/tests/overloaded-new between clang++/libc++ and g++/libstdc++ 476548 valgrind 3.22.0 fails on assertion when loading debuginfo file produced by mold 476708 valgrind-monitor.py regular expressions should use raw strings 476780 Extend strlcat and strlcpy wrappers to GNU libc 476787 Build of Valgrind 3.21.0 fails when SOLARIS_PT_SUNDWTRACE_THRP is defined 476887 WARNING: unhandled amd64-freebsd syscall: 578 477198 Add fchmodat2 syscall on linux 477628 Add mremap support for Solaris 477630 Include ucontext.h rather than sys/ucontext.h in Solaris sources 477719 vgdb incorrectly replies to qRcmd packet 478211 Redundant code for vgdb.c and Valgrind core tools 478624 Valgrind incompatibility with binutils-2.42 on x86 with new nop patterns (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26 478837 valgrind fails to read debug info for rust binaries 479041 Executables without RW sections do not trigger debuginfo reading 480052 WARNING: unhandled amd64-freebsd syscall: 580 480126 Build failure on Raspberry Pi 5 / OS 6.1.0-rpi7-rpi-v8 480405 valgrind 3.22.0 "m_debuginfo/image.c:586 (set_CEnt): Assertion '!sr_isError(sr)' failed." 480488 Add support for FreeBSD 13.3 480706 Unhandled syscall 325 (mlock2) 481127 amd64: Implement VFMADD213 for Iop_MAddF32 481131 [PATCH] x86 regtest: fix clobber lists in generated asm statements 481676 Build failure on Raspberry Pi 5 Ubuntu 23.10 with clang 481874 Add arm64 support for FreeBSD 483786 Incorrect parameter indexing in FreeBSD clock_nanosleep syscall wrapper 484002 Add suppression for invalid read in glibc's __wcpncpy_avx2() via wcsxfrm() 484426 aarch64: 0.5 gets rounded to 0 484480 False positives when using sem_trywait 484935 [patch] Valgrind reports false "Conditional jump or move depends on uninitialised value" errors for aarch64 signal handlers 485148 vfmadd213ss instruction is instrumented incorrectly (the remaining part of the register is cleared instead of kept unmodified) 485487 glibc built with -march=x86-64-v3 does not work due to ld.so strcmp 485778 Crash with --track-fds=all and --gen-suppressions=all n-i-bz Add redirect for memccpy To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX where XXXXXX is the bug number as listed above. (From OE-Core rev: faf48ef489ef3c4d0b2ee3a6aa9ef8911523db90) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-30valgrind: Backport fixes from 3.22 branchKhem Raj
These fixes are helping some ptests on musl and 6.6 kernel (From OE-Core rev: 151dfe7a7bb21cda213ae539f40d17008ad6ff3e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07valgrind: skip intermittently failing ptestsRandy MacLeod
Skip a few additional ptests that fail occasionally on the Yocto autobuilder and remove those added to the remove-for-all list if they were already in the remove-for-aarch64 list. === Test Summary === TOTAL: 774 PASSED: 755 FAILED: 0 SKIPPED: 19 (From OE-Core rev: bbe97f6688683ebfe77543eacf8a8a0f3c614545) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-15valgrind: Skip 22 arm64 ptestsRandy MacLeod
With the 3.22 upgrade 21 additional tests fail on qemuarm64. Skip them until the problems are resolved. Tracked by: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15399 (From OE-Core rev: 2fe9097c8c3944ab89d12fd29bcd0fc2d0d195e3) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-15valgrind: skip 14 ptests in 3.22Randy MacLeod
Sort the ptest depenencies into a somewhat alpahbetical order. Add python3-compile for ptests. Add softlinks for cachegrind to eliminate a warning seen in those tests. The folowing tests fail after the 3.22 update: memcheck/tests/linux/dlclose_leak-no-keep memcheck/tests/linux/dlclose_leak memcheck/tests/wrap1 memcheck/tests/wrap2 ... memcheck/tests/wrap8 cachegrind/tests/wrap5 massif/tests/bug469146 massif/tests/new-cpp massif/tests/overloaded-new Omit these tests until they are fixed. Tracked by: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15399 === Test Summary === TOTAL: 778 PASSED: 759 FAILED: 0 SKIPPED: 19 (From OE-Core rev: 8203bfac493226c26f0d6db0f653868605433b6f) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-15valgrind: update from 3.21.0 to 3.22.0Randy MacLeod
Full release notes: https://valgrind.org/docs/manual/dist.news.html In summary, there is a new configure option: --with-gdbscripts-dir that lets you install the gdb valgrind python monitor scripts in a specific location. It's not used in the valgrind recipe yet. Also, there were a few Memcheck and Cachegrind improvements made and many bugs fixed. The update required removing the patch: 0001-none-tests-x86-linux-seg_override.c-add-missing-incl.patch as it's dealt with by these commits: f7e4bb4af Bug 382034 - Testcases build fixes for musl 306232d40 musl: another fix for building testcases as described on: https://bugs.kde.org/show_bug.cgi?id=382034 Drop: 002-context-APIs-are-not-available-on-musl.patch since this is handled in a different way by the following upstream commits: c9e88f345 configure, drd: Only build the swapcontext test if swapcontext() is available 7cd4d7816 memcheck/tests/linux/stack_changes: Only run this test if setcontext() is available And the that tracked the error: https://bugs.kde.org/show_bug.cgi?id=434775 is closed. No regression in musl qemux86-64/kvm ptest results. Drop: 0001-fix-opcode-not-supported-on-mips32-linux.patch The resolved (works for me) upstream defect rejected this patch: https://bugs.kde.org/show_bug.cgi?id=396905 and suggested using CFLAGS="-mips32". With this patch dropped, the qemumips build succeeds perhaps due to using -march=mips32r2 Drop: 0001-Make-local-functions-static-to-avoid-assembler-error.patch since this was fixed upstream by commit: d6da48fe5 mips: use local labels for do_acasW() Confirmed with: MACHINE=qemumips TCLIBC=musl bitbake valgrind Ptest Resutls for qemux86-64/kvm glibc: === Test Summary === TOTAL: 792 PASSED: 759 FAILED: 14 SKIPPED: 19 musl: === Test Summary === TOTAL: 792 PASSED: 559 FAILED: 211 SKIPPED: 22 (From OE-Core rev: a04c7714e9f69b7a3fc36adecf7e55c0fcfaa891) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-25valgrind: update 3.20.0 -> 3.21.0Alexander Kanavin
Drop patches merged upstream. (From OE-Core rev: 3c4d78d8a1d5eca91bee66fd815c80eb0889ce81) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-11valgrind: Disable drd/tests/bar_bad ptestRandy MacLeod
This is failing intermettently in the YP autobuilder so disable it until we can fix the root cause. [YOCTO #14311] (From OE-Core rev: 77d06aa41c40f8d78903cc499b3f6906a084699e) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-05valgrind: Workaround glibc upgradeRichard Purdie
The glibc upgrade regresses one of the valgrind tests. Disable it until we can resolve that. (From OE-Core rev: 6c979f3941d047670e3ce1c86815b12706254d50) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-28valgrind: Include missing <cstdint>Khem Raj
(From OE-Core rev: 01698350086cce9ca21cd31f615a6eb49fabe6dc) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-22valgrind: skip the boost_thread test on armRandy MacLeod
This test is failing on the arm workers only so skip there until the issue can be worked on and resolved. The bug #14311 will remain open for tracking. (From OE-Core rev: d98deec9e4aed9e05343d2758f3a3892e2044616) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-27valgrind: remove most hidden tests for arm64Qiu, Zheng
An earlier version of valgrind fixed the defunct processes bug, so those tests that were skipped specifically for arm can pass now in master, kirkstone, honister, hardknott, and dunfell. Detailed test result with remove-for-aarch64 skipped on qemuarm64: Commit Pass Fail Skip master 624 9 21 kirkstone 618 10 20 honister 616 10 19 hardknott 609 13 18 dunfell 598 16 17 zeus Out of memory: Killed (with many defunct processes) There are now only 12 skipped by remove-for-aarch64 because 9 fail on qemuarm64 and 3 more fail on raspberry pi. These are tracked by: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14960 (From OE-Core rev: cbeb9418c43ec834868aa65b774dc09e983d26d9) Signed-off-by: Zheng Qiu <zheng.qiu@windriver.com> Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-03valgrind: update to 3.20.0Qiu, Zheng
Changes in this update includes: * The option "--vgdb-stop-at=event1,event2,..." accepts the new value abexit. This indicates to invoke gdbserver when your program exits abnormally (i.e. with a non zero exit code). * Fix Rust v0 name demangling. * The Linux rseq syscall is now implemented as (silently) returning ENOSYS. * Add FreeBSD syscall wrappers for __specialfd and __realpathat. * Remove FreeBSD dependencies on COMPAT10, which fixes compatibility with HardenedBSD * The option --enable-debuginfod=<no|yes> [default: yes] has been added on Linux. * More DWARF5 support as generated by clang14. Drop the patch 0001-Fix-drd-tests-shared_timed_mutex.cpp.patch which was merged upstream. ptest result: System Pass Fail Skip x86-64 717 0 20 (From OE-Core rev: 51e3d2ecef6a031105c04eb730580c17411eaf46) Signed-off-by: Zheng Qiu <zheng.qiu@windriver.com> Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02valgrind: (re)send ppc instructions patch upstreamAlexander Kanavin
(From OE-Core rev: 8d2e0bf9b13496ec5a8da546afa045cf49938a1d) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-17valgrind: Disable drd/tests/std_thread2 ptestRichard Purdie
After improvements to debug sources handling I suspect that extra debug information became available and is confusing this test. Disable it for now until someone with more knowledge can resolve the issue. (From OE-Core rev: 2d52b590f4f254ba6ff310af1f68780a0f329673) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-27valgrind: submit arm patches upstreamAlexander Kanavin
(From OE-Core rev: 118a68bbe8c87eac77e87db409ce419749b211bb) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-28valgrind: update 3.18.1 -> 3.19.0Alexander Kanavin
Dropped patches are either backports, were merged upstream, or upstream fixed the issue differently. (From OE-Core rev: 4c9b619eb7cd91e7ffc8db0f5571a4dbe6966ccc) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-15valgrind: Avoid accessing network in ptest taskKhem Raj
Avoid calling docs validation and manpages validation to avoid it (From OE-Core rev: 4ad8059ae0769285c7b837a62e1b76fbeef4c505) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-04valgrind: make run-ptest betterRandy MacLeod
There were warnings about non-existent files when there was a duplicate in the remove-for-aarch list and the non-deterministic lists so check if the files still exists before trying to deal with it. Also restore the tests in the opposite order that they were hidden. (From OE-Core rev: 2e1dc5782dcb879410d535f937c633edea484d11) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-04valgrind: skip boost_thread for aarch64 ptestsRandy MacLeod
The drd/tests/boost_thread test passes when run interactively on qemuarm64 but fails for most runs when run in qemu on an arm worker such as ubuntu1804-arm-1 from the Yocto autobuilder cluster. Skip the test until we fix the problem. (From OE-Core rev: 9a36983f9681f215aa2f59bfcb16343fe0a819cd) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-04valgrind: remove duplicate and skipped tests from remove-for-aarch64Randy MacLeod
The valgrind ptest script warns about tests such as: mv: cannot stat 'drd/tests/bar_bad_xml.vgtest': No such file or directory Since these tests were either in both remove-for-* lists or were not installed since they fail everywhere as noted in: 85a0d61025 valgrind: fix the remaining ptest failures 984ffe3ab4 valgrind: Disable leak_cpp_interior test remove them from the remove-for-aarch64 list (From OE-Core rev: 9492cdc43b830ebf0d02ccaae342f33c826d8a01) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-04valgrind: backport rseq work-aroundRandy MacLeod
Using glibc-2.35-alpha, valgrind ptests mostly all fail with the error: WARNING: unhandled amd64-linux syscall: 334 You may be able to write your own handler. With this patch applied qemux86-64 ptest results were: TOTAL: 728 PASSED: 709 FAILED: 0 SKIPPED: 19 This patch implements the Linux rseq syscall as ENOSYS while a proper fix is being worked on as desribed in the patch commit log. (From OE-Core rev: 6ca008072df0371b6b1cfdd7030da6494ff012bd) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-06valgrind: remove unneeded patchAlexander Kanavin
Whatever the issues were all those years ago, current valgrind builds ok on qemux86_64 and qemuppc. (From OE-Core rev: 4691b0566319797ab98b81e8e93c4615704edb70) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-11valgrind: submit patch upstreamAlexander Kanavin
(From OE-Core rev: abc2ae3d1694e5aa393e7c28d238e90ce4f517bd) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-07valgrind: mark ptest-specific patch as inappropriateAlexander Kanavin
I do not think upstream is going to accept this; if you disagree please do the submission. (From OE-Core rev: 22b0bd6cfdbf7216a6aca34fa9ca93133a3cee64) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-23valgrind: update 3.17.0 -> 3.18.1Alexander Kanavin
(From OE-Core rev: da8f9c5e1ebe655a1a8e9935dd6560121bca2e74) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-12valgrind: skip broken ptests for glibc 2.34Tony Tascioglu
Skip tests that are problematic for glibc-2.34. The list of problematic ptests was found by Richard after patching several to work with the new glibc version. https://bugzilla.yoctoproject.org/show_bug.cgi?id=14500 (From OE-Core rev: c177c7f9ef6f90ca49074f003accb8e9a1a645aa) Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-05valgrind: Add patches for glibc 2.34 supportRichard Purdie
This partially resolves ptest failures with glibc 2.34. (From OE-Core rev: 9adf897176924cad6b12d4da73a904cfbf578f46) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-16valgrind: skip flaky ptest fb_test_amd64Tony Tascioglu
Recently, the none/tests/amd64/fb_test_amd64 test had been flaky and causing failures on the auto-builder. Until we can get to the root cause of the issue, we are going to skip the test to reduce the noise from the ptests. (From OE-Core rev: a365cd7a358db96791033e6dc6e45d2e816d3e4c) Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-17valgrind: Actually install list of non-deterministic ptestsTony Tascioglu
Install list of non-deterministic threaded ptests to be run using taskset to force them to a single core. This commit works with b318944d7, which updated the testing script to run the non-deterministic tests separately but didn't install the list of tests, so these tests were being run without taskset. The taskset_nondeterministic_tests file is the list of tests that will be run separately with taskset, and ignored during the other tests. This is installed to /usr/lib/valgrind/ptest similar to the 2 existing lists for tests to skip on ARM and all architectures. Removed bar_bad and bar_bad_xml to be included separately as they cause issues on non-kvm QEMU instances. See: b318944dd7 valgrind: Improve non-deterministic ptest reliability for more info. (From OE-Core rev: 3d23985d0d653844863ed513d75d93a36359992f) Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-12valgrind: remove buggy ptest from arm64Tony Tascioglu
This commit removes the stack_changes ptest from aarch64 devices. This test is buggy and fails almost 100% of the time in qemuarm64. In general, many of the valgrind tests are more likely to fail on qemuarm64 vs native x86_64. This test previously worked on gatesgarth and dunfell, but has been failing since hardknott. It might be due to a recent change in the cross-compiler or glibc. The test runs fine when running natively on arm on a Raspberry Pi. Until we can find the root cause for the failures, this shorter term solution should clear up some of the noise from the autobuilder from a known failure. (From OE-Core rev: 82d6411b80a46d8ec0258ca75c3c80dc6128d44e) Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-06valgrind: Improve non-deterministic ptest reliabilityTony Tascioglu
Several of the valgrind tests (particulaly helgrind) are unreliable and can fail with a different output. Particularly, there is a higher chance of failure on QEMU instances with SMP enabled and on systems with more interrupts such as laptops on powersave. The tests have been reported upstream as being unreliable dating back over 5 years, due in part to the ordering of threads during an "unwinding" process in helgrind. https://bugs.kde.org/show_bug.cgi?id=345121 https://bugs.kde.org/show_bug.cgi?id=430321 A workaround to improve the reliability of such tests is to force them to run on a single CPU core using taskset. This greatly reduces the chance of a failure. >From my testing, I have found it can help reduce the rate of failures on both a laptop and QEMU by over 5x. Stress-testing in QEMU for several hours did not result in a failure while running the test normally did. The flaky or undeterministic thread-based tests are defined in the taskset_nondeterministic_tests file. These test cases will be run with taskset 0x00000001 to run on a single CPU core rather then the regular test. The edited run-ptest executes the flaky tests first, then ignores them to not duplicate the results from the main tests. Everything modified is restored when testing is complete. The drawback is that this isn't a foolproof solution. It helps the tests fail much less frequently, and considering how this issue has been documented for a long time, a workaround such as this is needed. (From OE-Core rev: b318944dd72ca7b0408e955f3599381ab3ac3ba8) Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23valgrind: Enable drd/tests/bar_bad* ptestYi Fan Yu
Revert some of 7f7d2fa18267090891754d976cbc3e628324d3dd Was not able to reproduce the reported non-deterministic failure. (ran 20 times on qemux86-64 on a relatively isolated machine) it might be related to the AB-INT issues, but it seems to only affect ARM builders now. Also no action taken by upstream valgrind to fix https://bugs.kde.org/show_bug.cgi?id=430321 Let it run on AB to see if failure was fixed by uprev to 3.17.0. if not, we can gather more data from the AB failure. [YOCTO #14051] (From OE-Core rev: c0ea23832a96352d8eeda5cebc9d37a22c5d5439) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18valgrind: Fix ptest swapcontext.vgtestYi Fan Yu
Backport an upstream patch. to limit the amount of stackstrace present. Revert "valgrind: Disable ptest swapcontext.vgtest" Effectively reverts commit 9dff5766f5795bb02677050045f24365f68bbc1a. [YOCTO #14324] (From OE-Core rev: a9baae5994354ba6410793f8a54e224e9dc21b5a) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18valgrind: Disable ptest swapcontext.vgtestYi Fan Yu
New test introduced in valgrind 3.17.0. Test fails on both qemuarm64 and qemux64. [YOCTO #14324] (From OE-Core rev: 2c21e5dda1d88280be3062eabb8c2788ff543600) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18valgrind: update 3.16.1 -> 3.17.0Yi Fan Yu
Notable changes: * library is now in libexecdir instead of libdir Added patches: * Add musl.supp: missing musl.supp in 3.17.0 Dropped backport patches: * nlcontrolc: found in c79180a3afcf65902e578646c3b716cc749db406 * drd Fedora33: found in 15330adf7c2471fbaa6a0818db07078d81dbff97 * lmw lswi ppc64le: found in 74b74174d572fee4015b8f4e326db3cd949bcdc3 Other dropped patches * helgrind intercept: found in d2d54dbcc74244adfc0c80b40862edf2b82f53b9 * drd musl fix: found in d2d54dbcc74244adfc0c80b40862edf2b82f53b9 TESTING RESULTS: qemux86-64: FAIL: drd/tests/swapcontext 3.17.0 3.16.1 =================== TOTAL: 736 726 PASSED: 694 688 FAILED: 1 0 SKIPPED: 41 38 (From OE-Core rev: 7c8c04ad933be38a806da355158c1e13e2c1b84c) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-05valgrind: print failed ptest detailsYi Fan Yu
Some intermittent failures in valgrind are hard reproduce. Printing the difference between actual and expected will make understanding them slightly easier. [YOCTO #14294] (From OE-Core rev: 099313ef541920d4a84b801d9d8788a56ba7ec61) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-23valgrind: Fix ptests on ppc64 LEKhem Raj
Backport a patch to avoid lsw/lmw instructions (From OE-Core rev: 834923cbf36d028da56208ad1e2a1b8623a88bd7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-10valgrind: Fix nlcontrolc.vgtestYi Fan Yu
Backport a recent upstream patch that redesigned the test. It's now enabled for both x86-64 and arm. [YOCTO #14223] (From OE-Core rev: 64f98a731adaf86c9185c90436db1a6eb8e16b42) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-27valgrind: Increase timeout duration 30 -> 90 sYi Fan Yu
Attempt to fix intermittent failure of `drd/tests/std_list` Locally tested to take around 45 s on qemuarm64 [YOCTO #14228] (From OE-Core rev: aac00b1c8042e41cd6bb1aea8e3033a1c6dd2b05) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-19valgrind: Remove reference to non-existent ptestsYi Fan Yu
exp-dhat: commit 441bfc5f5 promoted exp-dhat to dhat exp-sgcheck: commit 40187fcd6 removed the exp-sgcheck tool. (From OE-Core rev: f7b32e0d5bb9c80f6b37ed8b7f0bd29c562d3f70) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-18valgrind: Disable ptest nlcontrolc for x86-64Yi Fan Yu
Test hangs after glibc 2.33 uprev. Using gdb `p t[0]` to modify the timeout argument no longer affects how long `select` wait. https://bugs.kde.org/show_bug.cgi?id=432870 [YOCTO #14223] (From OE-Core rev: bb991a24952ebf02cf0092c194d2b3a54a8b2e5b) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-18valgrind: exclude bar_bad/bar_bad_xml from ptestsAlexander Kanavin
The tests' output is non-deterministic and sometimes doesn't match the sample output. This has been reported at https://bugs.kde.org/show_bug.cgi?id=430321 (see also an earlier related bug https://bugs.kde.org/show_bug.cgi?id=358213) Until upstream figures out how to fix this, let's not run the tests. (From OE-Core rev: 7f7d2fa18267090891754d976cbc3e628324d3dd) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24valgrind: helgrind: Intercept libc functionsStacy Gaikovaia
PTH_FUNC definition needs to be modified in order to intercept posix thread functions in both libc and libpthread. In order to handle this in helgrind, weak alias the pthread functions in glibc. Include a special case for musl. See https://bugs.kde.org/show_bug.cgi?id=428909 for additional discussion. Upstream-Status: Submitted (From OE-Core rev: 5da46a552d54de34a5243e1d90dcc6f52b7af746) Signed-off-by: Paul Floyd <paulf@free.fr> Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-26valgrind: Fix build on musl after drd fixesRichard Purdie
(From OE-Core rev: 6a74caa115298e594ae22a9de91b132db62e4b5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-26valgrind: drd: fix pthread intercept test failuresStacy Gaikovaia
After glibc uprev 2.31 -> 2.32, the following drd ptests fail with the error "condition variable has not been initialized". drd/tests/annotate_hb_err drd/tests/annotate_sem drd/tests/annotate_rwlock drd/tests/annotate_order_2 drd/tests/annotate_smart_pointer drd/tests/annotate_spinlock drd/tests/monitor_example drd/tests/pth_cond_race drd/tests/pth_inconsistent_cond_wait In glibc 2.32, the POSIX thread functions are in both libc and libpthread, causing valgrind to misinterpert test behaviour. This patch tells valgrind to intercept both the libc and the libpthread functions, resolving these ptest failures. Here are the latest test results on qemux86-64: === Test Summary === TOTAL: 728 PASSED: 688 FAILED: 1 SKIPPED: 39 The failed test is in helgrind: FAIL: helgrind/tests/pth_destroy_cond Patch can be removed once we uprev valgrind. See valgrind commit 15330adf7c2471fbaa6a0818db07078d81dbff97. (From OE-Core rev: e8f265e957e187b4f84f566aaeec8f514e3044d6) Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-17valgrind: fix memcheck vgtests remove fullpath-after flagsStacy Gaikovaia
Previously in: f75792b28e valgrind: make a few more ptests pass the vagrind test runner was adjusted to suppress part of a path that only exists when run in the yocto ptest environment. Unfortunately this change includes the valgrind version and when valgrind was last updated, the patch was not changed. Rather than continually updating the patch or even generating the version dynamically, we can simply change the expected output for two tests. The reason the option: --fullpath-after=foo was introduced into the effected valgrind ptests was to deal with builds where ccache is used. Compiling with ccache enabled sometimes causes the source file absolute name to be found in a full path that is not the same as $PWD. See commit c80f32e662dfa2a4f046960a25d5b8b7a8821bea in valgrind for more information about changes to the arguments that test badfree3 and varinfo5 run with. There is also a minor fix to add the missing overloading.pm perl package and put the dependencies in alphabetic order. (From OE-Core rev: 9c82b9302c6ee84864e9a9cc870729395804e794) Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04valgrind: upgrade 3.15.0 -> 3.16.0Wang Mingyu
0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch 0001-tests-Make-pthread_detatch-call-portable-across-plat.patch 0004-pth_atfork1.c-Define-error-API-for-musl.patch removed since they are included in 3.16.0 refresh 0004-Fix-out-of-tree-builds.patch -License-Update: before: You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. after: You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. (From OE-Core rev: a627a350cf3db99a63d6be2701957e3de0654370) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-18valgrind: Backport upstream patch to fix __getauxval needsKhem Raj
Drop disabling outline-atomics since that was added to fix this issue in particular (From OE-Core rev: 702a1ae29c6a0f920bd67b7a7a41b886ac52a751) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11valgrind: Fix timerfd syscall test to be 64bit time_t safeKhem Raj
This helps compile the testcase with musl on 32bit arches (From OE-Core rev: ac5a65cb5fdb315df2cb016d0cc5c3389c7971f0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>