Re: Valgrind-3.23.0.RC2 is available for testing

Simon Sobisch <[email protected]> Thu, 25 Apr 2024 16:39:27 +0200
Newsgroups gmane.comp.debugging.valgrind
Message-ID <[email protected]>
1. Several failing tests because of sed and ps usage. With

sed --version
This is not GNU sed version 4.0
BusyBox v1.35.0 (2022-11-19 10:13:10 UTC) multi-call binary.

There are a bunch of

	sed: unsupported command ,

messages during "make regtest" so the result is not usable

similar with ps
BusyBox v1.35.0 (2022-11-19 10:13:10 UTC) multi-call binary.

raising
	ps: unrecognized option: p


Ideally configure would check for the used options and raise a warning 
that the tests cannot be run, "make regtest" and friends could run a 
pre-target that tries to execute those tools as well.


2.  Two failing tests on Debian with AMD Ryzen:

== 895 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 
0 stdoutB failures, 0 post failures ==
memcheck/tests/x86-linux/scalar          (stderr)
none/tests/scripts/shell                 (stderr)



--- scalar.stderr.exp   2024-04-25 00:46:46.000000000 +0200
+++ scalar.stderr.out   2024-04-25 13:18:57.456992272 +0200
@@ -224,7 +224,7 @@
     ...
     by 0x........: main (scalar.c:97)
   Address 0x........ is on thread 1's stack
- in frame #1, created by main (scalar.c:29)
+ in frame #2, created by main (scalar.c:29)

  Syscall param execve(argv[0]) points to unaddressable byte(s)
     ...
@@ -255,7 +255,7 @@
     ...
     by 0x........: main (scalar.c:100)
   Address 0x........ is on thread 1's stack
- in frame #1, created by main (scalar.c:29)
+ in frame #2, created by main (scalar.c:29)

  Syscall param execve(envp[i]) points to unaddressable byte(s)
     ...
@@ -404,3828 +404,4 @@
  -----------------------------------------------------
   24:         __NR_getuid 0s 0m
  -----------------------------------------------------
------------------------------------------------------
- 25:          __NR_stime n/a
------------------------------------------------------
[more]
-
+scalar: scalar.c:152: main: Assertion `-1 != res' failed.

and

--- shell.stderr.exp    2024-04-25 00:46:46.000000000 +0200
+++ shell.stderr.out    2024-04-25 13:26:20.796944128 +0200
@@ -1,8 +1,8 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
+./shell: 10: ./x86/: Permission denied
+./shell: 13: ./shell.vgtest: Permission denied
  execve(0x........(./shell_badinterp), 0x........, 0x........) failed, 
errno 2
  EXEC FAILED: I can't recover from execve() failing, so I'm dying.
  Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+./shell: 19: ./shell_binaryfile: Exec format error
+./shell: 22: ./shell_nosuchfile: not found
+./shell: 25: shell_nosuchfile: Permission denied


3. compile warnings with clang on arm64 (in multiple files/positions 
with different arguments to the macros CALL_FN_W_W, CALL_FN_W_WW, 
CALL_FN_W_WWW and CALL_FN_W_WWWW):

warning: inline asm clobber list contains reserved registers: X18 
[-Winline-asm]
    74 |    CALL_FN_W_W(ret, fn, guard);
       |    ^
../include/valgrind.h:4339:10: note: expanded from macro 'CALL_FN_W_W'
  4339 |          VALGRIND_ALIGN_STACK                                     \
       |          ^
../include/valgrind.h:4304:7: note: expanded from macro 
'VALGRIND_ALIGN_STACK'
  4304 |       "mov x21, sp\n\t"                    \
       |       ^
note: Reserved registers on the clobber list may not be preserved across 
the asm statement, and clobbering them may lead to undefined behaviour.
../include/valgrind.h:4339:10: note: expanded from macro 'CALL_FN_W_W'
  4339 |          VALGRIND_ALIGN_STACK                                     \
       |          ^
../include/valgrind.h:4304:7: note: expanded from macro 
'VALGRIND_ALIGN_STACK'
  4304 |       "mov x21, sp\n\t"                    \
       |       ^

together with

m_coredump/coredump-elf.c:775:17: warning: variable 'name' set but not 
used [-Wunused-but-set-variable]
   775 |    const HChar* name;
       |                 ^
m_debuginfo/readdwarf3.c:3121:14: warning: variable 'n_attrs' set but 
not used [-Wunused-but-set-variable]
  3121 |       Int    n_attrs     = 0;



BTW - FYI: no failures on Rocky9 with some Intel processor