Problems with bzr.dev tonight

Ian Clatworthy ian.clatworthy at internode.on.net
Tue Oct 16 01:56:45 BST 2007


Robert Collins wrote:
> On Mon, 2007-10-15 at 23:22 +1000, Martin Pool wrote:
>> That seems to be the problem - the data returned by _data.read_records
>> doesn't have
>> annotations before the lines - when we later try to split them out, we
>> die on any records that don't have a space.
>>
>> Worse, if every changed line does have a space, this will silently get
>> things 
>> wrong.  We should possibly add an assertion that there is actually a
>> space.
> 
> So, I think there are two issues here.
> 
> a) There is bad data being exported by Ian's patch to convert
> unannotated knits to annotated ones on the fly.

I suspect your right. Here's the part of the patch that's relevant:

+        # If the source and target are mismatched w.r.t. annotations vs
+        # plain, the data needs to be converted accordingly
+        if self.source.factory.annotated == self.target.factory.annotated:
+            converter = None
+        elif self.source.factory.annotated:
+            converter = self._anno_to_plain_converter
+        else:
+            # We're converting from a plain to an annotated knit. This
requires
+            # building the annotations from scratch. The generic join code
+            # handles this implicitly so we delegate to it.
+            return super(InterKnit, self).join(pb, msg, version_ids,
+                ignore_missing)
+

As Robert's pack branch won't have annotations while bzr.dev will, it's
the delegation to the generic knit join code which ought to be happening
(and if so, the bug may be in there).

> b) The delta application code/deserialisation code isn't detecting this
> explicitly, so you don't really get the chance to tell whats going on.
> 
> For a), we'll need to identify and repair all revisions I've created
> recently I suspect; it may be that only merges cause this - identifying
> the bug will be a key part of being able to tell whats corrupt and whats
> not. We also, obviously, need to fix the bug so that I can, from packs,
> emit data readable by knits properly.

The other interesting question is why this has only just appeared
yesterday. The bug may have been there for weeks but maybe it took a
particular combination of data to show it.

I'll continue digging ...

Ian C.



More information about the bazaar mailing list