[ZODB-Dev] Problems with ZODB3-3.9.0_dev_r77011
Gary Poster
gary at zope.com
Thu Jul 19 09:52:41 EDT 2007
On Jul 19, 2007, at 7:11 AM, Tobias Rodäbel wrote:
> Hi,
>
> 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
> '\x00\x00\x00\x00\x00\x00\x00\xc6'
> (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.
Gary
More information about the ZODB-Dev
mailing list