git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Michael <aixtools@felt.demon.nl>
Cc: "brian m. carlson" <sandals@crustytoothpaste.net>, git@vger.kernel.org
Subject: Re: git broken for AIX somewhere between 2.13.2 and 2.13.3
Date: Sun, 29 Jul 2018 22:05:52 +0200	[thread overview]
Message-ID: <87zhy9u7rz.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <466c7a59-0535-e72c-6c90-5288a53b59a0@felt.demon.nl>


On Sun, Jul 29 2018, Michael wrote:

> On 29/07/2018 20:10, brian m. carlson wrote:
>> On Sun, Jul 29, 2018 at 06:44:26PM +0200, Michael wrote:
>>> root@x066:[/tmp/xxx]git --version
>>> git version 2.13.3
>>> root@x066:[/tmp/xxx]git clone git@github.com:aixtools/hello-world.git
>>> Cloning into 'hello-world'...
>>> remote: Counting objects: 3, done.
>>> remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
>>> Receiving objects: 100% (3/3), done.
>>> fatal: pack is corrupted (SHA1 mismatch)
>>> fatal: index-pack failed
>>>
>>> p.s. - what surprises me re: git-2.13.2 - no messages about 'Cloning into
>>> ...', which version 2.13.1 did give.
>>>
>>> I guess a bisect is the next step - between version 2.13.2 and 2.13.3. Other
>>> suggestions welcome!
>> Are you using SHA1DC on that system, and does compiling with another
>> SHA-1 implementation help?  There was a change to the SHA1DC code big
>> endian detection in that commit, which might be the cause of your
>> problems if you're using a POWER or PowerPC system.
>
> I was thinking it might be an 'endian' issue. So, yes - AIX runs on
> POWER, only as BigEndian.
>
> git bisect returns:
>
> michael@x071:[/data/prj/aixtools/git/github/git-master]git bisect bad
> Bisecting: 1 revision left to test after this (roughly 1 step)
> [35049a2343948f686861e176a8c395f9f67da7b6] Merge branch
> 'aw/contrib-subtree-doc-asciidoctor' into maint
> michael@x071:[/data/prj/aixtools/git/github/git-master]git bisect good
> Bisecting: 0 revisions left to test after this (roughly 0 steps)
> [9936c1b52a39fa14fca04f937df3e75f7498ac66] sha1dc: update from upstream
>
>
> michael@x071:[/data/prj/aixtools/git/github/git-master]git bisect bad
> 9936c1b52a39fa14fca04f937df3e75f7498ac66 is the first bad commit
> commit 9936c1b52a39fa14fca04f937df3e75f7498ac66
> Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Date: Sat Jul 1 22:05:45 2017 +0000
>
>  sha1dc: update from upstream
>
>  Update sha1dc from the latest version by the upstream maintainer[1].
>
>  See commit 6b851e536b ("sha1dc: update from upstream", 2017-06-06) for
>  the last update.
>
>  This solves the Big Endian detection on Solaris reported against
>  v2.13.2[2], hopefully without any regressions. A version of this has
>  been tested on two Solaris SPARC installations, Cygwin (by jturney on
>  cygwin@Freenode), and on numerous more boring systems (mainly
>  linux/x86_64). See [3] for a discussion of the implementation and
>  platform-specific issues.
>
>  See commit a0103914c2 ("sha1dc: update from upstream", 2017-05-20) and
>  6b851e536b ("sha1dc: update from upstream", 2017-06-06) for previous
>  attempts in the 2.13 series to address various compile-time feature
>  detection in this library.
>
>
> 1. https://github.com/cr-marcstevens/sha1collisiondetection/commit/19d97bf5af05312267c2e874ee6bcf584d9e9681
>
>
> 2. <CAKKM46tHq13XiW5C8sux3=PZ1VHSu_npG8ExfWwcPD7rkZkyRQ@mail.gmail.com>
> (https://public-inbox.org/git/CAKKM46tHq13XiW5C8sux3=PZ1VHSu_npG8ExfWwcPD7rkZkyRQ@mail.gmail.com/)
>
>  3. https://github.com/cr-marcstevens/sha1collisiondetection/pull/34
>
>  Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>  Signed-off-by: Junio C Hamano <gitster@pobox.com>
>
> :040000 040000 a84797967fb742e4ca9618a641d53ce3a6c6589b
> 32efa656d78901da961e4a47d84b6d82fede064b M sha1dc

Sorry about that. As can be seen from those PRs and the "git log"
detecting whether something is big endian or not can be quite tricky, we
figured out how to do it on both BSD and Solaris, but apparently broke
AIX as a result.

You should be able to define -DSHA1DC_FORCE_LITTLEENDIAN or
-DSHA1DC_FORCE_BIGENDIAN (looks like you'll need the latter) to get the
latest version to compile, but I and upstream cr-marcstevens would be
very interested to know from someone who knows AIX how this broke.

Also, to you and anyone else with access to AIX: I'd be happy to figure
these issues out pro-actively if you give me a login to an AIX
machine. I promise not to do anything except compile/debug/test git on
it.

I used to have access to an AIX box through a previous job ages ago,
it's a very interesting OS and like with Solaris it's easy to discover a
lot of portability issues.

  reply	other threads:[~2018-07-29 20:05 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-29 16:44 git broken for AIX somewhere between 2.13.2 and 2.13.3 Michael
2018-07-29 18:10 ` brian m. carlson
2018-07-29 19:46   ` Michael
2018-07-29 20:05     ` Ævar Arnfjörð Bjarmason [this message]
2018-07-29 21:40       ` Andreas Schwab
2018-07-30  6:22         ` Michael
     [not found]   ` <2309fa7f-c2d8-ee57-aff5-b9e32d2da609@felt.demon.nl>
     [not found]     ` <20180729192753.GD945730@genre.crustytoothpaste.net>
2018-07-29 19:48       ` Michael
2018-07-29 20:06         ` brian m. carlson
2018-07-29 20:50           ` Michael
2018-07-30  9:39             ` Is detecting endianness at compile-time unworkable? Ævar Arnfjörð Bjarmason
2018-07-30 14:54               ` Junio C Hamano
2018-07-30 18:32                 ` Junio C Hamano
2018-07-30 18:39                   ` Daniel Shumow
2018-07-31 10:06                     ` Michael Felt
2018-08-01  1:35                   ` Eric Wong
2018-08-01  7:16                 ` Ævar Arnfjörð Bjarmason
2018-07-31 10:39               ` Michael Felt
2018-08-01  7:31                 ` Ævar Arnfjörð Bjarmason
2018-08-02 20:50                   ` [PATCH] sha1dc: update from upstream Ævar Arnfjörð Bjarmason
2018-08-02 21:29                     ` Michael Felt (aixtools)
2018-08-02 21:32                     ` Stefan Beller
2018-07-31 12:32               ` Is detecting endianness at compile-time unworkable? Michael Felt
2018-07-31 14:01               ` Michael Felt
2018-07-31 14:25                 ` Ævar Arnfjörð Bjarmason
2018-07-31 20:06                   ` Michael

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=87zhy9u7rz.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=aixtools@felt.demon.nl \
    --cc=git@vger.kernel.org \
    --cc=sandals@crustytoothpaste.net \
    /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).