Re: t9210-scalar.sh fails with SANITIZE=undefined
- From
Jeff King <peff@peff.net>
- Date
- Sep 22, 2022, 19:12 UTC
- Message-ID
- <Yyyzk3FVjmms7dkO@coredump.intra.peff.net>
- In-Reply-To
- <ff921c34-139a-9e2b-ca1f-d6f9f7213d1b@github.com>
On Thu, Sep 22, 2022 at 08:35:22AM -0400, Derrick Stolee wrote:
Show 21 quoted lines
> > I didn't dig further. It's obviously new in v2.38.0-rc1, but I'm not > > sure it's a show-stopper. It _might_ have been there all along, and is > > just now surfacing. Or it might be in an existing experimental feature > > that just wasn't exercised enough in the tests. Or if it really is new > > in scalar, then it will only hurt people using scalar, which didn't > > exist before. So I don't think it's a regression in the strictest sense, > > but it might be nice to get a more accurate understanding of the problem > > before the release. > > Interesting find! > > Here are the index-related settings that Scalar sets as of -rc1: > > * core.preloadIndex=true > * index.threads=true > * index.version=4 > > My gut feeling is that index.version=4 might be the culprit. I thought > we tested GIT_TEST_INDEX_VERSION=4 in some CI modes, but apparently we > do not. Do you get the same error in other tests with that environment > variable?
Yeah, that seems by far the most likely of those three. And indeed, running with GIT_TEST_INDEX_VERSION=4 causes even t0000 to fail with the same problem. A minimal reproduction in git.git is just:
make SANITIZE=undefined git clone . tmp cd tmp rm .git/index export GIT_INDEX_VERSION=4 ../git reset --hard ;# ok, writes v4 index ../git reset --hard ;# fails reading unaligned v4 index
So it seems like a problem with the v4 format in general. Which...yikes.
-Peff