Comment 2 for bug 175570

Revision history for this message
Maciej Katafiasz (mathrick) wrote :

Still happens for me in 1.6b2. Tested with server running 1.5 (ie. protocol v2) and 1.6b2 (protocol v3).

Here's a minimal test case that manages to trigger that:

import bzrlib.branch as b
import bzrlib.memorytree as m

branch = b.Branch.open_containing("bzr://localhost/")
br = branch[0]
mtr = m.MemoryTree.create_on_branch(br)
mtr.lock_read()

# Traceback (most recent call last):
# File "/tmp/not_locked.py", line 9, in <module>
# mtr.lock_read()
# File "/usr/lib/python2.5/site-packages/bzrlib/memorytree.py", line 172, in lock_read
# self._populate_from_branch()
# File "/usr/lib/python2.5/site-packages/bzrlib/memorytree.py", line 224, in _populate_from_branch
# self._basis_tree.get_file(entry.file_id))
# File "/usr/lib/python2.5/site-packages/bzrlib/revisiontree.py", line 78, in get_file
# return StringIO(self.get_file_text(file_id))
# File "/usr/lib/python2.5/site-packages/bzrlib/revisiontree.py", line 75, in get_file_text
# return ''.join(self.get_file_lines(file_id))
# File "/usr/lib/python2.5/site-packages/bzrlib/revisiontree.py", line 71, in get_file_lines
# weave = self._get_weave(file_id)
# File "/usr/lib/python2.5/site-packages/bzrlib/revisiontree.py", line 67, in _get_weave
# self._repository.get_transaction())
# File "/usr/lib/python2.5/site-packages/bzrlib/repofmt/pack_repo.py", line 1780, in get_weave_or_empty
# self.repo._pack_collection.ensure_loaded()
# File "/usr/lib/python2.5/site-packages/bzrlib/repofmt/pack_repo.py", line 1340, in ensure_loaded
# raise errors.ObjectNotLocked(self.repo)
# bzrlib.errors.ObjectNotLocked: KnitPackRepository('bzr://localhost/.bzr/repository/') is not locked