Comment 14 for bug 734145

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 734145] Re: NoSuchId error applying inventory delta

On Tue, 2011-04-05 at 20:42 +0000, Eli Zaretskii wrote:
> The good news are, the original bug is probably gone. The bad news...
> well, see for yourself:
>
> I needed to install the latest trunk of dulwich, because the new bzr-git
> won't work with dulwich 0.7.0, which is the latest released version.
> After that, it worked all the way, but crashed at the end with this
> traceback:
>
> 12036.188 Traceback (most recent call last):
> File "bzrlib\commands.pyo", line 926, in exception_to_return_code
> File "bzrlib\commands.pyo", line 1126, in run_bzr
> File "bzrlib\commands.pyo", line 691, in run_argv_aliases
> File "bzrlib\commands.pyo", line 713, 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 1230, in run
> File "bzrlib\transport\__init__.pyo", line 1173, in delete_tree
> File "bzrlib\transport\__init__.pyo", line 1154, in delete_multi
> File "bzrlib\transport\__init__.pyo", line 450, in _iterate_over
> File "bzrlib\transport\local.pyo", line 434, in delete
> File "bzrlib\transport\__init__.pyo", line 316, in _translate_error
> PermissionDenied: Permission denied: "D:/gnu/bzr/gnulib.test/./.bzr/repository/git/idmap.db": [Error 32] The process cannot access the file because it is being used by another process: u'D:/gnu/bzr/gnulib.test/./.bzr/repository/git/idmap.db'
>
> I can assure you that no other bzr was running in that repository at the
> time. So it's probably bzr-git stepping on its own toes.
>
> Let me know if I can help you investigate that.
This happens because bzr encountered an error during the fetch and then
tried to remove the branch so it wouldn't leave any broken data around.
That delete happened while there was a file still open (which works fine
on POSIX but breaks on Windows, which doesn't allow removing open
files).

Can you try again with the delete_tree stuff skipped? This should be a
matter of adding "raise" on a new line 1230 of bzrlib/builtins.py,
before the delete_tree call.

Cheers,

Jelmer