Re: [Zope] TypeError: Cache values must be persistent objects.

2005-06-22 Thread Dieter Maurer
Nikko Wolf wrote at 2005-6-21 15:08 -0600:
I'm trying to develop a filesystem-based Product (here 'ABCD') and 
unless I remove the ABCD folder from my Products directory, I get the 
following error IN THE MANAGEMENT INTERFACE.

Is it possible to determine what's causing the problem?  After multiple 
restarts, I did a global Find in the ZMI and (I think) deleted all 
objects of type ABCD Content.  But still the problem persists (no pun 
intended).
 ...
 self._cache[oid] = object
TypeError: Cache values must be persistent objects.

Looks as if you had changed the class structure:

   An object that formerly was persistent (when it was stored
   in the ZODB) now gets a class which is no longer
   derived from Persistence.

   Note that the ZODB identifies the class of an object
   by modulepath, classname. You should ensure
   that the class identified in this way always derives
   from Persistence (and that is exists).

To find out what object this is, you catch the error and
look at object.__class__.

 ...
   Module ZODB.Connection, line 227, in _persistent_load
- __traceback_info__: ('\x00\x00\x00\x00\x00\x009^', 
('Products.ABCD.XML_File', 'XML_File'))
TypeError: Cache values must be persistent objects.

As we see, catching is not necessary.
The traceback is enough ;-)

Products.ABCD.XML_File lost its Persistence inheritance...

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] TypeError: Cache values must be persistent objects.

2005-06-22 Thread Dieter Maurer
Nikko Wolf wrote at 2005-6-21 16:13 -0600:
 ...
But that begs the questions
  + why didn't the stack backtrace give the problem ID?

It would not have helped: the problem was not an individual
instance but a class problem...

Your problem is of a rather rare type (few people remove
Persistence from the inheritance chain for persistent objects).
In general (not in your special case), the id cannot be determined
in case of loading problems.

More importantly: The error was detected in ZODB, a component used
by Zope but also externally. And ZODB cannot expect all its
persistent objects to have an id (indeed most, even in Zope, do not!).

  + if 0x28b5 can be deciphered as an ID, how?

Neither this nor your original message tells us what the
0x28b5 should be ;-)

It probably is the object's oid (object id), in hexadecimal form.

It is useful, to load the object from ZODB in an
interactive Python interpreter to analyse the problem more
easily (i.e. use pdb.pm to analyse all objects relevant
for the exception).

  + why didn't the Find locate the broken instance? (it *might*
be since I've created about 15 different portal_types, and
the ABCD Content wasn't really what the offending ID was).

Because, it would have died (same exception as reported in your
original message) when it had tried to access the object.

Do not expect to get realiable results when you did something
that prevents objects to be loaded from ZODB ;-)

  + is this a common problem with file-system (or ZClass) products?

Few people remove Persistence from the inheritance chain
of a class once they have stored persistent objects of this class
in the ZODB...

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] TypeError: Cache values must be persistent objects.

2005-06-21 Thread Nikko Wolf

Help!

I'm trying to develop a filesystem-based Product (here 'ABCD') and 
unless I remove the ABCD folder from my Products directory, I get the 
following error IN THE MANAGEMENT INTERFACE.


Is it possible to determine what's causing the problem?  After multiple 
restarts, I did a global Find in the ZMI and (I think) deleted all 
objects of type ABCD Content.  But still the problem persists (no pun 
intended).


Gaah!  How can I fix this?

= event.log contains ==
2005-06-21T14:57:17 ERROR(200) ZODB Couldn't load state for 0x28b5
Traceback (most recent call last):
  File /usr/local/zope/lib/python/ZODB/Connection.py, line 600, in 
setstate

self._set_ghost_state(obj, p)
  File /usr/local/zope/lib/python/ZODB/Connection.py, line 639, in 
_set_ghost_state

state = unpickler.load()
  File /usr/local/zope/lib/python/ZODB/Connection.py, line 227, in 
_persistent_load

self._cache[oid] = object
TypeError: Cache values must be persistent objects.


== FROM THE =
Traceback (innermost last):
  Module ZPublisher.Publish, line 101, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 39, in call_object
  Module Shared.DC.Scripts.Bindings, line 306, in __call__
  Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
  Module App.special_dtml, line 175, in _exec
  Module DocumentTemplate.DT_Let, line 76, in render
  Module DocumentTemplate.DT_In, line 643, in renderwob
  Module DocumentTemplate.DT_In, line 771, in sort_sequence
  Module ZODB.Connection, line 600, in setstate
  Module ZODB.Connection, line 639, in _set_ghost_state
  Module ZODB.Connection, line 227, in _persistent_load
   - __traceback_info__: ('\x00\x00\x00\x00\x00\x009^', 
('Products.ABCD.XML_File', 'XML_File'))

TypeError: Cache values must be persistent objects.
=
Plone version: 2.0.5
Zope version: (Zope 2.7.6-final, python 2.3.4, linux2)
Apache version:
CMF version (if known): CMF-1.4.7
Browser(s) and version(s): Mozilla/5.0 (X11; U; Linux i686; en-US; 
rv:1.7.8) Gecko/20050511

Operating system: linux2
Python version: 2.3.4 (#1, Feb  2 2005, 12:11:53)
[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)]
Debug mode: Yes
=
ABCD 0.4
ATExtensions 0.6 installed
Archetypes 1.3.3-final installed
BTreeFolder2 BTreeFolder2-1.0.1
CMFActionIcons 0.9 installed
CMFCalendar CMF-1.4.7 installed
CMFCore CMF-1.4.7
CMFDefault CMF-1.4.7
CMFFormController 1.0.4 installed
CMFMember 1.0.1 installed
CMFPlone 2.0.5
CMFQuickInstallerTool 1.5.1
CMFTopic CMF-1.4.7
CMFTutorial 0.1.2
CompositePage CompositePage-0.2
DCWorkflow CMF-1.4.7
Epoz 0.8.5 installed
ExternalEditor 0.8
ExternalMethod External Method-1-0-0
FlexibleTopic 1.1 installed
Formulator Formulator 1.6.2
GroupUserFolder 2.0.1 installed
Lesson 0.1
LocalFS LocalFS-1-7-andreas
MIMETools
MailHost MailHost-1-3-0
MimetypesRegistry 1.3.3-final05 installed
Minimal 0.1
MySite 0.4 installed
OFSP OFSP-1-0-0
OpenFlow 1.1.0
PageTemplates PageTemplates-1-4-0
PlacelessTranslationService 1.0
PloneCollectorNG 1.2.6 installed
PloneErrorReporting 0.11 installed
PluginIndexes
PortalTransforms 1.3.4-final installed
PythonScripts PythonScripts-2-0-0
Sessions
SiteAccess SiteAccess-2-0-0
SiteErrorLog
StandardCacheManagers StandardCacheManagers-1-1-0
TemporaryFolder
Transience
ZCTextIndex
ZCatalog ZCatalog-2-2-0
ZGadflyDA
ZODBMountPoint
ZReST 1.1
ZSQLMethods
ZopeTutorial Zope Tutorial 1.2
generator 1.3.0-final17
mxmCounter 1.1.0
validation 1.3.2-final
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )