git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Torsten Bögershausen" <tboegi@web.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Linux Kernel <linux-kernel@vger.kernel.org>,
	git-packagers@googlegroups.com
Subject: t4216-log-bloom.sh broken ?
Date: Thu, 2 May 2024 07:56:22 +0200	[thread overview]
Message-ID: <20240502055621.GA29945@tb-raspi4> (raw)
In-Reply-To: <xmqq8r0ww0sj.fsf@gitster.g>

[]

Highjacking the Git v2.45.0 announcement:
There are 4 test cases in t4216-log-bloom.sh, that do not pass on one
Mac here (they pass on another machine)

I haven't digged further, but here are some log files,
hopefully helpful to somebody.


not ok 141 - Bloom reader notices too-small data chunk
#
#               check_corrupt_graph BDAT clear 00000000 &&
#               echo "warning: ignoring too-small changed-path chunk" \
#                       "(4 < 12) in commit-graph file" >expect.err &&
#               test_cmp expect.err err
#
not ok 142 - Bloom reader notices out-of-bounds filter offsets
#
#               check_corrupt_graph BIDX 12 FFFFFFFF &&
#               # use grep to avoid depending on exact chunk size
#               grep "warning: ignoring out-of-range offset (4294967295) for changed-path filter at pos 3 of .git/objects/info/commit-graph" err

#
not ok 143 - Bloom reader notices too-small index chunk
#
#               # replace the index with a single entry, making most
#               # lookups out-of-bounds
#               check_corrupt_graph BIDX clear 00000000 &&
#               echo "warning: commit-graph changed-path index chunk" \
#                       "is too small" >expect.err &&
#               test_cmp expect.err err
#
not ok 144 - Bloom reader notices out-of-order index offsets
#
#               # we do not know any real offsets, but we can pick
#               # something plausible; we should not get to the point of
#               # actually reading from the bogus offsets anyway.
#               corrupt_graph BIDX 4 0000000c00000005 &&
#               echo "warning: ignoring decreasing changed-path index offsets" \
#                       "(12 > 5) for positions 1 and 2 of .git/objects/info/commit-graph" >expect.err &&
#               git -c core.commitGraph=false log -- A/B/file2 >expect.out &&
#               git -c core.commitGraph=true log -- A/B/file2 >out 2>err &&
#               test_cmp expect.out out &&
#               test_cmp expect.err err
#
# failed 4 among 144 test(s)
1..144


ok 140 - Bloom generation backfills empty commits

expecting success of 4216.141 'Bloom reader notices too-small data chunk':
	check_corrupt_graph BDAT clear 00000000 &&
	echo "warning: ignoring too-small changed-path chunk" \
		"(4 < 12) in commit-graph file" >expect.err &&
	test_cmp expect.err err

++ check_corrupt_graph BDAT clear 00000000
++ corrupt_graph BDAT clear 00000000
++ graph=.git/objects/info/commit-graph
++ test_when_finished 'rm -rf .git/objects/info/commit-graph'
++ test 0 = 0
++ test_cleanup='{ rm -rf .git/objects/info/commit-graph
		} && (exit "$eval_ret"); eval_ret=$?; :'
++ git commit-graph write --reachable --changed-paths
++ corrupt_chunk_file .git/objects/info/commit-graph BDAT clear 00000000
++ fn=.git/objects/info/commit-graph
++ shift
++ perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BDAT clear 00000000
++ command /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BDAT clear 00000000
++ /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BDAT clear 00000000
++ mv .git/objects/info/commit-graph.tmp .git/objects/info/commit-graph
override r--r--r--  tb/staff for .git/objects/info/commit-graph? (y/n [n]) not overwritten
++ git -c core.commitGraph=false log -- A/B/file2
++ git -c core.commitGraph=true log -- A/B/file2
++ test_cmp expect.out out
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.out out
++ echo 'warning: ignoring too-small changed-path chunk' '(4 < 12) in commit-graph file'
++ test_cmp expect.err err
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.err err
--- expect.err	2024-05-02 05:51:10.000000000 +0000
+++ err	2024-05-02 05:51:10.000000000 +0000
@@ -1 +0,0 @@
-warning: ignoring too-small changed-path chunk (4 < 12) in commit-graph file
error: last command exited with $?=1
++ rm -rf .git/objects/info/commit-graph
++ exit 1
++ eval_ret=1
++ :
not ok 141 - Bloom reader notices too-small data chunk


expecting success of 4216.142 'Bloom reader notices out-of-bounds filter offsets':
	check_corrupt_graph BIDX 12 FFFFFFFF &&
	# use grep to avoid depending on exact chunk size
	grep "warning: ignoring out-of-range offset (4294967295) for changed-path filter at pos 3 of .git/objects/info/commit-graph" err

++ check_corrupt_graph BIDX 12 FFFFFFFF
++ corrupt_graph BIDX 12 FFFFFFFF
++ graph=.git/objects/info/commit-graph
++ test_when_finished 'rm -rf .git/objects/info/commit-graph'
++ test 0 = 0
++ test_cleanup='{ rm -rf .git/objects/info/commit-graph
		} && (exit "$eval_ret"); eval_ret=$?; :'
++ git commit-graph write --reachable --changed-paths
++ corrupt_chunk_file .git/objects/info/commit-graph BIDX 12 FFFFFFFF
++ fn=.git/objects/info/commit-graph
++ shift
++ perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX 12 FFFFFFFF
++ command /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX 12 FFFFFFFF
++ /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX 12 FFFFFFFF
++ mv .git/objects/info/commit-graph.tmp .git/objects/info/commit-graph
override r--r--r--  tb/staff for .git/objects/info/commit-graph? (y/n [n]) not overwritten
++ git -c core.commitGraph=false log -- A/B/file2
++ git -c core.commitGraph=true log -- A/B/file2
++ test_cmp expect.out out
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.out out
++ grep 'warning: ignoring out-of-range offset (4294967295) for changed-path filter at pos 3 of .git/objects/info/commit-graph' err
error: last command exited with $?=1
++ rm -rf .git/objects/info/commit-graph
++ exit 1
++ eval_ret=1
++ :
not ok 142 - Bloom reader notices out-of-bounds filter offsets

expecting success of 4216.143 'Bloom reader notices too-small index chunk':
	# replace the index with a single entry, making most
	# lookups out-of-bounds
	check_corrupt_graph BIDX clear 00000000 &&
	echo "warning: commit-graph changed-path index chunk" \
		"is too small" >expect.err &&
	test_cmp expect.err err

++ check_corrupt_graph BIDX clear 00000000
++ corrupt_graph BIDX clear 00000000
++ graph=.git/objects/info/commit-graph
++ test_when_finished 'rm -rf .git/objects/info/commit-graph'
++ test 0 = 0
++ test_cleanup='{ rm -rf .git/objects/info/commit-graph
		} && (exit "$eval_ret"); eval_ret=$?; :'
++ git commit-graph write --reachable --changed-paths
++ corrupt_chunk_file .git/objects/info/commit-graph BIDX clear 00000000
++ fn=.git/objects/info/commit-graph
++ shift
++ perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX clear 00000000
++ command /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX clear 00000000
++ /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX clear 00000000
++ mv .git/objects/info/commit-graph.tmp .git/objects/info/commit-graph
override r--r--r--  tb/staff for .git/objects/info/commit-graph? (y/n [n]) not overwritten
++ git -c core.commitGraph=false log -- A/B/file2
++ git -c core.commitGraph=true log -- A/B/file2
++ test_cmp expect.out out
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.out out
++ echo 'warning: commit-graph changed-path index chunk' 'is too small'
++ test_cmp expect.err err
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.err err
--- expect.err	2024-05-02 05:51:11.000000000 +0000
+++ err	2024-05-02 05:51:11.000000000 +0000
@@ -1 +0,0 @@
-warning: commit-graph changed-path index chunk is too small
error: last command exited with $?=1
++ rm -rf .git/objects/info/commit-graph
++ exit 1
++ eval_ret=1
++ :
not ok 143 - Bloom reader notices too-small index chunk

expecting success of 4216.144 'Bloom reader notices out-of-order index offsets':
	# we do not know any real offsets, but we can pick
	# something plausible; we should not get to the point of
	# actually reading from the bogus offsets anyway.
	corrupt_graph BIDX 4 0000000c00000005 &&
	echo "warning: ignoring decreasing changed-path index offsets" \
		"(12 > 5) for positions 1 and 2 of .git/objects/info/commit-graph" >expect.err &&
	git -c core.commitGraph=false log -- A/B/file2 >expect.out &&
	git -c core.commitGraph=true log -- A/B/file2 >out 2>err &&
	test_cmp expect.out out &&
	test_cmp expect.err err

++ corrupt_graph BIDX 4 0000000c00000005
++ graph=.git/objects/info/commit-graph
++ test_when_finished 'rm -rf .git/objects/info/commit-graph'
++ test 0 = 0
++ test_cleanup='{ rm -rf .git/objects/info/commit-graph
		} && (exit "$eval_ret"); eval_ret=$?; :'
++ git commit-graph write --reachable --changed-paths
++ corrupt_chunk_file .git/objects/info/commit-graph BIDX 4 0000000c00000005
++ fn=.git/objects/info/commit-graph
++ shift
++ perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX 4 0000000c00000005
++ command /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX 4 0000000c00000005
++ /usr/bin/perl /Users/tb/NoBackup/projects/git/git.pu/t/lib-chunk/corrupt-chunk-file.pl BIDX 4 0000000c00000005
++ mv .git/objects/info/commit-graph.tmp .git/objects/info/commit-graph
override r--r--r--  tb/staff for .git/objects/info/commit-graph? (y/n [n]) not overwritten
++ echo 'warning: ignoring decreasing changed-path index offsets' '(12 > 5) for positions 1 and 2 of .git/objects/info/commit-graph'
++ git -c core.commitGraph=false log -- A/B/file2
++ git -c core.commitGraph=true log -- A/B/file2
++ test_cmp expect.out out
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.out out
++ test_cmp expect.err err
++ test 2 -ne 2
++ eval 'diff -u' '"$@"'
+++ diff -u expect.err err
--- expect.err	2024-05-02 05:51:11.000000000 +0000
+++ err	2024-05-02 05:51:11.000000000 +0000
@@ -1 +0,0 @@
-warning: ignoring decreasing changed-path index offsets (12 > 5) for positions 1 and 2 of .git/objects/info/commit-graph
error: last command exited with $?=1
++ rm -rf .git/objects/info/commit-graph
++ exit 1
++ eval_ret=1
++ :
not ok 144 - Bloom reader notices out-of-order index offsets


  parent reply	other threads:[~2024-05-02  5:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29 17:12 [ANNOUNCE] Git v2.45.0 Junio C Hamano
2024-05-01 17:39 ` rsbecker
2024-05-02  5:56 ` Torsten Bögershausen [this message]
2024-05-02 16:06   ` t4216-log-bloom.sh broken ? Junio C Hamano
2024-05-02 18:59     ` Torsten Bögershausen
2024-05-02 19:26       ` SZEDER Gábor
2024-05-02 19:55         ` Junio C Hamano
2024-05-02 20:05           ` Junio C Hamano
2024-05-02 20:15           ` Junio C Hamano
2024-05-02 20:51             ` Torsten Bögershausen
2024-05-02 21:20               ` Junio C Hamano
2024-05-02 16:26   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240502055621.GA29945@tb-raspi4 \
    --to=tboegi@web.de \
    --cc=git-packagers@googlegroups.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).