Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade libgit2 to 1.5.0+ #861

Closed
craigds opened this issue Jun 8, 2023 · 0 comments · Fixed by #868
Closed

Upgrade libgit2 to 1.5.0+ #861

craigds opened this issue Jun 8, 2023 · 0 comments · Fixed by #868

Comments

@craigds
Copy link
Member

craigds commented Jun 8, 2023

We've got an issue where a specific repo with a large packfile is unable to find specific objects - in this case the root tree of the head commit.

$ kart log
kart helper: unhandled exception
Traceback (most recent call last):
  File "kart/helper.py", line 236, in helper
  File "click/core.py", line 1130, in __call__
  File "click/core.py", line 1055, in main
  File "kart/cli_util.py", line 72, in invoke
  File "click/core.py", line 1657, in invoke
  File "click/core.py", line 1404, in invoke
  File "click/core.py", line 760, in invoke
  File "click/decorators.py", line 26, in new_func
  File "kart/log.py", line 259, in log
  File "kart/context.py", line 79, in get_repo
  File "kart/repo.py", line 460, in ensure_supported_version
  File "kart/repo.py", line 570, in table_dataset_version
  File "kart/tabular/version.py", line 64, in get_repo_wide_version
  File "kart/repo.py", line 668, in head_tree
KeyError: 'object not found - object is missing (ce5e0fef3cd848f93a03400221d2c11c7cb5c6a5)'

The object does exist in the repo - it can be read by git cat-file -p. fsck/gc don't seem to help.

Outside of kart, the object can be read by pygit2 1.11.1 (libgit2 1.5.0), but not by pygit2 1.9.1 (libgit 1.4.2).

I expect the upstream issue is libgit2/libgit2#6309 which was fixed in libgit2 1.5.0. The symptoms align (repo has >2GiB packfile and an MIDX)

Kart should upgrade to libgit2 1.5.0+ to fix the problem (and probably pygit2 too although I'm not sure if it matters)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant