[ZODB-Dev] zc.zodbdgc bug - undefined variable
Sylvain Viollon
sylvain at infrae.com
Mon Aug 8 04:41:55 EDT 2011
Hello,
Op 5 aug 2011, om 22:12 heeft Jim Fulton het volgende geschreven:
> On Fri, Aug 5, 2011 at 1:55 PM, Hanno Schlichting <hanno at hannosch.eu> wrote:
>>
>>
>> Indeed, in current trunk oldtid is used on line 398 and 400. Looking
>> at the code I cannot tell if it's safe to just remove that code.
>
> It is not. The bug is on line 395. It should be:
>
> oldtid = f.read(8)
>
> Of course, this needs to be verified with a test.
>
> This seems to be a (obviously untested) case where
> there are multiple records of a garbage object. I'll have to
> ponder how this could actually happen.
>
That's a very old Data.fs, from 2002, where we always upgraded the application without creating
a new Data.fs. I think you have all the different format and case of pickling that the ZODB uses to
encode references in it, I already got trouble because the Python pickle module have been cleaned
in Python 2.6 of a specific ZODB hack. I fixed it with zodbupdate.
I think that Data.fs is a pretty good test for any ZODB tool.
Regards,
Sylvain,
--
Sylvain Viollon -- Infrae
t +31 10 243 7051 -- http://infrae.com
Hoevestraat 10 3033GC Rotterdam -- The Netherlands
More information about the ZODB-Dev
mailing list