* [PATCH 0/5] valgrind: ptests
@ 2021-12-30 1:37 Randy MacLeod
2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
Tested on khem's glibc upgrade branch:
https://git.yoctoproject.org/poky-contrib/log/?h=kraj/poky-next
and poky master (
9b99eb9e36 tzdata: Remove no longer relevant RCONFLICTS:${PN}
Summary:
Work-around a glibc upgrade error in a way that also works for glibc-2.34 on master.
Fix up some ptest warnings and temporarily skip the boost_thread test for arm64.
Results:
On the branch currently known as master, the ptest summary is:
qemux86-64:
=== Test Summary ===
TOTAL: 730
PASSED: 711
FAILED: 0
SKIPPED: 19
DURATION: 1052
END: /usr/lib/valgrind/ptest
2021-12-29T23:12
STOP: ptest-runner
TOTAL: 1 FAIL: 0
qemuarm64:
TOTAL: 415
PASSED: 395
FAILED: 0
SKIPPED: 20
DURATION: 4521
END: /usr/lib/valgrind/ptest
2021-12-30T00:33
STOP: ptest-runner
TOTAL: 1 FAIL: 0
and the output from running: ptest-runner valgrind has no superfluous warnings:
root@qemuarm64:~# ptest-runner -l
Available ptests:
strace /usr/lib/strace/ptest/run-ptest
valgrind /usr/lib/valgrind/ptest/run-ptest
root@qemuarm64:~# ptest-runner valgrind
START: ptest-runner
2021-12-29T23:18
BEGIN: /usr/lib/valgrind/ptest
Hide valgrind tests that are non-deterministic
Reported at https://bugs.kde.org/show_bug.cgi?id=430321
Aarch64: Hide valgrind tests that result in defunct process and then out of memory
Run non-deterministic tests using taskset to limit them to a single core.
PASS: gdbserver_tests/mcblocklistsearch
PASS: gdbserver_tests/mcbreak
...
PASS: none/tests/vgprintf
PASS: none/tests/vgprintf_nvalgrind
...checking makefile consistency
...checking header files and include directives
Restore non-deterministic tests
Aarch64: Restore valgrind tests that result in defunct process and then out of memory
Restore valgrind tests that are non-deterministc
Failed test details...
=== Test Summary ===
TOTAL: 415
PASSED: 395
FAILED: 0
SKIPPED: 20
DURATION: 4521
END: /usr/lib/valgrind/ptest
2021-12-30T00:33
STOP: ptest-runner
TOTAL: 1 FAIL: 0
../Randy
Randy MacLeod (5):
valgrind: Add util-linux-taskset ptest dependency
valgrind: backport rseq work-around
valgrind: remove duplicate and skipped tests from remove-for-aarch64
valgrind: skip boost_thread for aarch64 ptests
valgrind: make run-ptest better
...plement-linux-rseq-syscall-as-ENOSYS.patch | 198 ++++++++++++++++++
.../valgrind/valgrind/remove-for-aarch64 | 9 +-
.../valgrind/valgrind/run-ptest | 23 +-
.../valgrind/valgrind_3.18.1.bb | 4 +-
4 files changed, 216 insertions(+), 18 deletions(-)
create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch
--
2.31.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency
2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod
@ 2021-12-30 1:37 ` Randy MacLeod
2021-12-30 1:37 ` [PATCH 2/5] valgrind: backport rseq work-around Randy MacLeod
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
We are using taskset to improve the reproducability of tests listed in:
meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests
so we need to have the ptests depend on util-linux-taskset.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
meta/recipes-devtools/valgrind/valgrind_3.18.1.bb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb
index e825f83d5c..d8f82a4100 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb
@@ -133,7 +133,8 @@ RDEPENDS:${PN}-ptest += " bash coreutils curl file \
perl-module-file-basename perl-module-file-glob perl-module-getopt-long \
perl-module-overloading perl-module-cwd perl-module-ipc-open3 \
perl-module-carp perl-module-symbol \
- procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg"
+ procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg \
+ util-linux-taskset"
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
# One of the tests contains a bogus interpreter path on purpose.
--
2.31.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/5] valgrind: backport rseq work-around
2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod
2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod
@ 2021-12-30 1:37 ` Randy MacLeod
2021-12-30 1:37 ` [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 Randy MacLeod
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
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.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
...plement-linux-rseq-syscall-as-ENOSYS.patch | 198 ++++++++++++++++++
.../valgrind/valgrind_3.18.1.bb | 1 +
2 files changed, 199 insertions(+)
create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch
new file mode 100644
index 0000000000..be1536980c
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch
@@ -0,0 +1,198 @@
+From 1024237358f01009fe233cb1294f3b8211304eaa Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mark@klomp.org>
+Date: Fri, 10 Dec 2021 17:41:59 +0100
+Subject: [PATCH] Implement linux rseq syscall as ENOSYS
+
+This implements rseq for amd64, arm, arm64, ppc32, ppc64,
+s390x and x86 linux as ENOSYS (without warning).
+
+glibc will start using rseq to accelerate sched_getcpu, if
+available. This would cause a warning from valgrind every
+time a new thread is started.
+
+Real rseq (restartable sequences) support is pretty hard, so
+for now just explicitly return ENOSYS (just like we do for clone3).
+
+Upstream-Status: Backport [ 1024237358f01009fe233cb1294f3b8211304eaa ]
+
+https://sourceware.org/pipermail/libc-alpha/2021-December/133656.html
+---
+ coregrind/m_syswrap/syswrap-amd64-linux.c | 2 ++
+ coregrind/m_syswrap/syswrap-arm-linux.c | 1 +
+ coregrind/m_syswrap/syswrap-arm64-linux.c | 3 ++-
+ coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 ++
+ coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 ++
+ coregrind/m_syswrap/syswrap-s390x-linux.c | 2 ++
+ coregrind/m_syswrap/syswrap-x86-linux.c | 2 ++
+ include/vki/vki-scnums-arm-linux.h | 1 +
+ include/vki/vki-scnums-arm64-linux.h | 4 +++-
+ include/vki/vki-scnums-ppc32-linux.h | 1 +
+ include/vki/vki-scnums-ppc64-linux.h | 1 +
+ include/vki/vki-scnums-s390x-linux.h | 5 ++++-
+ 12 files changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
+index 5062324a1..18b25f80a 100644
+--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
++++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
+@@ -862,6 +862,8 @@ static SyscallTableEntry syscall_table[] = {
+
+ LINXY(__NR_statx, sys_statx), // 332
+
++ GENX_(__NR_rseq, sys_ni_syscall), // 334
++
+ LINX_(__NR_membarrier, sys_membarrier), // 324
+
+ LINX_(__NR_copy_file_range, sys_copy_file_range), // 326
+diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
+index 556dd844b..d583cef0c 100644
+--- a/coregrind/m_syswrap/syswrap-arm-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm-linux.c
+@@ -1024,6 +1024,7 @@ static SyscallTableEntry syscall_main_table[] = {
+ LINX_(__NR_pwritev2, sys_pwritev2), // 393
+
+ LINXY(__NR_statx, sys_statx), // 397
++ GENX_(__NR_rseq, sys_ni_syscall), // 398
+
+ LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403
+ LINX_(__NR_clock_settime64, sys_clock_settime64), // 404
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index b87107727..2066a38ea 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -823,8 +823,9 @@ static SyscallTableEntry syscall_main_table[] = {
+ // (__NR_pkey_mprotect, sys_ni_syscall), // 288
+ // (__NR_pkey_alloc, sys_ni_syscall), // 289
+ // (__NR_pkey_free, sys_ni_syscall), // 290
++ LINXY(__NR_statx, sys_statx), // 291
+
+- LINXY(__NR_statx, sys_statx), // 397
++ GENX_(__NR_rseq, sys_ni_syscall), // 293
+
+ LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
+ LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
+diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
+index 6263ab845..637b2504e 100644
+--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
++++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
+@@ -1028,6 +1028,8 @@ static SyscallTableEntry syscall_table[] = {
+
+ LINXY(__NR_statx, sys_statx), // 383
+
++ GENX_(__NR_rseq, sys_ni_syscall), // 387
++
+ LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403
+ LINX_(__NR_clock_settime64, sys_clock_settime64), // 404
+
+diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
+index a26b41c32..93956d3cc 100644
+--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
++++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
+@@ -1019,6 +1019,8 @@ static SyscallTableEntry syscall_table[] = {
+
+ LINXY(__NR_statx, sys_statx), // 383
+
++ GENX_(__NR_rseq, sys_ni_syscall), // 387
++
+ LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
+ LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
+ LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
+diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
+index 5c9209859..73f9684c4 100644
+--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
++++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
+@@ -860,6 +860,8 @@ static SyscallTableEntry syscall_table[] = {
+
+ LINXY(__NR_statx, sys_statx), // 379
+
++ GENX_(__NR_rseq, sys_ni_syscall), // 381
++
+ LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
+ LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
+ LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
+diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
+index 1d8f45d33..8662ff501 100644
+--- a/coregrind/m_syswrap/syswrap-x86-linux.c
++++ b/coregrind/m_syswrap/syswrap-x86-linux.c
+@@ -1619,6 +1619,8 @@ static SyscallTableEntry syscall_table[] = {
+ /* Explicitly not supported on i386 yet. */
+ GENX_(__NR_arch_prctl, sys_ni_syscall), // 384
+
++ GENX_(__NR_rseq, sys_ni_syscall), // 386
++
+ LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403
+ LINX_(__NR_clock_settime64, sys_clock_settime64), // 404
+
+diff --git a/include/vki/vki-scnums-arm-linux.h b/include/vki/vki-scnums-arm-linux.h
+index ff560e19d..485db8b26 100644
+--- a/include/vki/vki-scnums-arm-linux.h
++++ b/include/vki/vki-scnums-arm-linux.h
+@@ -432,6 +432,7 @@
+ #define __NR_pkey_alloc 395
+ #define __NR_pkey_free 396
+ #define __NR_statx 397
++#define __NR_rseq 398
+
+
+
+diff --git a/include/vki/vki-scnums-arm64-linux.h b/include/vki/vki-scnums-arm64-linux.h
+index 9aa3b2b5f..acdfb39c6 100644
+--- a/include/vki/vki-scnums-arm64-linux.h
++++ b/include/vki/vki-scnums-arm64-linux.h
+@@ -323,9 +323,11 @@
+ #define __NR_pkey_alloc 289
+ #define __NR_pkey_free 290
+ #define __NR_statx 291
++#define __NR_io_pgetevents 291
++#define __NR_rseq 293
+
+ #undef __NR_syscalls
+-#define __NR_syscalls 292
++#define __NR_syscalls 294
+
+ ///*
+ // * All syscalls below here should go away really,
+diff --git a/include/vki/vki-scnums-ppc32-linux.h b/include/vki/vki-scnums-ppc32-linux.h
+index 6987ad941..08fa77df0 100644
+--- a/include/vki/vki-scnums-ppc32-linux.h
++++ b/include/vki/vki-scnums-ppc32-linux.h
+@@ -415,6 +415,7 @@
+ #define __NR_pkey_alloc 384
+ #define __NR_pkey_free 385
+ #define __NR_pkey_mprotect 386
++#define __NR_rseq 387
+
+ #endif /* __VKI_SCNUMS_PPC32_LINUX_H */
+
+diff --git a/include/vki/vki-scnums-ppc64-linux.h b/include/vki/vki-scnums-ppc64-linux.h
+index 6827964fd..a76fa6d32 100644
+--- a/include/vki/vki-scnums-ppc64-linux.h
++++ b/include/vki/vki-scnums-ppc64-linux.h
+@@ -407,6 +407,7 @@
+ #define __NR_pkey_alloc 384
+ #define __NR_pkey_free 385
+ #define __NR_pkey_mprotect 386
++#define __NR_rseq 387
+
+ #endif /* __VKI_SCNUMS_PPC64_LINUX_H */
+
+diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h
+index 6487e20c9..869c04584 100644
+--- a/include/vki/vki-scnums-s390x-linux.h
++++ b/include/vki/vki-scnums-s390x-linux.h
+@@ -342,8 +342,11 @@
+ #define __NR_s390_guarded_storage 378
+ #define __NR_statx 379
+ #define __NR_s390_sthyi 380
++#define __NR_kexec_file_load 381
++#define __NR_io_pgetevents 382
++#define __NR_rseq 383
+
+-#define NR_syscalls 381
++#define NR_syscalls 384
+
+ /*
+ * There are some system calls that are not present on 64 bit, some
+--
+2.30.2
+
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb
index d8f82a4100..7837034f92 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb
@@ -42,6 +42,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://s390x_vec_op_t.patch \
file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
+ file://0001-Implement-linux-rseq-syscall-as-ENOSYS.patch \
"
SRC_URI[sha256sum] = "00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5"
UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar"
--
2.31.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64
2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod
2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod
2021-12-30 1:37 ` [PATCH 2/5] valgrind: backport rseq work-around Randy MacLeod
@ 2021-12-30 1:37 ` Randy MacLeod
2021-12-30 1:37 ` [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests Randy MacLeod
2021-12-30 1:37 ` [PATCH 5/5] valgrind: make run-ptest better Randy MacLeod
4 siblings, 0 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
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
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
.../recipes-devtools/valgrind/valgrind/remove-for-aarch64 | 8 --------
1 file changed, 8 deletions(-)
diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
index 440e8bec31..ef48458c3b 100644
--- a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
+++ b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
@@ -32,7 +32,6 @@ drd/tests/annotate_trace_memory
drd/tests/annotate_trace_memory_xml
drd/tests/atomic_var
drd/tests/bar_bad
-drd/tests/bar_bad_xml
drd/tests/bar_trivial
drd/tests/bug-235681
drd/tests/bug322621
@@ -66,7 +65,6 @@ drd/tests/pth_barrier2
drd/tests/pth_barrier3
drd/tests/pth_barrier_race
drd/tests/pth_barrier_reinit
-drd/tests/pth_barrier_thr_cr
drd/tests/pth_broadcast
drd/tests/pth_cancel_locked
drd/tests/pth_cleanup_handler
@@ -109,7 +107,6 @@ drd/tests/tc05_simple_race
drd/tests/tc06_two_races
drd/tests/tc07_hbl1
drd/tests/tc08_hbl2
-drd/tests/tc09_bad_unlock
drd/tests/tc10_rec_lock
drd/tests/tc11_XCHG
drd/tests/tc12_rwl_trivial
@@ -174,7 +171,6 @@ helgrind/tests/tc21_pthonce
helgrind/tests/tc22_exit_w_lock
helgrind/tests/tc23_bogus_condwait
helgrind/tests/tc24_nonzero_sem
-helgrind/tests/tls_threads
memcheck/tests/accounting
memcheck/tests/addressable
memcheck/tests/arm64-linux/scalar
@@ -194,13 +190,11 @@ memcheck/tests/dw4
memcheck/tests/err_disable4
memcheck/tests/err_disable_arange1
memcheck/tests/leak-autofreepool-5
-memcheck/tests/leak_cpp_interior
memcheck/tests/linux/lsframe1
memcheck/tests/linux/lsframe2
memcheck/tests/linux/with-space
memcheck/tests/origin5-bz2
memcheck/tests/origin6-fp
-memcheck/tests/overlap
memcheck/tests/partial_load_dflt
memcheck/tests/pdb-realloc2
memcheck/tests/sh-mem
@@ -208,7 +202,6 @@ memcheck/tests/sh-mem-random
memcheck/tests/sigaltstack
memcheck/tests/sigkill
memcheck/tests/signal2
-memcheck/tests/supp_unknown
memcheck/tests/threadname
memcheck/tests/threadname_xml
memcheck/tests/unit_oset
@@ -236,5 +229,4 @@ memcheck/tests/wrapmallocstatic
memcheck/tests/writev1
memcheck/tests/xml1
memcheck/tests/linux/stack_changes
-gdbserver_tests/hginfo
memcheck/tests/linux/timerfd-syscall
--
2.31.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests
2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod
` (2 preceding siblings ...)
2021-12-30 1:37 ` [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 Randy MacLeod
@ 2021-12-30 1:37 ` Randy MacLeod
2021-12-30 1:37 ` [PATCH 5/5] valgrind: make run-ptest better Randy MacLeod
4 siblings, 0 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
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.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
index ef48458c3b..887bfd2766 100644
--- a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
+++ b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
@@ -33,6 +33,7 @@ drd/tests/annotate_trace_memory_xml
drd/tests/atomic_var
drd/tests/bar_bad
drd/tests/bar_trivial
+drd/tests/boost_thread
drd/tests/bug-235681
drd/tests/bug322621
drd/tests/circular_buffer
--
2.31.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/5] valgrind: make run-ptest better
2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod
` (3 preceding siblings ...)
2021-12-30 1:37 ` [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests Randy MacLeod
@ 2021-12-30 1:37 ` Randy MacLeod
4 siblings, 0 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
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.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
---
.../valgrind/valgrind/run-ptest | 23 +++++++++++--------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/meta/recipes-devtools/valgrind/valgrind/run-ptest b/meta/recipes-devtools/valgrind/valgrind/run-ptest
index caeae84d4f..15cf03f9d2 100755
--- a/meta/recipes-devtools/valgrind/valgrind/run-ptest
+++ b/meta/recipes-devtools/valgrind/valgrind/run-ptest
@@ -32,13 +32,16 @@ if [ "$arch" = "aarch64" ]; then
done
fi
-echo "Run flaky tests using taskset to limit them to a single core."
+echo "Run non-deterministic tests using taskset to limit them to a single core."
for i in `cat taskset_nondeterministic_tests`; do
- taskset 0x00000001 perl tests/vg_regtest --valgrind=${VALGRIND_BIN} --valgrind-lib=${VALGRIND_LIBEXECDIR} --yocto-ptest $i 2>&1|tee -a ${LOG}
- mv $i.vgtest $i.IGNORE
+ # The remove-for-aarch64 and taskset_nondeterministic_tests may overlap so
+ # check if a file exist.
+ if test -f "${i}.vgtest"; then
+ taskset 0x00000001 perl tests/vg_regtest --valgrind=${VALGRIND_BIN} --valgrind-lib=${VALGRIND_LIBEXECDIR} --yocto-ptest $i 2>&1|tee -a ${LOG}
+ mv $i.vgtest $i.IGNORE
+ fi
done
-
cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \
--valgrind=${VALGRIND_BIN} \
--valgrind-lib=${VALGRIND_LIBEXECDIR} \
@@ -51,6 +54,13 @@ cd ${VALGRIND_LIB}/ptest && \
gdbserver_tests ${TOOLS} ${EXP_TOOLS} \
2>&1|tee -a ${LOG}
+echo "Restore non-deterministic tests"
+for i in `cat taskset_nondeterministic_tests`; do
+ if test -f "${i}.vgtest.IGNORE"; then
+ mv $i.IGNORE $i.vgtest;
+ fi
+done
+
if [ "$arch" = "aarch64" ]; then
echo "Aarch64: Restore valgrind tests that result in defunct process and then out of memory"
for i in `cat remove-for-aarch64`; do
@@ -63,11 +73,6 @@ for i in `cat remove-for-all`; do
mv $i.IGNORE $i.vgtest;
done
-echo "Restore flaky and other non-deterministic tests"
-for i in `cat taskset_nondeterministic_tests`; do
- mv $i.IGNORE $i.vgtest;
-done
-
echo "Failed test details..."
failed_tests=`grep FAIL: ${LOG} | awk '{print $2}'`
for test in $failed_tests; do
--
2.31.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-12-30 1:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod
2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod
2021-12-30 1:37 ` [PATCH 2/5] valgrind: backport rseq work-around Randy MacLeod
2021-12-30 1:37 ` [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 Randy MacLeod
2021-12-30 1:37 ` [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests Randy MacLeod
2021-12-30 1:37 ` [PATCH 5/5] valgrind: make run-ptest better Randy MacLeod
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox