Thread (8 messages) 8 messages, 3 authors, 2019-11-01

RE: [BUG] git 2.24.0-rc1 t0500 on NonStop in Jenkins

From: Randall S. Becker <hidden>
Date: 2019-10-29 14:56:23

On October 29, 2019 6:16 AM, SZEDER Gábor wrote:
On Mon, Oct 28, 2019 at 11:20:48AM -0400, Randall S. Becker wrote:
quoted
quoted
quoted
+ test_i18ncmp expect out
--- expect	2019-10-28 14:11:40 +0000
+++ out	2019-10-28 14:11:41 +0000
@@ -1,4 +1,2 @@
-Working hard:  33% (1/3)<CR>
-Working hard:  66% (2/3)<CR>
-Working hard: 100% (3/3)<CR>
-Working hard: 100% (3/3), done.
+Working hard:   0% (1/12884901888)<CR>
+Working hard:   0% (3/12884901888), done.
Weird, this looks exactly like the big-endian test failure that was
fixed in 2b6f6ea1bd (test-progress: fix test failures on big-endian
systems, 2019-10- 20), but that is already in 2.24.0-rc1 (but not yet in -
rc0).
quoted
quoted
https://public-inbox.org/git/f1ce445e-6954-8e7b-2dca-
3a566ce689a5@physik.fu-berlin.de/

Is NonStop big or little-endian?  Does t0500 pass without 2b6f6ea1bd?
NonStop is big-endian. When t0500 is run from an interactive terminal,
it passes. This failure seems to be a result of being in a
disconnected terminal situation typical of Jenkins, not that the test
result makes any sense with that being the only difference.
t0500 did not exist in 2.23.0, our last build,
Didn't you build v2.24.0-rc0?
Reporter bonehead moment. Ok, the problem is in v2.24.0-rc0, *NOT* rc1. I am deeply sorry for the confusion. I ran both build test cycles and t0500 in rc1 worked. We are running the full rc1 cycle now.
quoted
so I can't easily get
that answer. Our Jenkins is based off the master branch, so it's a
hard to revert in our pipeline without a serious amount of work - that
and without 2b6f6ea1bd, other things break if I remember from August.

Does the printf format use positional arguments (%digit$)? That has
known issues on the platform.
The output in question is formatted in display() in progress.c:124:

        strbuf_addf(counters_sb,
                    "%3u%% (%"PRIuMAX"/%"PRIuMAX")%s", percent,
                    (uintmax_t)n, (uintmax_t)progress->total,
                    tp);

where both 'n' and 'progress->total' are uint64_t, and 'PRIuMAX' is 'llu'.  All
of these are widely used throughout the code base.
quoted
FYI: int/long are 32 bits, long long is 64 bits. 12884901888 is
0x300000000, surprisingly.
It's not surprising, basically that's what 2b6f6ea1bd is all about.
quoted
quoted
quoted
error: last command exited with $?=1 not ok 2 - progress display
with total #
#		cat >expect <<-\EOF &&
#		Working hard:  33% (1/3)<CR>
#		Working hard:  66% (2/3)<CR>
#		Working hard: 100% (3/3)<CR>
#		Working hard: 100% (3/3), done.
#		EOF
#
#		cat >in <<-\EOF &&
#		progress 1
#		progress 2
#		progress 3
#		EOF
#		test-tool progress --total=3 "Working hard" <in 2>stderr &&
#
#		show_cr <stderr >out &&
#		test_i18ncmp expect out
#
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help