Comment 12 for bug 495000

Revision history for this message
John A Meinel (jameinel) wrote :

I just reproduced this locally, but got a very different traceback (and more the one I would expect / what I had hoped we had fixed).

Using lp:bzr/2.0 I inserted a 'import pdb; pdb.set_trace()' in _do_autopack just after it decides it needs to do one. I then ran 'bzr commit' until it stopped, once that happened I started another commit in the other window, let it stop at the same place, continued on the first, and the second failed with:
...
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\pack_repo.py", line 1472, in autopack
    return self._do_autopack()
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\pack_repo.py", line 1513, in _do_autopack
    reload_func=self._restart_autopack)
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\groupcompress_repo.py", line 691, in _execute_pack_operations
    result = packer.pack()
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\pack_repo.py", line 760, in pack
    return self._create_pack_from_packs()
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\groupcompress_repo.py", line 473, in _create_pack_from_packs
    self._copy_revision_texts()
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\groupcompress_repo.py", line 411, in _copy_revision_texts
    'revisions', self._get_progress_stream, 1)
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\groupcompress_repo.py", line 400, in _copy_stream
    reuse_blocks=False):
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\groupcompress.py", line 1663, in _insert_record_stream
    for record in stream:
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\repofmt\groupcompress_repo.py", line 207, in pb_stream
    for idx, record in enumerate(substream):
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\groupcompress.py", line 1423, in get_record_stream
    orig_keys, ordering, include_delta_closure):
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\groupcompress.py", line 1582, in _get_remaining_record_stream
    for factory in batcher.yield_factories(full_flush=True):
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\groupcompress.py", line 1146, in yield_factories
    block_read_memo, block = blocks.next()
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\groupcompress.py", line 1379, in _get_blocks
    zdata = raw_records.next()
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\knit.py", line 3364, in get_raw_records
    reader = pack.make_readv_reader(transport, path, offsets)
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\pack.py", line 221, in make_readv_reader
    transport.readv(filename, readv_blocks)))
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\transport\__init__.py", line 656, in readv
    return self._readv(relpath, offsets)
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\transport\__init__.py", line 668, in _readv
    fp = self.get(relpath)
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\transport\local.py", line 167, in get
    self._translate_error(e, path)
  File "C:\Users\jameinel\dev\bzr\swork\bzrlib\transport\__init__.py", line 306, in _translate_error
    raise errors.NoSuchFile(path, extra=e)
NoSuchFile: No such file: u'C:/Users/jameinel/dev/,tmp/remote-mem-test/.bzr/repository/packs/54548bdc2dfdbe29ff0a46e298e4fd38.pack': [Errno 2] No such file or directory: u'C:/Users/jameinel/dev/,tmp/remote-mem-test/.bzr/repository/packs/54548bdc2dfdbe29ff0a46e298e4fd38.pack'

Looking at it, I see the 'reload_func=self_restart_autopack' line, so it should have tried to restart, but it certainly doesn't seem to have triggered. Will investigate further.