Re: SIGSEGV when running git fetch
- From
Justin Su <injustsu@gmail.com>
- Date
- Nov 29, 2025, 00:08 UTC
- Message-ID
- <CAB=S_8JFLYsGe7fs7UjCfFfTJGMqpikZavztU6ZiW4KS21A+MQ@mail.gmail.com>
- In-Reply-To
- <aSo2n2dhEoZd3nZW@fruit.crustytoothpaste.net>
On Fri, Nov 28, 2025 at 6:56 PM brian m. carlson <sandals@crustytoothpaste.net> wrote:
Show 5 quoted lines
> > I went ahead and looked at the repository you provided in the embedded > archive and I think it's corrupt. First, you're missing the `.git/refs` > directory, so my version of Git (2.51.0.338.gd7d06c2dae8) didn't even > think it was a valid Git directory.
The attachment was output by `git bugreport --diagnose=all`. According to the git-diagnose docs, it doesn't include `.git/refs` (which exists in my local repo).
> I then ran `git fsck` and found a > wide variety of missing blobs in your repository.
When I run `git fsck`, the output looks fine:
``` Checking object directories: 100% (256/256), done. Checking objects: 100% (679/679), done. Verifying commits in commit graph: 100% (132/132), done. ```
On Fri, Nov 28, 2025 at 6:56 PM brian m. carlson <sandals@crustytoothpaste.net> wrote:
Show 69 quoted lines
> > On 2025-11-28 at 22:56:19, Justin Su wrote: > > Thank you for filling out a Git bug report! > > Please answer the following questions to help us understand your issue. > > > > What did you do before the bug happened? `git fetch` > > > > What did you expect to happen? `git fetch` works normally > > > > What happened instead? > > > > ``` > > $ git fetch > > Fetching submodule catppuccin/bat > > Fetching submodule catppuccin/btop > > Fetching submodule catppuccin/micro > > Fetching submodule catppuccin/delta > > fatal: Unable to create > > '/home/ubuntu/.config/.git/objects/info/commit-graphs/commit-graph-chain.lock': > > File exists. > > > > Another git process seems to be running in this repository, e.g. > > an editor opened by 'git commit'. Please make sure all processes > > are terminated then try again. If it still fails, a git process > > may have crashed in this repository earlier: > > remove the file manually to continue. > > > > $ rm -f .git/objects/info/commit-graphs/commit-graph-chain.lock > > > > $ git fetch > > Fetching submodule catppuccin/bat > > Fetching submodule catppuccin/delta > > Fetching submodule catppuccin/btop > > Fetching submodule catppuccin/micro > > fish: Job 1, 'git fetch' terminated by signal SIGSEGV (Address boundary error) > > ``` > > > > What's different between what you expected and what actually happened? > > `git fetch` almost always results in a SIGSEGV, however the fetch > > appears to work > > I went ahead and looked at the repository you provided in the embedded > archive and I think it's corrupt. First, you're missing the `.git/refs` > directory, so my version of Git (2.51.0.338.gd7d06c2dae8) didn't even > think it was a valid Git directory. I then ran `git fsck` and found a > wide variety of missing blobs in your repository. > > When running `git fetch`, I did not get a segfault, but I did get this > messsage: > > ---- > % git fetch > error: unable to load config blob object 'd38cf93d707c01ca18ed0233bcebb7aa172f0edd' > fatal: You are attempting to fetch 06c0fdfd73559275c8d0423ddff0d3bcfd7e7f3f, which is in the commit graph file but not in the object database. > This is probably due to repo corruption. > If you are attempting to repair this repo corruption by refetching the missing object, use 'git fetch --refetch' with the missing object. > ---- > > `git fetch --refetch` downloaded several objects, but I still have four > missing blobs afterwards. > > So I would recommend running `git fsck` on your repository and see if > it's corrupt and if you're missing objects. I agree that Git should not > segfault, even with corruption, but I don't see it doing that (granted, > on a Debian unstable amd64 system, not an Ubuntu arm64 system). We may > have fixed the bug you're seeing in a newer version, though. > -- > brian m. carlson (they/them) > Toronto, Ontario, CA