git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

Previous: Ramsay JonesNext: Junio C Hamano
Message 4 of 26 in “Git v2.13.1 SHA1 very broken”
  1. Adam DinwoodieJun 5, 2017
  2. Ævar Arnfjörð BjarmasonJun 5, 2017
  3. Ramsay JonesJun 5, 2017
  4. Ramsay JonesJun 6, 2017
  5. Junio C HamanoJun 6, 2017
  6. Adam DinwoodieJun 6, 2017
  7. Junio C HamanoJun 6, 2017
  8. Adam DinwoodieJun 6, 2017
  9. Continous Integration (was: RE: Git v2.13.1 SHA1 very broken)Jason Pyeron, Jun 6, 2017
  10. Lars SchneiderJun 6, 2017
  11. Adam DinwoodieJul 2, 2017
  12. Johannes SchindelinJul 3, 2017
  13. 0/3 update sha1dcÆvar Arnfjörð Bjarmason, Jun 6, 2017
  14. 1/3 sha1dc: update from upstreamÆvar Arnfjörð Bjarmason, Jun 6, 2017
  15. 2/3 sha1dc: optionally use sha1collisiondetection as a submoduleÆvar Arnfjörð Bjarmason, Jun 6, 2017
  16. Stefan BellerJun 6, 2017
  17. Ævar Arnfjörð BjarmasonJun 6, 2017
  18. Stefan BellerJun 6, 2017
  19. 3/3 sha1collisiondetection: automatically enable when submodule is populatedÆvar Arnfjörð Bjarmason, Jun 6, 2017
  20. Stefan BellerJun 6, 2017
  21. Ævar Arnfjörð BjarmasonJun 6, 2017
  22. sha1dc: ignore indent-with-non-tab whitespace violationsJeff King, Jun 6, 2017
  23. Ævar Arnfjörð BjarmasonJun 6, 2017
  24. Stefan BellerJun 6, 2017
  25. Liam R. HowlettJun 13, 2017
  26. Morten WelinderJun 6, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.