--- old-tahoe-1.8/src/allmydata/util/spans.py 2010-08-16 22:34:18.267000000 +0100 +++ new-tahoe-1.8/src/allmydata/util/spans.py 2010-08-16 22:34:18.470000000 +0100 @@ -255,7 +255,12 @@ def get_spans(self): """Return a Spans object with a bit set for each byte I hold""" - return Spans([(start, len(data)) for (start,data) in self.spans]) + # XXX This is not the right long-term fix, because it depends on an undocumented + # invariant of Spans. + s = Spans() + s._spans = [(start, len(data)) for (start,data) in self.spans] + s._check() + return s def assert_invariants(self): if not self.spans: