corrupt knit index on an old arch-imported bzr repo

Bug #239499 reported by Andy Wingo
2
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Medium
Unassigned

Bug Description

Hi.

I have a bzr repo on which bzr check fails. It is here:

http://arch.gna.org/guile-gnome/bzr/pkg

Here's the traceback: http://paste.ubuntu.com/19674/

I am running bzr r3494 on a fedora 9 system.

Relevant IRC log:

<jam> wingo-tp: there are different variations on what causes KnitCorrupt to be raised
<jam> sometimes it is genuine disk corruption
<jam> the specific case listed in that bug has been fixed
<jam> Do you know if that is what you are experiencing?
<vila> jam: for a start, I want to have a look at the tests adaptation/application since lifeless said he want to get rid of all classes
<wingo-tp> jam: i pulled from bzr today, so if that bug is fixed, it is not the bug that i am experiencing
<wingo-tp> disk corruption would be the badness
<jam> wingo-tp: are you seeing "Knit *inventory* corrupt"
<jam> or just "Knit Corrupt" ?
<jam> (do you have the traceback to paste)?
<jam> !past
<ubottu> Factoid past not found
<jam> !paste
<ubottu> pastebin is a service to post multiple-lined texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu.com (make sure you give us the URL for your paste - see also the channel topic)
<wingo-tp> i do have it, /me goes to pastebin
* andrea-bs has quit ("rm -r andrea-bs")
<wingo-tp> http://paste.ubuntu.com/19674/
<jam> wingo-tp: any chance you would have had 2 conversions of the arch tree
<jam> possibly with one of them having more history than the other?
<wingo-tp> perhaps it had something to do with the fact that it was imported from arch a long time ago, but i have upgraded it since -- i first saw this error when trying to upgrade to ricj-root-packs
<wingo-tp> jam: this is possible, i suppose
<jam> wingo-tp: so what it *could* be, is that at one point you did a conversion with a different amount of history
<jam> which caused the "last-modified" fields in the inventories to differ
<jam> at some point after that, the branches were merged together
<jam> and they didn't notice that the inventories they were referencing had a different text
<jam> and so they pulled across a delta which technically only applies to the *other* base
<jam> and thus when applied to this base, the sha-1 doesn't match
<jam> I would have thought you would encounter the error sooner rather than later
<jam> I probably can hack something together as a workaround, but a real fix is probably a bit involved.
<wingo-tp> odd.. i mean, i can bzr log all of the branches in this repo
* bigdo2 (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) has joined #bzr
* jaypipes has quit (Read error: 110 (Connection timed out))
<jam> wingo-tp: we don't need inventories to do 'bzr log'
<jam> just revisions
<jam> different place
<wingo-tp> ok
<jam> if you did "bzr log --verbose"
<jam> Then you would probably get the failure
* jaypipes (n=jpipes@nat/sun/x-bc98c86c402debb9) has joined #bzr
<wingo-tp> indeed i do get the failure
<wingo-tp> after a merge with another arch branch
<jam> wingo-tp: is this a recent conversion?
<wingo-tp> no it is not
<wingo-tp> about august 2006
<jam> wingo-tp: is this a recent merge of that other branch, though?
<wingo-tp> jam: nope
<jam> the guile-gnome-pkg--release--0--base-0 branch?
<wingo-tp> no, i completely left arch around august of 2006
* quatauta has quit ("Verlassend")
<jam> I'm talking mostly about a branch derived from that revision
<jam> not merging that revision specifically
<wingo-tp> and have not done merges from other branches that hadn't been forked off of this one
<wingo-tp> i guess what you are saying is possible, but i don't think so.
<jam> wingo-tp: I'm just trying to figure out why you are hitting it *now* rather than earlier
<wingo-tp> jam: well, i've never run bzr check before
<jam> do you have any idea of things that have been happening recenty?
<jam> oh, well I suppose that might do it
<wingo-tp> so if a previous bzr upgrade happened and did not run bzr check...
<jam> if you never access that revision, it wouldn't ever find it broken
<wingo-tp> that very well could be
<jam> specifically, we check sha1 sum whenever we extract the full text
<jam> but you may have never needed to do that
<wingo-tp> right
<jam> I'm guessing you have a very small few nodes that are effected
* cody-somerville has quit (Remote closed the connection)
<jam> and it is restricted to a specific local part of ancestry
<jam> wingo-tp: how high of a priority is this for you, as in, does it block something you are trying to do?
<jam> I don't have a lot of time to write a workaround right now, unless you really need it
<jam> wingo-tp: but I *would* ask you to submit a new bug
<jam> if you can, link to the branch that shows the problem
* bigdog has quit (Connection timed out)
<wingo-tp> jam: i can wait a while, i think;
* trepca has quit ()
<wingo-tp> how do you think this will affect people who have checkouts of this branch? they will have to re-pull, no? will all the sha1's be different, like in git?
<wingo-tp> it's http://arch.gna.org/guile-gnome/bzr/pkg/
<jam> wingo-tp: only a few local sha1s will be changed
* BasicOSX (<email address hidden>) has joined #bzr
<jam> I'm not sure how we would be able to propagate that to everyone
<jam> it shouldn't change the whole ancestry
<wingo-tp> i should just tell everyone to branch again, no?
<jam> wingo-tp: they would have to clear out any repository that they have
<wingo-tp> ok
<jam> It is probably easier to just have them all run whatever fix I come up with
<wingo-tp> (thanks for looking at this, btw)

Revision history for this message
Martin Pool (mbp) wrote :
Download full text (3.8 KiB)

traceback is

(g-wrap guile) wingo@unquote:~/src/guile-gnome/platform$ bzr check
bzr: ERROR: bzrlib.errors.KnitCorrupt: Knit inventory corrupt:
  sha-1 c17d607f36f8f3dc2ee2c5c972da4a43d2e2646c
  of reconstructed text does not match
  expected 1549a9422b50217edcf1984516da96e7cd8c16e0
  for version Arch-1:<email address hidden>%guile-gnome-pkg--release--0--base-0

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 846, in run_bzr_catch_errors
    return run_bzr(argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 797, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 499, in run_argv_aliases
    return self.run(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/builtins.py", line 2434, in run
    check(branch_obj, verbose)
  File "/usr/lib/python2.5/site-packages/bzrlib/check.py", line 258, in check
    repo_result = branch.repository.check([branch.last_revision()])
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 127, in read_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1786, in check
    return self._check(revision_ids)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1790, in _check
    result.check()
  File "/usr/lib/python2.5/site-packages/bzrlib/check.py", line 79, in check
    self.check_one_rev(rev_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/check.py", line 190, in check_one_rev
    self._check_revision_tree(rev_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/check.py", line 227, in _check_revision_tree
    tree = self.repository.revision_tree(rev_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 127, in read_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1627, in revision_tree
    inv = self.get_revision_inventory(revision_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 127, in read_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1590, in get_revision_inventory
    return self.get_inventory(revision_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/decorators.py", line 127, in read_locked
    return unbound(self, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1495, in get_inventory
    return self.iter_inventories([revision_id]).next()
  File "/usr/lib/python2.5/site-packages/bzrlib/repository.py", line 1513, in _iter_inventories
    texts = self.get_inventory_weave().get_texts(revision_ids)
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 1421, in get_texts
    return [''.join(l) for l in self.get_line_list(version_ids)]
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 1427, in get_line_list
    text_map, content_map = self._get_content_maps(version_ids)
  File "/usr/lib/python2.5/site-packages/bzrlib/knit.py", line 1483, in _get_content_maps
    (actual_sha, ...

Read more...

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 239499] Re: corrupt knit index on an old arch-imported bzr repo

On Fri, 2008-06-13 at 00:17 +0000, Martin Pool wrote:
> traceback is
>
> (g-wrap guile) wingo@unquote:~/src/guile-gnome/platform$ bzr check
> bzr: ERROR: bzrlib.errors.KnitCorrupt: Knit inventory corrupt:
> sha-1 c17d607f36f8f3dc2ee2c5c972da4a43d2e2646c
> of reconstructed text does not match
> expected 1549a9422b50217edcf1984516da96e7cd8c16e0
> for version Arch-1:<email address hidden>%guile-gnome-pkg--release--0--base-0

I have a matching failure on another converted project. That project
used to pass, so I am betting it is an EOL issue.

Possibly in fact the one recently fixed in bzr.dev.

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

James Westby (james-w)
Changed in bzr:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Robert Collins (lifeless) wrote :

 status fix-committed

This is fixed by the bugfix for KnitContent objects - I forget the bug
number, but doing 'check' with bzr.dev will work for you.

-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Revision history for this message
Andy Wingo (andywingo) wrote :

Thanks for looking at this, Robert. Unfortunately I still have the error, even after having done a `bzr pull' in my bzr.dev checkout. Could I be doing something wrong?

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

On Tue, 2008-06-17 at 19:32 +0000, Andy Wingo wrote:
> Thanks for looking at this, Robert. Unfortunately I still have the
> error, even after having done a `bzr pull' in my bzr.dev checkout. Could
> I be doing something wrong?

If it used to pass check in the past, and now it doesn't - its unlikely
you are doing anything wrong.

Is the repository available somewhere where I could peek?

Alternatively, I can hack up a bit of a cross-check script for you to
run.

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Revision history for this message
Andy Wingo (andywingo) wrote :

Perhaps you are confusing this bug with another one. I have never to my knowledge run `check' until trying to upgrade to rich-root-pack, which runs check for you. Now I realize that check fails. Probably it has been failing for some time, just that I didn't know. In the IRC log, jam suggests:

<jam> wingo-tp: so what it *could* be, is that at one point you did a conversion with a different amount of history
<jam> which caused the "last-modified" fields in the inventories to differ
<jam> at some point after that, the branches were merged together
<jam> and they didn't notice that the inventories they were referencing had a different text
<jam> and so they pulled across a delta which technically only applies to the *other* base
<jam> and thus when applied to this base, the sha-1 doesn't match
<jam> I would have thought you would encounter the error sooner rather than later
<jam> I probably can hack something together as a workaround, but a real fix is probably a bit involved.

This does appear to coincide with what I did, two years ago. Likely the bug was in the conversion tool (although given that it was a tla/baz import, you'd figure that those tools would be better than the rest). Anyway, I'm a bit stuck, and some way to fix my repo would be greatly appreciated.

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

The backtrace doesn't fit jam's theory :P but I'll peek my tomorrow and
try to detail whats wrong.

-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

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

Why do you say it doesn't fit the theory? IIRC we ran into this a long time ago in 'bzr' with one of Aaron's branches. He had some ghosts that we didn't have in bzr.dev. And so some of his inventories had different last-modified values for given file texts.

His delta patch was overlayed on a bzr.dev revision, which meant that when the text was extracted, the delta applied cleanly, but the final content sha1 sum did not match.

That certainly seems like what is happening here, as the failure is while extracting an inventory, that the full text sha1 sum doesn't match the saved value.

Revision history for this message
Andy Wingo (andywingo) wrote :

Hi, just a kind ping :) I'm going ahead and releasing my software, but it's a real bummer that bzr is so slow with the older formats.

Revision history for this message
Andy Wingo (andywingo) wrote :

Hi, another ping :) I imagine I'm not the only one like this, anyone who imported from baz archives might be in this situation.

Revision history for this message
Andy Wingo (andywingo) wrote :

Ping :-(

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

On Tue, 2008-08-19 at 18:06 +0000, Andy Wingo wrote:
> Ping :-(

Hi sorry, 1.6 release has been quite time consuming. I'm going to try
and dig into this shortly.

-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Revision history for this message
Andy Wingo (andywingo) wrote :

Be forewarned, I am going to go on a pingathon :)

Revision history for this message
linas (linasvepstas) wrote :

FWIW,

BZR is not just another "application"; its more like a file system or a database; data corruption issues should be ranked much higher than ANY other release work, such as getting release 1.6 out. Basically, my gut instinct is "drop everything, stop all work on all releases NOW, and fix ALL open corruption bugs".

BZR should not go about life as if it was just another Linux application, la-de-da, releasing new releases and adding new features. Its got to actually protect the data that its storing: the total amount of work in BZR repo's is thousands of times greater than the amount of work that all bzr developers have ever put into bzr itself. Its carrying a lot of weight!

Revision history for this message
Andy Wingo (andywingo) wrote :

Ping! Pretty please? :)

Revision history for this message
Andy Wingo (andywingo) wrote :

Ping ping ping ping!

Seriously, Robert, please take a look at this, close it as a wontfix if you like, but do respond.

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

argh sorry Andy. My task list for today is:
 - generate some stats on what uses what space in repositories
 - look at this branch

-Rob

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 239499] Re: corrupt knit index on an old arch-imported bzr repo

On Thu, 2008-10-16 at 23:05 +0000, Robert Collins wrote:
> argh sorry Andy. My task list for today is:
> - generate some stats on what uses what space in repositories
> - look at this branch

Its still on my list; today was all admin stuff; tomorrow cross my heart
hope to fix.

-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Revision history for this message
Andy Wingo (andywingo) wrote :

Admin happens, I know ;-) Let me know if you need something from me.

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 239499] Re: corrupt knit index on an old arch-imported bzr repo

So, this suffers from the baz-import data-referencing issue as well as a
checksum failure.

I'll generate a fixed branch once I figure out what the root cause of
the checksum issue is; it probably needs a data repair run over it to
fix the baz-import issue.

-Rob

Revision history for this message
Robert Collins (lifeless) wrote :
Download full text (6.4 KiB)

This is the first[total unknown] failure:

['<inventory format="5" revision_id="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-9">\n',
 '<file file_id="x_c4c88f41-651e-4015-86e8-d1f9e74649ee" name="AUTHORS" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-8" text_sha1="ca92ebbc17538ccb1dd59844c45debc21d24bdf0" text_size="985" />\n',
 '<file file_id="x_4cb46764-0bed-40e9-9a0d-494c055bee22" name="COPYING" revision="Arch-1:<email address hidden>%pkg--dev--0--base-0" text_sha1="dfac199a7539a404407098a2541b9482279f690d" text_size="17992" />\n',
 '<file file_id="x_1e86ce33-d322-4851-8e3a-56bd94263cde" name="ChangeLog" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-9" text_sha1="19a8f61dd5b637388a654fb0de77303b19d52397" text_size="1758" />\n',
 '<file file_id="x_2ee4832d-64fc-4c45-8622-f5821b373cb4" name="HACKING" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-9" text_sha1="7c6980f271d6e402b11d195fe873975fd62de352" text_size="5148" />\n',
 '<file file_id="x_d566e759-8b32-476f-94b3-99d85d3dbfde" name="INSTALL" revision="Arch-1:<email address hidden>%pkg--dev--0--base-0" text_sha1="98ddba3c54f8cd72a6c937b47a7faf1ed62899b8" text_size="9240" />\n',
 '<file file_id="x_52a01958-7e5a-4012-84b3-326a10756bf0" name="Makefile.am.bottom" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-9" text_sha1="14670fe23531a365e96f450da3ffb5c778331c33" text_size="121" />\n',
 '<file file_id="x_060fd750-5bdd-477e-b9d3-5b3fd46097f5" name="NEWS" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-6" text_sha1="a84176dc394e74d2644aaa0a63eb9db0e9bb8cb5" text_size="706" />\n',
 '<file file_id="x_743dfd52-64cc-467d-bc4c-337be0c37bd8" name="README" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-6" text_sha1="0fea9ff9baeb72fd15d1599f2ec84fd9eb114c6f" text_size="1924" />\n',
 '<file file_id="x_f6bc671e-d292-4f39-b234-4f65344ef9f6" name="autogen-pkg.sh" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-9" text_sha1="822dbc10317ffa523a1c31821765809e9906a1c9" text_size="4442" />\n',
 '<file file_id="x_b0b05af6-2b90-409e-995a-b7406273d6e7" name="autogen-support.sh" revision="Arch-1:<email address hidden>%pkg--dev--0--patch-1" text_sha1="273e8ebd814b7041d446f62ca3d1832d1b975701" text_size="8781" />\n',
 '<file executable="yes" file_id="x_bb155d62-24af-4587-ba66-69ac9713eec7" name="autogen.sh" revision="Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-3" text_sha1="5cb28157753bcc45d75d3f474fefce4ccf856b30" text_size="2382" />\n',
 '<file file_id="x_2e3559b8-8e9c-454b-8c7d-ab31bb7d1340" name="common.mk" revision="Arch-1:<email address hidden>%pkg--dev--0--patch-6" text_sha1="a9961c998abb1e51e3f1f46810d927e67d4b4097" text_size="1178" />\n',
 '<file executable="yes" file_id="x_74c14f09-8615-4f8c-9ce6-462008928a41" name="dev-environ.in" revision="Arch-1:<email address hidden>%pkg--dev--0--patch-6" text_sha1="a0015197309491da3403d8b7c3a2d9debdd1f13f" text_size="699" />\n',
 '<file executable="yes" fi...

Read more...

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 239499] Re: corrupt knit index on an old arch-imported bzr repo
Download full text (4.2 KiB)

Script to 'fix' the sha1's.

Note that if the deltas do not create a sensible inventory, then this
will just make things worse: do _not_ run it other than on a backup of
the repository.

import bzrlib.repository
from bzrlib import errors
from bzrlib.tsort import topo_sort
from bzrlib.versionedfile import FulltextContentFactory
r = bzrlib.repository.Repository.open('.')
r.lock_write()
r._backup_inventory()
new_inv = r._temp_inventories()
order = topo_sort(r.inventories.get_parent_map(r.inventories.keys()))
for key in order:
  try:
    record = r.inventories.get_record_stream([key], 'unordered',
True).next()
  except errors.SHA1KnitCorrupt, e:
    assert e.key == key
    record = FulltextContentFactory(record.key, record.parents, None,
''.join(e.content))
  new_inv.insert_record_stream([record])
r._activate_new_inventory()

After running this on a wget created copy of the repo, I get:

BzrCheckError: Internal check failed: Stored revisions missing from inventory
{Arch-1:<email address hidden>%guile-gnome-libglade--release--0--patch-2,Arch-1:<email address hidden>%guile-gnome-libglade--release--0--patch-1,Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-12,Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-10,Arch-1:<email address hidden>%guile-gnome-pkg--release--0--patch-11,Arch-1:<email address hidden>%guile-gnome-glib--release--0--base-0,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-8,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-9,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-2,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-3,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--base-0,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-1,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-6,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-7,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-4,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-5,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-10,Arch-1:<email address hidden>%guile-gnome-gtk--release--0--patch-11,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-7,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-6,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-5,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-4,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-3,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-2,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-1,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-9,Arch-1:<email address hidden>%guile-gnome-glib--release--0--patch-8,Arch-1:<email address hidden>%guile-gnome-pkg--release--0--base-0,Arch-1:<email address hidden>%guile-gnome-libglade--release--0--base-0,Arch-1:<email address hidden>%guile-gnome-libgnomeui--release--0--base-0,Arch-1:<email address hidden>%guile-gnome-glib--release--...

Read more...

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

Previous script was borked...

import bzrlib.repository
from bzrlib import errors
from bzrlib.tsort import topo_sort
from bzrlib.versionedfile import FulltextContentFactory
r = bzrlib.repository.Repository.open('.')
r.lock_write()
r._backup_inventory()
new_inv = r._temp_inventories()
order = topo_sort(r.inventories.get_parent_map(r.inventories.keys()))
for key in order:
  try:
    record = r.inventories.get_record_stream([key], 'unordered',
True).next()
  except errors.SHA1KnitCorrupt, e:
    print "recovering %r" % key
    assert e.key == key
    parents = r.inventories.get_parent_map([key])[key]
    record = FulltextContentFactory(key, parents, None,
      ''.join(e.content))
  new_inv.insert_record_stream([record])
r._activate_new_inventory()

After this, check works for me - though it still reports inconsistent
parents; there is an existing script to repair that, and I'm about to
dig that up and run it over a repaired repo.

-Rob

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

Attached is a fixed branch.

You may well need to run test-all.py from https://bugs.edge.launchpad.net/bzr/+bug/246880 on other branches, which are likely suffering a mismatch too. I'll be happy to help you figure out any cascading issues from this - but this single fixed branch should be a solid starting point.

Cheers,
Rob

Revision history for this message
Andy Wingo (andywingo) wrote :

Rob, that was incredible.

Since I have quite a number of other branches which exhibit this problem (at least all of them at https://code.launchpad.net/guile-gnome), it will take a bit of time for me to verify that everything works.

I owe you, big time. I think I would have been at quite a loss given that it wasn't just the baz date issue. I'll get back to you on Thursday once I've checked the other branches.

Thanks again!

Revision history for this message
Vincent Ladeuil (vila) wrote :

Andy, can you confirm your branches are now fixed ?

Changed in bzr:
status: Confirmed → Incomplete
Revision history for this message
Andy Wingo (andywingo) wrote :

I can confirm that that script seems to work on other repositories that show the same issue. However, verifying for guile-gnome (which has many more than that one that I linked) will take some time.

Still, I never said thank you to Robert. So here: thanks Robert! I really appreciate it.

Jelmer Vernooij (jelmer)
Changed in bzr:
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.