Subject: Re: [Breakage] 2.22.0-rc1 - t0211-trace2-perf.sh

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Tue, 21 May 2019 13:49:28 +0200

On Tue, May 21 2019, Randall S. Becker wrote:

> Hi All,
>
> On the NonStop platform, the entire test for t0211-trace2-perf.sh does not
> work. The first case, in verbose, reports:
>
> We get errors when the script is run:
>
> Use of uninitialized value within @tokens in pattern match (m//) at
> t0211/scrub_perf.perl line 29, <> line 1.

Could you intrument that test top "cat" the raw trace.perf you get?

That's some bug in the perl side of the parsing.

But the real bug looks like the trace2 code unconditionally depending on
pthreads, even though NonStop has 'NO_PTHREADS = UnfortunatelyYes'
defined.

That's why we get this th%d:unknown stuff, the trace2/tr2_tls.c code
using pthreads is failing with whatever pthread-bizarro NonStop has.

That seems easy enough to "fix", just always fake up "main" if we don't
have pthreads, but perhaps Jeff H. has another opinion on it...

> Initialized empty Git repository in /home/git/git/t/trash
> directory.t0211-trace2-perf/.git/
> expecting success:
>         test_when_finished "rm trace.perf actual expect" &&
>         GIT_TR2_PERF="$(pwd)/trace.perf" test-tool trace2 001return 0 &&
>         perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" <trace.perf >actual &&
>         cat >expect <<-EOF &&
>                 d0|main|version|||||$V
>                 d0|main|start||_T_ABS_|||_EXE_ trace2 001return 0
>                 d0|main|cmd_name|||||trace2 (trace2)
>                 d0|main|exit||_T_ABS_|||code:0
>                 d0|main|atexit||_T_ABS_|||code:0
>         EOF
>         test_cmp expect actual
>
> --- expect      2019-05-21 10:38:47 +0000
> +++ actual      2019-05-21 10:38:47 +0000
> @@ -1,5 +1,5 @@
> -d0|main|version|||||2.22.0.rc1
> -d0|main|start||_T_ABS_|||_EXE_ trace2 001return 0
> -d0|main|cmd_name|||||trace2 (trace2)
> -d0|main|exit||_T_ABS_|||code:0
> -d0|main|atexit||_T_ABS_|||code:0
> +d0|th01:unknown|version|||||2.22.0.rc1
> +d0|th02:unknown|start||_T_ABS_|||_EXE_ trace2 001return 0
> +d0|th03:unknown|cmd_name|||||trace2 (trace2)
> +d0|th04:unknown|exit||_T_ABS_|||code:0
> +d0|th06:unknown|atexit||_T_ABS_|||code:0
>
> Our perl is v5.24.0 and this cannot be upgraded.
>
> Thoughts?
>
> Randall
>
> -- Brief whoami:
>  NonStop developer since approximately 211288444200000000
>  UNIX developer since approximately 421664400
> -- In my real life, I talk too much.