From: Mark W. <ma...@so...> - 2025-05-19 19:44:47
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=2e710aff2cc7dd5cf4d3db4d647c7c119fbb0abe commit 2e710aff2cc7dd5cf4d3db4d647c7c119fbb0abe Author: Paul Floyd <pj...@wa...> Date: Fri May 16 21:32:02 2025 +0200 FreeBSD regtest: updates for FreeBSD 15.0-CURRENT Mostly minor expected/filter changes. Helgrind did detect a race condition in a Valgrind file static variable. Teh DRD dlopen test needs to be linked with the thread library. In a VirtualBox environment I'm getting 4 hanging testcases (3 in gdbserver_tests and none/freebsd/bug452274). (cherry picked from commit 8dbf86733e76d30c194f5321a72c6b44f1055e20) Diff: --- drd/tests/Makefile.am | 4 +++- freebsd-helgrind.supp | 7 ++++++- helgrind/tests/Makefile.am | 1 + helgrind/tests/filter_fiw | 8 ++++++++ helgrind/tests/free_is_write.stderr.exp | 2 +- helgrind/tests/free_is_write.vgtest | 1 + memcheck/tests/Makefile.am | 2 +- memcheck/tests/filter_sendmsg | 5 +++++ memcheck/tests/sendmsg.stderr.exp | 2 +- memcheck/tests/sendmsg.stderr.exp-freebsd | 7 +++---- memcheck/tests/sendmsg.stderr.exp-freebsd-x86 | 20 -------------------- memcheck/tests/sendmsg.stderr.exp-solaris | 2 +- memcheck/tests/sendmsg.vgtest | 1 + none/tests/fdleak_cmsg_supp.supp | 2 +- 14 files changed, 33 insertions(+), 31 deletions(-) diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index e2030ad157..7fa1611a97 100755 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -550,7 +550,9 @@ bug322621_SOURCES = bug322621.cpp condvar_SOURCES = condvar.cpp condvar_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x concurrent_close_SOURCES = concurrent_close.cpp -if !VGCONF_OS_IS_FREEBSD +if VGCONF_OS_IS_FREEBSD +dlopen_main_LDADD = ${LDADD} +else dlopen_main_LDADD = -ldl endif dlopen_lib_so_SOURCES = dlopen_lib.c diff --git a/freebsd-helgrind.supp b/freebsd-helgrind.supp index dd998f15c5..1a6f372492 100644 --- a/freebsd-helgrind.supp +++ b/freebsd-helgrind.supp @@ -238,4 +238,9 @@ Helgrind:Race fun:thr_exit } - +# sigh, this is our own variable in coregrind/m_replacemalloc/vg_replace_malloc.c +{ + FREEBSD15-AMD64-MALLOC + Helgrind:Race + fun:malloc +} diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am index 7adc5c6021..a299a226b3 100755 --- a/helgrind/tests/Makefile.am +++ b/helgrind/tests/Makefile.am @@ -5,6 +5,7 @@ dist_noinst_SCRIPTS = \ filter_stderr_solaris \ filter_helgrind \ filter_xml \ + filter_fiw \ filter_freebsd.awk \ filter_stderr_freebsd \ filter_bug392331 diff --git a/helgrind/tests/filter_fiw b/helgrind/tests/filter_fiw new file mode 100755 index 0000000000..9ff7ae79a5 --- /dev/null +++ b/helgrind/tests/filter_fiw @@ -0,0 +1,8 @@ +#! /bin/sh + +# free_is_write may have different arena sizes + +./filter_stderr "$@" | + +sed 's/size [^ ]* in arena/size ... in arena/' + diff --git a/helgrind/tests/free_is_write.stderr.exp b/helgrind/tests/free_is_write.stderr.exp index daa327ce01..5d05242aca 100644 --- a/helgrind/tests/free_is_write.stderr.exp +++ b/helgrind/tests/free_is_write.stderr.exp @@ -23,7 +23,7 @@ Locks held: none This conflicts with a previous read of size 1 by thread #x Locks held: none at 0x........: main (free_is_write.c:36) - Address 0x........ is 5 bytes inside an unallocated block of size 16 in arena "client" + Address 0x........ is 5 bytes inside an unallocated block of size ... in arena "client" Done. diff --git a/helgrind/tests/free_is_write.vgtest b/helgrind/tests/free_is_write.vgtest index 5ba9d3423e..1e68c6054e 100644 --- a/helgrind/tests/free_is_write.vgtest +++ b/helgrind/tests/free_is_write.vgtest @@ -1,2 +1,3 @@ prog: free_is_write vgopts: --free-is-write=yes +stderr_filter: filter_fiw diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am index bdaa9d761e..1ad475f540 100644 --- a/memcheck/tests/Makefile.am +++ b/memcheck/tests/Makefile.am @@ -86,6 +86,7 @@ dist_noinst_SCRIPTS = \ filter_varinfo3 \ filter_memcheck \ filter_malloc_free \ + filter_sendmsg \ filter_size_t \ filter_stanza \ filter_stanza.awk \ @@ -381,7 +382,6 @@ EXTRA_DIST = \ sem.stderr.exp sem.vgtest \ sendmsg.stderr.exp sendmsg.stderr.exp-solaris sendmsg.vgtest \ sendmsg.stderr.exp-freebsd \ - sendmsg.stderr.exp-freebsd-x86 \ sh-mem.stderr.exp sh-mem.vgtest \ sh-mem-random.stderr.exp sh-mem-random.stdout.exp64 \ sh-mem-random.stdout.exp sh-mem-random.vgtest \ diff --git a/memcheck/tests/filter_sendmsg b/memcheck/tests/filter_sendmsg new file mode 100755 index 0000000000..c11650dd08 --- /dev/null +++ b/memcheck/tests/filter_sendmsg @@ -0,0 +1,5 @@ +#! /bin/sh + +./filter_stderr "$@" | +sed -e "s/frame #./frame #.../" \ + -e "/by 0x........: sendmsg (in \/...libc...)/d" diff --git a/memcheck/tests/sendmsg.stderr.exp b/memcheck/tests/sendmsg.stderr.exp index 397a57996c..1268300b2b 100644 --- a/memcheck/tests/sendmsg.stderr.exp +++ b/memcheck/tests/sendmsg.stderr.exp @@ -2,6 +2,6 @@ Syscall param sendmsg(msg) points to uninitialised byte(s) at 0x........: sendmsg (in /...libc...) by 0x........: main (sendmsg.c:46) Address 0x........ is on thread 1's stack - in frame #1, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) sendmsg: 6 diff --git a/memcheck/tests/sendmsg.stderr.exp-freebsd b/memcheck/tests/sendmsg.stderr.exp-freebsd index 7cf17e625e..d65f86f055 100644 --- a/memcheck/tests/sendmsg.stderr.exp-freebsd +++ b/memcheck/tests/sendmsg.stderr.exp-freebsd @@ -2,19 +2,18 @@ Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte( ... by 0x........: main (sendmsg.c:29) Address 0x........ is on thread 1's stack - in frame #1, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) Syscall param sendmsg(sendmsg) points to uninitialised byte(s) at 0x........: _sendmsg (in /...libc...) - by 0x........: sendmsg (in /...libc...) by 0x........: main (sendmsg.c:46) Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte(s) ... by 0x........: main (sendmsg.c:59) Address 0x........ is on thread 1's stack - in frame #1, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) sendmsg: 6 diff --git a/memcheck/tests/sendmsg.stderr.exp-freebsd-x86 b/memcheck/tests/sendmsg.stderr.exp-freebsd-x86 deleted file mode 100644 index 9aafb02afd..0000000000 --- a/memcheck/tests/sendmsg.stderr.exp-freebsd-x86 +++ /dev/null @@ -1,20 +0,0 @@ -Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte(s) - ... - by 0x........: main (sendmsg.c:29) - Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) - -Syscall param sendmsg(sendmsg) points to uninitialised byte(s) - at 0x........: _sendmsg (in /...libc...) - by 0x........: sendmsg (in /...libc...) - by 0x........: main (sendmsg.c:46) - Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) - -Syscall param socketcall.connect(serv_addr.sa_len) points to uninitialised byte(s) - ... - by 0x........: main (sendmsg.c:59) - Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) - -sendmsg: 6 diff --git a/memcheck/tests/sendmsg.stderr.exp-solaris b/memcheck/tests/sendmsg.stderr.exp-solaris index f00e76e402..3ef45c16ad 100644 --- a/memcheck/tests/sendmsg.stderr.exp-solaris +++ b/memcheck/tests/sendmsg.stderr.exp-solaris @@ -3,6 +3,6 @@ Syscall param sendmsg(msg) points to uninitialised byte(s) by 0x........: __xnet_sendmsg (in /...libc...) by 0x........: main (sendmsg.c:46) Address 0x........ is on thread 1's stack - in frame #2, created by main (sendmsg.c:13) + in frame #..., created by main (sendmsg.c:13) sendmsg: 6 diff --git a/memcheck/tests/sendmsg.vgtest b/memcheck/tests/sendmsg.vgtest index f252b62b95..562fc968fe 100644 --- a/memcheck/tests/sendmsg.vgtest +++ b/memcheck/tests/sendmsg.vgtest @@ -1,2 +1,3 @@ prog: sendmsg vgopts: -q +stderr_filter: filter_sendmsg diff --git a/none/tests/fdleak_cmsg_supp.supp b/none/tests/fdleak_cmsg_supp.supp index 95f0a31de6..cc0daca187 100644 --- a/none/tests/fdleak_cmsg_supp.supp +++ b/none/tests/fdleak_cmsg_supp.supp @@ -52,7 +52,7 @@ sup5 CoreError:FdNotClosed ... - fun:recvmsg + fun:*recvmsg fun:client fun:main } |