-
-
Notifications
You must be signed in to change notification settings - Fork 950
Open
Labels
Description
I get a this error in our repo specifically with one commit which has 2064 files changed, 3030969 insertions(+)
.
Python 3.10.12 (main, May 27 2025, 17:12:29) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import git
>>> repo = git.Repo('/path/to/my-repo', odbt=git.GitDB)
>>> commit = repo.head.commit
>>> iterator = commit.tree.traverse()
>>> while True:
... next(iterator)
...
… lots of output …
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "/home/username/.local/lib/python3.10/site-packages/git/objects/util.py", line 575, in _traverse
addToStack(stack, item, branch_first, next_d)
File "/home/username/.local/lib/python3.10/site-packages/git/objects/util.py", line 535, in addToStack
lst = self._get_intermediate_items(item)
File "/home/username/.local/lib/python3.10/site-packages/git/objects/tree.py", line 209, in _get_intermediate_items
return tuple(index_object._iter_convert_to_object(index_object._cache))
File "/home/username/.local/lib/python3.10/site-packages/gitdb/util.py", line 253, in __getattr__
self._set_cache_(attr)
File "/home/username/.local/lib/python3.10/site-packages/git/objects/tree.py", line 215, in _set_cache_
ostream = self.repo.odb.stream(self.binsha)
File "/home/username/.local/lib/python3.10/site-packages/gitdb/db/base.py", line 213, in stream
return self._db_query(sha).stream(sha)
File "/home/username/.local/lib/python3.10/site-packages/gitdb/db/pack.py", line 103, in stream
return entity.stream_at_index(index)
File "/home/username/.local/lib/python3.10/site-packages/gitdb/pack.py", line 784, in stream_at_index
return self._object(None, True, index)
File "/home/username/.local/lib/python3.10/site-packages/gitdb/pack.py", line 737, in _object
streams = self.collect_streams_at_offset(offset)
File "/home/username/.local/lib/python3.10/site-packages/gitdb/pack.py", line 871, in collect_streams_at_offset
streams = self._pack.collect_streams(offset)
File "/home/username/.local/lib/python3.10/site-packages/gitdb/pack.py", line 609, in collect_streams
ostream = pack_object_at(c, offset, True)[1]
File "/home/username/.local/lib/python3.10/site-packages/gitdb/pack.py", line 86, in pack_object_at
data = cursor.use_region(offset).buffer()
File "/home/username/.local/lib/python3.10/site-packages/smmap/mman.py", line 133, in use_region
self._region = man._obtain_region(self._rlist, offset, size, flags, False)
File "/home/username/.local/lib/python3.10/site-packages/smmap/mman.py", line 521, in _obtain_region
self._collect_lru_region(window_size)
File "/home/username/.local/lib/python3.10/site-packages/smmap/mman.py", line 338, in _collect_lru_region
lru_region.increment_client_count(-1)
File "/home/username/.local/lib/python3.10/site-packages/smmap/util.py", line 179, in increment_client_count
self.release()
File "/home/username/.local/lib/python3.10/site-packages/smmap/util.py", line 187, in release
self._mf.close()
BufferError: cannot close exported pointers exist
>>>