Corrupt bazaar repositories
Martin Steigerwald
Martin at lichtvoll.de
Fri Jun 22 10:18:00 BST 2007
Hello!
I have quite some corrupt Bazaar repositories after I tried out xfs_fsr -
the online defragmentation tool for XFS. I had something similar with
KMail index files and a Mercurial repository[1]. I dunno whether it is
related to xfs_fsr or not. At least I could not reproduce this up to
now - neither with KMail indexes nor with a bzr repository, but aside
from the broken ones I had no Bazaar repository with fragmented files.
For all repositories except the one of my Bazaar article unfortunately I
still had good backup copies...
Broken repositories look like this:
---------------------------------------------------------------------
martin at shambala:~/.crm114> mv .bzr .bzr-good
martin at shambala:~/.crm114> mv .bzr-broken .bzr
martin at shambala:~/.crm114> bzr check
Working tree format 3 is deprecated and a better format is available.
It is recommended that you upgrade by running the command
bzr upgrade file:///home/martin/.crm114/
bzr: ERROR: bzrlib.errors.KnitCorrupt: Knit
4a/mailfilter.cf-20070329201046-91b62hipeixaywh9-1.knit corrupt: While
reading {martin at lichtvoll.de-20070329201346-8haxmei79rcy8o8h} got
AssertionError(what does flush do?)
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 718, in
run_bzr_catch_errors
return run_bzr(argv)
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 679, in
run_bzr
ret = run(*run_argv)
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 375, in
run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 2264,
in run
check(branch, verbose)
File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 202, in
check
repo_result = branch.repository.check([branch.last_revision()])
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 127,
in read_locked
return unbound(self, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 914,
in check
return self._check(revision_ids)
File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 918,
in _check
result.check()
File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 73, in
check
self.check_one_rev(rev_id)
File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 149, in
check_one_rev
self._check_revision_tree(rev_id)
File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 182, in
_check_revision_tree
ie.check(self, rev_id, inv, tree)
File "/usr/lib/python2.4/site-packages/bzrlib/inventory.py", line 358,
in check
self._check(checker, rev_id, tree)
File "/usr/lib/python2.4/site-packages/bzrlib/inventory.py", line 626,
in _check
if self.text_sha1 != w.get_sha1(self.revision):
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 559, in
get_sha1
record_map = self._get_record_map([version_id])
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 793, in
_get_record_map
for component_id, content, digest in \
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 1594, in
read_records_iter
content, digest = self._parse_record(version_id, data)
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 1499, in
_parse_record
"While reading {%s} got %s(%s)"
KnitCorrupt: Knit 4a/mailfilter.cf-20070329201046-91b62hipeixaywh9-1.knit
corrupt: While reading
{martin at lichtvoll.de-20070329201346-8haxmei79rcy8o8h} got
AssertionError(what does flush do?)
bzr 0.17.0 on python 2.4.4.final.0 (linux2)
arguments: ['/usr/bin/bzr', 'check']
** please send this report to bazaar at lists.ubuntu.com
---------------------------------------------------------------------
Or this:
---------------------------------------------------------------------
martin at shambala:Artikel/Linux/Bazaar> bzr check
Working tree format 3 is deprecated and a better format is available.
It is recommended that you upgrade by running the command
bzr upgrade file:///home/martin/Artikel/Linux/Bazaar/
bzr: ERROR: exceptions.IndexError: list index out of range
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 718, in
run_bzr_catch_errors
return run_bzr(argv)
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 679, in
run_bzr
ret = run(*run_argv)
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 375, in
run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 2264,
in run
check(branch, verbose)
File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 201, in
check
branch_result = branch.check()
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 127,
in read_locked
return unbound(self, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/bzrlib/branch.py", line 747, in
check
revision = self.repository.get_revision(revision_id)
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 127,
in read_locked
return unbound(self, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/bzrlib/repofmt/knitrepo.py", line
107, in get_revision
return self.get_revision_reconcile(revision_id)
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 127,
in read_locked
return unbound(self, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 446,
in get_revision_reconcile
return self.get_revisions([revision_id])[0]
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 127,
in read_locked
return unbound(self, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 452,
in get_revisions
self.get_transaction())
File "/usr/lib/python2.4/site-packages/bzrlib/store/revision/knit.py",
line 84, in get_revisions
texts = self._get_serialized_revisions(revision_ids, transaction)
File "/usr/lib/python2.4/site-packages/bzrlib/store/revision/knit.py",
line 98, in _get_serialized_revisions
vf = self.get_revision_file(transaction)
File "/usr/lib/python2.4/site-packages/bzrlib/store/revision/knit.py",
line 112, in get_revision_file
return self.versioned_file_store.get_weave_or_empty('revisions',
transaction)
File "/usr/lib/python2.4/site-packages/bzrlib/store/versioned/__init__.py",
line 208, in get_weave_or_empty
return self.get_weave(file_id, transaction, _filename=_filename)
File "/usr/lib/python2.4/site-packages/bzrlib/store/versioned/__init__.py",
line 154, in get_weave
access_mode='r',
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 365, in
__init__
dir_mode=dir_mode)
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 1153, in
__init__
self._load_data(fp)
File "/usr/lib/python2.4/site-packages/bzrlib/knit.py", line 1194, in
_load_data
parent_id = history[int(value)]
IndexError: list index out of range
bzr 0.17.0 on python 2.4.4.final.0 (linux2)
arguments: ['/usr/bin/bzr', 'check']
** please send this report to bazaar at lists.ubuntu.com
---------------------------------------------------------------------
Any hints on how I can fix the Bazaar article repository?
I can provide the .crm114 repo for public download for further analysis. I
can also provide the Bazaar article to a Bazaar developer who keeps it
private.
If you need any further information please ask.
This is on a combination of Debian Etch, Lenny, Sid and Experimental.
[1] http://oss.sgi.com/archives/xfs/2007-06/msg00242.html
Regards,
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070622/567dce45/attachment.pgp
More information about the bazaar
mailing list