threads / discuss / 51140

[Breakage] 2.22.0-rc1 - t0211-trace2-perf.sh

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

## tl;dr

5 messages between May 21, 2019 and May 21, 2019.

replies: 4people: 4as markdown or json

Randall S. Becker· May 21, 2019, 10:44 UTC · lore
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.

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.
Ævar Arnfjörð Bjarmason· May 21, 2019, 11:49 UTC · re: Randall S. Becker · lore

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

On Tue, May 21 2019, Randall S. Becker wrote:
Show 9 quoted lines
> 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...

Show 39 quoted lines
> 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.
Duy Nguyen· May 21, 2019, 11:59 UTC · re: Ævar Arnfjörð Bjarmason · lore

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

On Tue, May 21, 2019 at 6:51 PM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:

Show 9 quoted lines
> 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...

That's not NonStop. thread-utils.h (re)defines pthread_getspecific() to return NULL when NO_PTHREADS, which triggers this I think.

-- 
Duy
Randall S. Becker· May 21, 2019, 13:07 UTC · re: Duy Nguyen · lore

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

On May 21, 2019 07:59, Duy Nguyen wrote:
Show 15 quoted lines
> On Tue, May 21, 2019 at 6:51 PM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
> > 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...
> 
> That's not NonStop. thread-utils.h (re)defines pthread_getspecific() to return
> NULL when NO_PTHREADS, which triggers this I think.
The platform *is* NonStop, which has SPT and PUT pthreads, but we have never been able to make them work with git, so did not include them in the configuration.
Jeff Hostetler· May 21, 2019, 16:55 UTC · re: Randall S. Becker · lore

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

On 5/21/2019 9:07 AM, Randall S. Becker wrote:
Show 19 quoted lines
> On May 21, 2019 07:59, Duy Nguyen wrote:
>> On Tue, May 21, 2019 at 6:51 PM Ævar Arnfjörð Bjarmason
>> <avarab@gmail.com> wrote:
>>> 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...
>>
>> That's not NonStop. thread-utils.h (re)defines pthread_getspecific() to return
>> NULL when NO_PTHREADS, which triggers this I think.
> 
> The platform *is* NonStop, which has SPT and PUT pthreads, but we have never been able to make them work with git, so did not include them in the configuration.
> 

I just reproduced this on my Mac with NO_PTHREADS defined. I'll post a fix shortly.

Jeff

← back to recent threads