On Jul 19, 2007, at 7:11 AM, Tobias Rodäbel wrote:


zope.app.keyreference-3.5.0_dev_r77018-py2.4.egg requires ZODB3>=3.9.0-dev-r77011

But there might be a caching problem within ZODB3-3.9.0 dev r77011, my debug session tells:

> /development/Zope3/MyProject/eggs/ZODB3-3.9.0_dev_r77011-py2.4- macosx-10.4-ppc.egg/ZODB/Connection.py(644)_store_objects()
-> raise
(Pdb) obj
<zope.app.file.image.Image object at 0x3faadb0>
(Pdb) oid
(Pdb) self._cache[oid]
*** KeyError: '\x00\x00\x00\x00\x00\x00\x00\xc6'
(Pdb) self._cache[oid] = obj
*** TypeError: Cache values must be persistent objects.

But zope.app.file.image.Image should be persistent.

(Pdb) dir (obj)
['__annotations__', '__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__getstate__', '__hash__', '__implemented__', '__init__', '__module__', '__new__', '__providedBy__', '__provides__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__slotnames__', '__str__', '__weakref__', '_data', '_getData', '_height', '_p_activate', '_p_changed', '_p_deactivate', '_p_delattr', '_p_getattr', '_p_invalidate', '_p_jar', '_p_mtime', '_p_oid', '_p_serial', '_p_setattr', '_p_state', '_setData', '_size', '_width', 'contentType', 'data', 'getImageSize', 'getSize']

Looking forward to some hints or help,

Hi Tobias. The ZODB 3.9 dev version is only different from 3.8 in some conflict resolution code, for which I am responsible. Some thoughts.

- I haven't seen any errors like this yet. That's just a data point, and certainly does not necessarily invalidate your report. - Is this consistently reproduceable, or intermittent? Unless you are intentionally creating a conflict in a test, any errors in the changes in 3.9 would be more likely to be intermittent. - Even better, can you construct a small, distributable test case? That would certainly invite more help. - Have you tried to reproduce with the most recent zope.app.keyreference in the 3.4 line and the most recent ZODB 3.8 line? If so, that might get Jim's attention, and would rule out the relatively small changes in the 3.9 dev egg. Unless you like riding the bleeding edge, I might suggest using those earlier versions for now anyway.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to