[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