OK, back to the original bug report by Gary Weinfurther. In his .bzr.log I see the regular error pattern: Tue 2010-11-23 10:31:39 -0500 0.063 bazaar version: 2.2.1 0.063 bzr arguments: [u'qsubprocess', u'--bencode', u'l6:commit2:-m17:added search icon31:public_html/img/search-icon.pnge'] 0.063 looking for plugins in C:/Users/Gary/AppData/Roaming/bazaar/2.0/plugins 0.063 looking for plugins in C:/Program Files (x86)/Bazaar/plugins 0.156 encoding stdout as osutils.get_user_encoding() 'cp1252' 0.203 bazaar version: 2.2.1 0.203 bzr arguments: [u'commit', u'-m', u'added search icon', u'public_html/img/search-icon.png'] 0.203 encoding stdout as osutils.get_user_encoding() 'cp1252' 0.281 opening working tree 'D:/Projects/Lincoln/Digital Frontline/2010-11/web/source' 2.730 Traceback (most recent call last): File "bzrlib\commands.pyo", line 912, in exception_to_return_code File "bzrlib\commands.pyo", line 1112, in run_bzr File "bzrlib\commands.pyo", line 690, in run_argv_aliases File "bzrlib\commands.pyo", line 705, in run File "bzrlib\cleanup.pyo", line 135, in run_simple File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups File "C:/Program Files (x86)/Bazaar/plugins\qbzr\lib\commands.py", line 767, in run File "C:/Program Files (x86)/Bazaar/plugins\qbzr\lib\subprocess.py", line 888, in run_subprocess_command File "bzrlib\commands.pyo", line 1112, in run_bzr File "bzrlib\commands.pyo", line 690, in run_argv_aliases File "bzrlib\commands.pyo", line 705, in run File "bzrlib\cleanup.pyo", line 135, in run_simple File "bzrlib\cleanup.pyo", line 165, in _do_with_cleanups File "bzrlib\builtins.pyo", line 3200, in run File "bzrlib\decorators.pyo", line 192, in write_locked File "bzrlib\workingtree_4.pyo", line 629, in lock_write File "bzrlib\branch.pyo", line 2452, in lock_write File "bzrlib\lockable_files.pyo", line 187, in lock_write File "bzrlib\lockdir.pyo", line 648, in lock_write File "bzrlib\lockdir.pyo", line 563, in wait_lock File "bzrlib\lockdir.pyo", line 524, in attempt_lock File "bzrlib\lockdir.pyo", line 254, in _attempt_lock LockFailed: Cannot lock LockDir(file:///L:/IPD/Lincoln/Digital%20Frontline/2010-11/web/source/branch-php/.bzr/branch/lock): lock was renamed into place, but now is missing! 2.730 Transferred: 0kB (0.0kB/s r:0kB w:0kB) 2.730 return code 3 [ 4996] 2010-11-23 10:32:32.572 WARNING: Cannot save commit data because the branch is locked. [ 4996] 2010-11-23 10:32:32.572 WARNING: Cannot save commit data because the branch is locked. 7395.142 opening working tree 'D:/Projects/Lincoln/Digital Frontline/2010-11/web/source' 60.514 None The first part comes from `bzr commit` that we run as subprocess. Therefore this problem should be repeatable with command-line `bzr commit`. If it's not I'd like to see other .bzr.logs The second part, specifically WARNING: Cannot save commit data because the branch is locked. that's from qcommit trying to update commit_data in branch.conf. This warning could be triggered only from def save_commit_data(self): if (self.tree.branch.control_files.get_physical_lock_status() or self.tree.branch.is_locked()): # XXX maybe show this in a GUI MessageBox (information box)??? from bzrlib.trace import warning warning("Cannot save commit data because the branch is locked.") return And after the warning we did return, so even did not trying to update branch.conf. I have no idea why the warning messages is doubled in the .bzr.log. Do you? But actually that means underlying `bzr commit` running in the subprocess is failing due locking problems. Please, if you still can reproduce this issue, please attach here your own .bzr.log (relevant part of it, or just a tail after you get that error). Also, please check do you have any anti-virus monitor software running that make real-time check of the filesystem?