[ZODB-Dev] George Bailey'd objects cause failure in FileStorage._loadBack
Magnus Lycka
magnus@thinkware.se
Thu, 31 Oct 2002 00:55:17 +0100
Ok, the variable 'b' just got 'uncreated', or George Bailey'd
as Barry called it. (BTW, is that an established term, or
something Barry invented now? I always had a soft spot for
old James Stewart movies... :)
As soon as I do an attribute access, I get the error below.
b._p_deactivate() is just silent though.
(This is ZODB3 from CVS Sept 20.)
>>> b
<A instance at 0193C720>
>>> b.b
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
File "G:\Python22\Lib\site-packages\ZODB\Connection.py", line 522, in
setstate
p, serial = self._storage.load(oid, self._version)
File "G:\Python22\Lib\site-packages\ZODB\FileStorage.py", line 619, in load
return self._load(oid, version, self._index, self._file)
File "G:\Python22\Lib\site-packages\ZODB\FileStorage.py", line 605, in _load
return _loadBack(file, oid, pnv)
File "G:\Python22\Lib\site-packages\ZODB\FileStorage.py", line 2098, in
_loadBack
doid, serial, prev, tloc, vlen, plen = unpack(">8s8s8s8sH8s", h)
error: unpack str size does not match format
>>>
BTW, how does ZOPE behave on undo? How does it make sure
there are no G.B'd objects? Does it somehow reboot, or
does it manually kill off all problematic objects?
--
Magnus Lycka, Thinkware AB
Alvans vag 99, SE-907 50 UMEA, SWEDEN
phone: int+46 70 582 80 65, fax: int+46 70 612 80 65
http://www.thinkware.se/ mailto:magnus@thinkware.se