Re: Git core dump checking out main on armv7
- Reply: Mark Millard : "Re: Git core dump checking out main on armv7"
- In reply to: Mark Millard : "Re: Git core dump checking out main on armv7"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 19 Jun 2024 21:32:14 UTC
On Wed, Jun 19, 2024 at 12:50:48PM -0700, Mark Millard wrote:
> I see a difference for "22164" vs. "22165" in mine vs. yours:
>
> remote: Total 104639 (delta 22164), reused 43690 (delta 11830), pack-reused 0
> Resolving deltas: 100% (22164/22164), done.
>
> vs. yours:
>
> remote: Total 104639 (delta 22165), reused 43690 (delta 11830), pack-reused 0
> . . .
> Resolving deltas: 100% (22165/22165), done.
>
>
> My guess here is that you end up at a server that has messed up content and I do not.
>
The off-by-one sort of makes sense; my host is expecting one more file than yours.
> I can end up at:
>
> # traceroute git.FreeBSD.org
> traceroute to gitmir.geo.FreeBSD.org (192.158.248.9), 64 hops max, 40 byte packets
> . . .
> 14 isc.gigabitethernet1-1-44.switch55.fmt2.he.net (66.160.158.246) 26.076 ms
> gitmir.fmt.freebsd.org (192.158.248.9) 28.271 ms
> isc.gigabitethernet1-1-44.switch55.fmt2.he.net (66.160.158.246) 27.410 ms
>
> You might want to try forcing an explicit reference to something like:
>
> # git clone --depth=1 -o freebsd ssh://192.158.248.9/src.git /usr/src
>
> and see if that makes any difference in your context.
>
Apparently the numerical address had been used before, as I got an ssh message
saying it was already known.
Eventually I tried:
# git clone --depth=1 -o freebsd ssh://anongit@192.158.248.9/src.git /usr/src
Cloning into '/usr/src'...
remote: Enumerating objects: 104639, done.
remote: Counting objects: 100% (104639/104639), done.
remote: Compressing objects: 100% (88894/88894), done.
remote: Total 104639 (delta 22152), reused 43688 (delta 11830), pack-reused 0
Receiving objects: 100% (104639/104639), 345.58 MiB | 1.35 MiB/s, done.
fatal: pack is corrupted (SHA1 mismatch)
fatal: fetch-pack: invalid index-pack output
The SHA1 mismatch has been seen before, so I renamed the
empty (according to ls -al) src directory, created a new
one and tried again with the same command. Same output,
same error.
Is it plausible that a stuck bit in a scratch area of the microSD
card might lead to mischief like this? Maybe a hardware problem in
the Pi itself (it's been in use since late 2015)? I didn't imagine
it possible to wear one out, but...
I have two other armv7 Pi 2 hosts, one running -current and one
recently updated to
FreeBSD www.zefox.com 14.1-STABLE FreeBSD 14.1-STABLE #53 stable/14-n267957-048ad7a9ef9f-dirty: Mon Jun 17 11:52:13 PDT 2024 bob@www.zefox.com:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm {no idea where the "dirty" came from}
that both seem to work much better. They both run from USB hard disks,
with the microSD used only for bootstrapping. They're a couple years newer.
I'll try updating them to see if any new problems emerge.
Thanks very much for all your help!
bob prohaska
> If it does avoid the problem, you might want to do a:
>
> # traceroute git.FreeBSD.org <http://git.freebsd.org/>
>
> and report the results as indicating the likely place that has the problem.
> There may be a better list to also send to for such a report.
>
>
> Mark
>
> On Jun 19, 2024, at 12:14, bob prohaska <fbsd@www.zefox.net> wrote:
>
> On Tue, Jun 18, 2024 at 10:22:25PM -0700, Mark Millard wrote:
> >
> > I'm going to quote kevens on discord from another git context:
> >
> > QUOTE
> > kevans: once you have git installed anongit via ssh is a lot more reliable, especially for the ports tree
> > END QUOTE
> >
> > (Watch out for my unusual directory naming on the left side of the lines:)
> >
> > If your context allows use of: ssh:// . . .
> >
> > # grep -rE "(^\[|url = )" /usr/*/.git/config
> > /usr/official-src/.git/config:[core]
> > /usr/official-src/.git/config:[remote "freebsd"]
> > /usr/official-src/.git/config: url = ssh://anongit@git.FreeBSD.org/src.git
> > /usr/official-src/.git/config:[branch "main"]
> > /usr/official-src/.git/config:[branch "stable/14"]
> > /usr/ports/.git/config:[core]
> > /usr/ports/.git/config:[remote "freebsd"]
> > /usr/ports/.git/config: url = ssh://anongit@git.FreeBSD.org/ports.git
> > /usr/ports/.git/config:[branch "main"]
> >
> >
> > I have historically found such more reliable than use of: https:// . . .
> >
> > ssh:// . . . can also be used on the command line.
> >
> >
> > If both ssh:// . . . and https:// . . . fail that likely has
> > implications different than if just one form does.
>
> Looks as if they both fail:
>
> # git clone --depth=1 -o freebsd ssh://anongit@git.FreeBSD.org/src.git /usr/src
> Cloning into '/usr/src'...
> remote: Enumerating objects: 104639, done.
> remote: Counting objects: 100% (104639/104639), done.
> remote: Compressing objects: 100% (88894/88894), done.
> remote: Total 104639 (delta 22165), reused 43690 (delta 11830), pack-reused 0
> Receiving objects: 100% (104639/104639), 345.56 MiB | 1.34 MiB/s, done.
> Resolving deltas: 100% (22165/22165), done.
> fatal: missing blob object '619155cafe9277d1b3fc1bfd02fe76e27042a115'
> fatal: remote did not send all necessary objects
> #
>
> Both the "missing blob.." and "pack is corrupt..." messages have been
> seen regularly before. The system is running from microSD, but that
> didn't prevent cloning, checking out and building the existing system
> installation. Is there some way to check if the blob object named is
> actually present on the server? If not, that would be a clue.
>
> Thanks for writing!
>
> bob prohaska
>
>
> >
> >
> > ===
> > Mark Millard
> > marklmi at yahoo.com
> >
> >
>
>
> ===
> Mark Millard
> marklmi at yahoo.com
>
>