git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[commit-graph] v2.43.0 segfault with fetch.writeCommitGraph enabled when fetch

From
ryenus <ryenus@gmail.com>
Date
Nov 22, 2023, 04:05 UTC
Message-ID
<CAKkAvayLrYS1GQ_-Z7kWM=k4pCnNv1Q=NvYcvT8+wqYPkePVcw@mail.gmail.com>

The issue appeared after updating to git v2.43.0, now git fetch would cause segmentation fault when commit graph is enabled. Though I only observed this issue in a repo with two submodules, regardless of whether the submodules are checked out or not. Meanwhile most other repos without submodules worked fine.

Show 19 quoted lines
> 15:57:10.660377 run-command.c:726                 child_start[2] git maintenance run --auto --no-quiet
> 15:57:10.665870 common-main.c:55                  version 2.43.0
> 15:57:10.666265 common-main.c:56                  start /opt/homebrew/opt/git/libexec/git-core/git maintenance run --auto --no-quiet
> 15:57:10.666469 repository.c:143                  worktree /path/to/repo/sub/module2
> 15:57:10.666649 git.c:464                         cmd_name maintenance (_run_dashed_/_run_git_alias_/pull/fetch/fetch/maintenance)
> 15:57:10.668232 git.c:723                         exit elapsed:0.003405 code:0
> 15:57:10.668241 trace2/tr2_tgt_normal.c:127       atexit elapsed:0.003415 code:0
> 15:57:10.668611 run-command.c:979                 child_exit[2] pid:46018 code:0 elapsed:0.008227
> 15:57:10.668635 git.c:723                         exit elapsed:1.837179 code:0
> 15:57:10.668639 trace2/tr2_tgt_normal.c:127       atexit elapsed:1.837182 code:0
> 15:57:10.669007 run-command.c:979                 child_exit[3] pid:46006 code:0 elapsed:1.843739
> 15:57:10.671522 usage.c:80                        error fetch died of signal 11
> error: fetch died of signal 11
> 15:57:10.671645 run-command.c:979                 child_exit[1] pid:45980 code:139 elapsed:5.292927
> 15:57:10.671658 git.c:723                         exit elapsed:5.337363 code:1
> 15:57:10.671663 trace2/tr2_tgt_normal.c:127       atexit elapsed:5.337368 code:1
> 15:57:10.672048 run-command.c:979                 child_exit[1] pid:45978 code:1 elapsed:5.345050
> 15:57:10.672099 git.c:819                         exit elapsed:5.355644 code:1
> 15:57:10.672105 trace2/tr2_tgt_normal.c:127       atexit elapsed:5.355649 code:1
Subsequent `git fetch` would then fail due to the left over lock file:
Show 19 quoted lines
> 15:57:19.059375 run-command.c:726                 child_start[2] git maintenance run --auto --no-quiet
> 15:57:19.065689 common-main.c:55                  version 2.43.0
> 15:57:19.066027 common-main.c:56                  start /opt/homebrew/opt/git/libexec/git-core/git maintenance run --auto --no-quiet
> 15:57:19.066206 repository.c:143                  worktree /path/to/repo/sub/module2
> 15:57:19.066387 git.c:464                         cmd_name maintenance (_run_dashed_/_run_git_alias_/pull/fetch/fetch/maintenance)
> 15:57:19.067888 git.c:723                         exit elapsed:0.003122 code:0
> 15:57:19.067896 trace2/tr2_tgt_normal.c:127       atexit elapsed:0.003131 code:0
> 15:57:19.068239 run-command.c:979                 child_exit[2] pid:46076 code:0 elapsed:0.008852
> 15:57:19.068276 git.c:723                         exit elapsed:1.661854 code:0
> 15:57:19.068281 trace2/tr2_tgt_normal.c:127       atexit elapsed:1.661858 code:0
> 15:57:19.068714 run-command.c:979                 child_exit[3] pid:46065 code:0 elapsed:1.667321
> 15:57:19.069327 usage.c:61                        error Unable to create '/path/to/repo/.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.
> fatal: Unable to create '/path/to/repo/.git/objects/info/commit-graphs/commit-graph-chain.lock': File exists.
As a workaround, I disabled fetch.writeCommitGraph to get fetch work again.
Next: Taylor Blau
Message 1 of 2 in “[commit-graph] v2.43.0 segfault with fetch.writeCommitGraph enabled when fetch”
  1. ryenusNov 22, 2023
  2. Taylor BlauNov 23, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.