Comment 15 for bug 250480

Revision history for this message
Robert Collins (lifeless) wrote :

re the knitcorrupt:
the full backtrace:
File "/data/jelmer/bzr/bzr.dev/bzrlib/commands.py", line 857, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/data/jelmer/bzr/bzr.dev/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/home/jelmer/.bazaar/dev-plugins/bzrtools/command.py", line 13, in run_argv_aliases
    commands.Command.run_argv_aliases(self, argv, alias_argv)
  File "/data/jelmer/bzr/bzr.dev/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/home/jelmer/.bazaar/dev-plugins/bzrtools/__init__.py", line 157, in run
    fetch_ghosts(branch, no_fix)
  File "/home/jelmer/.bazaar/dev-plugins/bzrtools/fetch_ghosts.py", line 67, in fetch_ghosts
    cmd_reconcile().run(".")
  File "/home/jelmer/bzr/bzr.dev/bzrlib/builtins.py", line 1167, in run
    reconcile(dir)
  File "/data/jelmer/bzr/bzr.dev/bzrlib/reconcile.py", line 53, in reconcile
    reconciler.reconcile()
  File "/data/jelmer/bzr/bzr.dev/bzrlib/reconcile.py", line 77, in reconcile
    self._reconcile()
  File "/data/jelmer/bzr/bzr.dev/bzrlib/reconcile.py", line 84, in _reconcile
    self._reconcile_repository()
  File "/data/jelmer/bzr/bzr.dev/bzrlib/reconcile.py", line 103, in _reconcile_repository
    repo_reconciler = self.repo.reconcile(thorough=True)
  File "/data/jelmer/bzr/bzr.dev/bzrlib/decorators.py", line 192, in write_locked
    result = unbound(self, *args, **kwargs)
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repofmt/pack_repo.py", line 1861, in reconcile
    reconciler.reconcile()
  File "/data/jelmer/bzr/bzr.dev/bzrlib/reconcile.py", line 195, in reconcile
    self._reconcile_steps()
  File "/data/jelmer/bzr/bzr.dev/bzrlib/reconcile.py", line 510, in _reconcile_steps
    new_pack = self._packer.pack(pb=self.pb)
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repofmt/pack_repo.py", line 594, in pack
    return self._create_pack_from_packs()
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repofmt/pack_repo.py", line 727, in _create_pack_from_packs
    self._copy_text_texts()
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repofmt/pack_repo.py", line 1001, in _copy_text_texts
    ideal_index = repo._generate_text_key_index(self._text_refs, ancestors)
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repository.py", line 1382, in _generate_text_key_index
    text_key_references, pb)
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repository.py", line 1422, in _do_generate_text_key_index
    for rev_tree in self.revision_trees(to_query):
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repository.py", line 1671, in revision_trees
    for inv in inventories:
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repository.py", line 1538, in _iter_inventories
    for text, revision_id in self._iter_inventory_xmls(revision_ids):
  File "/home/jelmer/bzr/bzr.dev/bzrlib/repository.py", line 1545, in _iter_inventory_xmls
    for record in stream:
  File "/data/jelmer/bzr/bzr.dev/bzrlib/knit.py", line 1208, in get_record_stream
    needed_from_fallback - absent_keys)
  File "/data/jelmer/bzr/bzr.dev/bzrlib/knit.py", line 1047, in _get_content_maps
    (actual_sha, digest, key))
KnitCorrupt: Knit <bzrlib.knit.KnitVersionedFiles object at 0x91ea94c> corrupt:
  sha-1 01d855e337787d2e171eeb10b52ca40e4cf080a7
  of reconstructed text does not match
  expected 669584ff8344d2f403846bbb6bcc43813c4fb77f
  for version ('svn-v3-trunk0:1811c9d2-c306-0410-a128-ae57aa55c946:trunk:1533',)

This indicates that the knit index has a different sha to the text; that can happen in a couple of ways:
 - editing a pack's content
 - providing a knit delta which doesn't do what it claimed