aider
aider copied to clipboard
Gitdb exception during active / healthy session
Issue
I had a long running session that was going well and a random command dumped the stack:
Applied edit to src/interactive/interactive_poker_game.cpp
Applied edit to src/interactive/base_poker_game.cpp
Applied edit to src/interactive/base_poker_game.h
Commit ca09ce8 Removed the notion of hero, AI, and human players from BasePokerGame and moved the logic to handle different
player types into InteractivePokerGame.
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CMakeLists.txt cpp src/apps/model_vs_model.cpp src/apps/play_model.cpp src/apps/random_test.cpp src/interactive/base_poker_
> update `ModelManager` to conform to this new `BasePokerGame` `handlePlayerTurn`
Traceback (most recent call last):
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/gitdb/db/loose.py", line 132, in _map_loose_object
return file_contents_ro_filepath(db_path, flags=self._fd_open_flags)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/gitdb/util.py", line 204, in file_contents_ro_filepath
fd = os.open(filepath, os.O_RDONLY | getattr(os, 'O_BINARY', 0) | flags)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/aelaguiz/workspace/amirbot/csrc/amirbot/.git/objects/ca/09ce87565b66a58ab9dae581330d96647c4363'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/aelaguiz/.pyenv/versions/3.11.4/bin/aider", line 8, in <module>
sys.exit(main())
^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/main.py", line 547, in main
coder.run()
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/coders/base_coder.py", line 612, in run
new_user_message = self.run_loop()
^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/coders/base_coder.py", line 650, in run_loop
self.check_for_file_mentions(inp)
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/coders/base_coder.py", line 1052, in check_for_file_mentions
mentioned_rel_fnames = self.get_file_mentions(content)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/coders/base_coder.py", line 1029, in get_file_mentions
addable_rel_fnames = self.get_addable_relative_files()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/coders/base_coder.py", line 1257, in get_addable_relative_files
return set(self.get_all_relative_files()) - set(self.get_inchat_relative_files())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/coders/base_coder.py", line 1238, in get_all_relative_files
files = self.repo.get_tracked_files()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/aider/repo.py", line 227, in get_tracked_files
commit = self.repo.head.commit
^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/git/refs/symbolic.py", line 297, in _get_commit
obj = self._get_object()
^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/git/refs/symbolic.py", line 288, in _get_object
return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/git/objects/base.py", line 149, in new_from_sha
oinfo = repo.odb.info(sha1)
^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/gitdb/db/base.py", line 210, in info
return self._db_query(sha).info(sha)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/gitdb/db/loose.py", line 154, in info
m = self._map_loose_object(sha)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aelaguiz/.pyenv/versions/3.11.4/lib/python3.11/site-packages/gitdb/db/loose.py", line 143, in _map_loose_object
raise BadObject(sha) from e
gitdb.exc.BadObject: BadObject: b'ca09ce87565b66a58ab9dae581330d96647c4363'
I've attached the full session as well as a txt file. Let me know if there's any reproduction steps you'd like for me to try.
Version 0.42.0, sonnet 3.5
Version and model info
aider --sonnet Aider v0.42.0 Models: claude-3-5-sonnet-20240620 with diff edit format, weak model claude-3-haiku-20240307 Git repo: .git with 2,295 files Warning: For large repos, consider using an .aiderignore file to ignore irrelevant files/dirs. Repo-map: using 1024 tokens Use /help to see in-chat commands, run with --help to see cmd line args