Re: Git v2.13.1 SHA1 very broken
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Jun 6, 2017, 00:11 UTC
- Message-ID
- <8847fce7-1961-0006-37b7-3f10f7ebf32f@ramsayjones.plus.com>
- In-Reply-To
- <15c976f0-9203-dbba-86b6-240e44a1a56f@ramsayjones.plus.com>
On 06/06/17 00:20, Ramsay Jones wrote:
Show 47 quoted lines
>
>
> On 05/06/17 22:05, Ævar Arnfjörð Bjarmason wrote:
>> On Mon, Jun 5, 2017 at 10:34 PM, Adam Dinwoodie <adam@dinwoodie.org> wrote:
>>> I'm trying to compile Git v2.13.1 to release for Cygwin, but it appears
>>> a010391 ("sha1dc: update from upstream", 2017-05-20) is breaking a very
>>> significant number of test cases in both 32-bit and 64-bit Cygwin
>>> builds.
>>>
>>> The first failure is t0000.46 "validate object ID of a known tree"; output with
>>> -x and -v is below, although it's not very interesting:
>>>
>>> expecting success:
>>> test "$tree" = 7bb943559a305bdd6bdee2cef6e5df2413c3d30a
>>>
>>> ++ test ceb282701536fe61bea01075664405caa7d6343f = 7bb943559a305bdd6bdee2cef6e5df2413c3d30a
>>> + test_eval_ret_=1
>>> + want_trace
>>> + test t = t
>>> + test t = t
>>> + set +x
>>> error: last command exited with $?=1
>>> not ok 46 - validate object ID of a known tree
>>> #
>>> # test "$tree" = 7bb943559a305bdd6bdee2cef6e5df2413c3d30a
>>> #
>>>
>>> I have no idea where to even begin debugging this, but I'm happy to take
>>> pointers / try things out on my box.
>>
>> That looks scary, can you please comment out this:
>>
>> #define SHA1DC_ALLOW_UNALIGNED_ACCESS
>
> No, that doesn't fix it.
>
>>
>> In sha1dc/sha1.c and see if that helps, alternatively comment out the
>> ifdefs guarded by "#ifdef _MSC_VER" calls in sha1dc/sha1.c
>
> This can't possibly make a difference! ;-)
>
> However, rebuilding with:
>
> $ make OPENSSL_SHA1=YesPlease >out2 2>&1
>
> ... make t0000-basic.sh pass just fine, so ...commit 7e71542e8b ("sha1dc: avoid CPP macro collisions", 25-03-2017) runs t0000-basic.sh just fine.
commit a0103914c2 ("sha1dc: update from upstream", 20-05-2017) fails when running t0000-basic.sh.
I will look into this more tomorrow (it is late, I need sleep), unless someone finds the solution overnight, of course.
Adam, you can build using the OPENSSL_SHA1 build variable for now (if you want to release v2.13.1), or wait for another maint release I suppose, ... I'll leave that to you! ;-)
ATB, Ramsay Jones