Re: alpha-1 armv7 git failed: fatal: pack is corrupted (SHA1 mismatch)

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sat, 12 Aug 2023 21:29:02 UTC
On Aug 12, 2023, at 11:32, bob prohaska <fbsd@www.zefox.net> wrote:
> 
> It looks like something is amiss with git on armv7 alpha1:
> Running
> root@generic:/ # pkg install git-lite
> seemed to work without error, and running
> root@generic:/ # git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src
> Cloning into '/usr/src'...
> started out appearing to work but ended badly:
> 
> root@generic:/ # git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src
> Cloning into '/usr/src'...
> remote: Enumerating objects: 4323455, done.
> remote: Counting objects: 100% (381285/381285), done.
> remote: Compressing objects: 100% (28204/28204), done.
> remote: Total 4323455 (delta 375529), reused 353081 (delta 353081), pack-reused 3942170
> Receiving objects: 100% (4323455/4323455), 1.54 GiB | 1.01 MiB/s, done.
> fatal: pack is corrupted (SHA1 mismatch)
> fatal: fetch-pack: invalid index-pack output
> 
> 
> I don't think this is something I could have screwed up, but
> my talents occasionally surpass expectation 8-) I took no
> special actions during the prompts and warnings following
> pkg install git-lite but was rather surprised at the number 
> of dependencies accompanying git-lite. 
> 
> This is a Pi2, v1.1, mechanical hard drive, command line only interface.
> The disk has been laid out traditionally, with swapspace between root
> and usr. Original contents of /usr were transplanted to the new partition
> using cp -a, might that be a problem? 

The follow is a partial simulation of what you have
done. It uses the armv7 snapshot world via chroot on
an aarch64 machine that can execute armv7 code, using
a mount of armv7 kernel+world snapshot based media.
(I abbreviate command line prompts.)

# mount /dev/da1s2a /mnt

# chroot /mnt

# uname -apKU
FreeBSD generic 14.0-ALPHA1 FreeBSD 14.0-ALPHA1 aarch64 1400094 #0 main-n264678-136fc495615f: Fri Aug 11 12:22:32 UTC 2023     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm armv7 1400094 1400094

(Note both the "aarch64" and the "arm armv7" from the chroot
context.)

# pkg install git
. . .

# git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src
Cloning into '/usr/src'...
remote: Enumerating objects: 4323467, done.
remote: Counting objects: 100% (381285/381285), done.
remote: Compressing objects: 100% (28204/28204), done.
remote: Total 4323467 (delta 375527), reused 353081 (delta 353081), pack-reused 3942182
Receiving objects: 100% (4323467/4323467), 1.54 GiB | 790.00 KiB/s, done.
Resolving deltas: 100% (3431891/3431891), done.
Updating files: 100% (95943/95943), done.



So this really used the aarch64 kernel and its FreeBSD 32 compat
support but was a armv7 world. The combination worked just fine.

It may be that the problem you had was not local to your machine,
or even to your local network. Some received byte(s) might well
have been bad.

It will be some time before I put back the armv7 media into a
armv7 system and boot it: I'm doing other experiments.

===
Mark Millard
marklmi at yahoo.com