Re: [PATCH 2/2] perf/test: Fix perf test 89 on x86

From: Arnaldo Carvalho de Melo
Date: Tue Dec 13 2022 - 09:47:08 EST


Em Tue, Dec 13, 2022 at 11:57:29AM +0100, Thomas Richter escreveu:
> perf test '89: probe libc's inet_pton & backtrace it with ping'
> fails on x86. Debugging revealed a changed stack trace for the
> ping command using probes:
>
> ping 35729 [002] 8006.365063: probe_libc:inet_pton: (3ff9603e7c0)
> 12be50 __GI___inet_pton+0x0 (/usr/lib64/libc.so.6)
> 4fca main+0x139b (/usr/bin/ping)
>
> The line getaddrinfo.... in the call stack is gone.
> It was introduced with glibc version 2.36.8 released
> with Fedora 37.
>
> Output before on x86
> # ./perf test 89
> 89: probe libc's inet_pton & backtrace it with ping : FAILED!
> #
>
> Output after on x86:
> # ./perf test 89
> 89: probe libc's inet_pton & backtrace it with ping : Ok
> #

Not having at the current state of that script, that $expected may be a
subset of the actual backtrace, i.e. will this continue working with
the systems where that getaddrinfo line appear?

- Arnaldo

> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
> ---
> tools/perf/tests/shell/record+probe_libc_inet_pton.sh | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> index 0f01c62cbee9..51ae8b906055 100755
> --- a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> +++ b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> @@ -50,7 +50,6 @@ trace_libc_inet_pton_backtrace() {
> ;;
> *)
> eventattr='max-stack=3'
> - echo "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc\)$" >> $expected
> echo ".*(\+0x[[:xdigit:]]+|\[unknown\])[[:space:]]\(.*/bin/ping.*\)$" >> $expected
> ;;
> esac
> --
> 2.38.1

--

- Arnaldo