Maintainer for git?
David Rothenberger
daveroth@acm.org
Sat Jan 25 21:18:00 GMT 2014
On 1/25/2014 3:59 AM, Corinna Vinschen wrote:
> On Jan 23 11:51, Corinna Vinschen wrote:
>> On Jan 22 16:42, Chris O'Bryan wrote:
>>>> On Mon, Jan 20, 2014 at 5:31 PM, Steven Penny wrote:
>>>>
>>>>> Are you certain the bug is present in AdamÂ’s version? He
>>>>> has tested it here
>>>>>
>>>>> http://cygwin.com/ml/cygwin/2014-01/msg00085.html
>>>>
>>>> I just tried cloning something big again (the linux kernel).
>>>> See below. The first one was with git-1.7.9 the default
>>>> Cygwin version. [...] x86$ git clone
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>
>>>>
linux-git-1.8.5.2
>>>> Cloning into 'linux-git-1.8.5.2'... remote: Counting objects:
>>>> 3366700, done. remote: Compressing objects: 100%
>>>> (508113/508113), done. remote: Total 3366700 (delta 2833563),
>>>> reused 3362434 (delta 2829537) Receiving objects: 100%
>>>> (3366700/3366700), 703.64 MiB | 2.16 MiB/s, done. fatal: pack
>>>> is corrupted (SHA1 mismatch) fatal: index-pack failed [...]
>>
>> Even if it's an OpenSSL issue, I'm not sure what to do about it.
>> I'm building OpenSSL for Cygwin, but I have no knowledge of the
>> crypto stuff...
>>
>> I don't see anything unusual in the build process, except, maybe,
>> that for SHA1 the x86 assembler code is used. I'm wondering what
>> happens when taking out -DSHA1_ASM from the build process. Or
>> what happens when using -O2 instead of -O3.
>
> I have a hunch that this is not a OpenSSL but a Cygwin problem.
>
> The default case in OpenSSL is to use SSE2 instructions in the x86
> assembler code. However, SSE2 instructions utilize the x86 XMM
> registers, which are not saved and restored in setjmp/longjmp, nor
> are they stored and restored in signal handling under Cygwin.
>
> In the long run Cygwin should save and restore the XMM registers
> on x86 as well, I guess.
>
> For the time being, I've build a new OpenSSL version 1.0.1f-2 with
> the "no-sse2" flag. With this version I could clone the linx repo
> without error. Please give it a try.
The new OpenSSL version fixes things for me. This explanation makes
sense given what I've seen as well.
I had built my own updated git binaries a while ago. I noticed that
for x86, the binaries would fail cloning a large repository, and would
also give spurious errors from "git fsck" on an existing repository. I
had no such problems with my x86_64 build.
With the new OpenSSL on x86, both the clone and the fsck problems have
gone away.
Thanks! Now my colleagues can use Git 1.8 with x86!
--
David Rothenberger ---- daveroth@acm.org
Revolution, n.:
In politics, an abrupt change in the form of misgovernment.
-- Ambrose Bierce
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list