* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.