[Zope] cPickle.UnpicklingError on invalid load key

Brad Clements bkc@murkworks.com
Mon, 09 Dec 2002 10:25:42 -0500


I see Chris had an issue with this before, with ZCatalog, but I'm not using ZCatalog.

My system was fine last week. Over the weekend I rebooted the machine (RH 8.0) and 
now, one of my top level folders (and all it's children) give this error when I try to "view" 
instances of this ZClass based object under this folder.


Details:

Zope 2.5.1 with custom_zodb loading from ZEO (couldn't find the ZEO version, but 
ZEO.StorageServer is 1.28.2.5

I have a "Rendered STX" Zclass based on ZObject, ZDTMLMethod, _ZClass_for_Renderable

Instances of this class work fine everywhere in the tree, except for those under 
/Research

in /Research and children of /Research, they do not work.

If I copy the instances of this class into another folder (ie. /test) they suddenly start 
working again.

I made a backup of Data.fs, then did a pack, then restarted Zope 2.5.1, but the problem 
remains.

gzip'd Data.fs is 25 megabytes

2 levels below /Research there is a MountedStorage instance "PythonCE".

--- Attempts to fix --

I created a new top level folder /nResearch

and copied the children of /Research into /nResearch

Now, everything under /nResearch seems to work.. Except for the MountedStorage.

I wasn't sure if the copy process would copy the Mount, or copy child objects of the 
mount. so in /nResearch/ ... I deleted the PythonCE folder and recreated the Mount.

However, now when I try to "view" children of the mounted PythonCE under 
/nResearch, I get an UnpicklingError.


I'll post the original exception traceback below.

At this point, I am going to move to try to move to Zope 2.6 and ZEO 2, though I 
suspect my ZODB is corrupted.

--

Aha

Seems that /Images/PanellImages is corrupted and can't be loaded in ZMI. So this 
appears to be the actual corruption location.

And now /Research/.. PythonCE (the mount) is broken and I get 


> The object at
> http://marimba.murkworks.com:8080/Main/Research/Python/PythonCE/PythonC
> EWiki/FrontPage has an empty or missing docstring. Objects must have a
> docstring to be published. 

Argh.. going to find the backup tape..

--

Original traceback

Site Error
An error was encountered while publishing this resource. 

Error Type: TALESError
Error Value: cPickle.UnpicklingError on invalid load key, ''. in '', at line 155, column 21



--------------------------------------------------------------------------------

Troubleshooting Suggestions

The URL may be incorrect. 
The parameters passed to this resource may be incorrect. 
A resource that this resource relies on may be encountering an error. 
For more detailed information about the error, please refer to the HTML source for this page. 

If the error persists please contact the site maintainer. Thank you for your patience. 

Traceback (innermost last):
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 150, in publish_module
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 114, in publish
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Zope/__init__.py, line 159, in zpublisher_exception_hook
    (Object: Overview)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 98, in publish
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/mapply.py, line 88, in mapply
    (Object: index_html)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 39, in call_object
    (Object: index_html)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/OFS/DTMLMethod.py, line 127, in __call__
    (Object: index_html)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/DocumentTemplate/DT_String.py, line 473, in __call__
    (Object: index_html)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/DocumentTemplate/DT_Return.py, line 31, in render
    (Object: render)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py, line 266, in __render_with_namespace__
    (Object: render)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py, line 283, in _bindAndExec
    (Object: render)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PythonScripts/PythonScript.py, line 302, in _exec
    (Object: render)
    (Info: ({'script': <PythonScript instance at 891dfd0>, 'context': <RenderedSTXDocument instance at 8b464a8>, 'container': <RenderedSTXDocument instance at 8b464a8>, 'traverse_subpath': []}, (), {}, None))
  File Script (Python), line 3, in render
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py, line 252, in __call__
    (Object: DisplaySTD)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py, line 283, in _bindAndExec
    (Object: DisplaySTD)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/ZopePageTemplate.py, line 210, in _exec
    (Object: DisplaySTD)
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/PageTemplate.py, line 86, in pt_render
    (Object: DisplaySTD)
    (Info: {'container': <Folder instance at 961f3b8>,
 'here': <RenderedSTXDocument instance at 8b464a8>,
 'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at 0x884501c>,
 'nothing': None,
 'options': {'args': ()},
 'request': <h3>form</h3><table></table><h3>cookies</h3><table><tr valign="top" align="left"><th>_ZopeId</th><td>'75921408A0lkHpV-PNU'</td></tr><tr valign="top" align="left"><th>email</th><td>'bkc@murkworks.com'</td></tr><tr valign="top" align="left"><th>zwiki_showlogo</th><td>'1'</td></tr><tr va
 'root': <Application instance at 8c8efa8>,
 'template': <ZopePageTemplate instance at 8c99148>,
 'traverse_subpath': [],
 'user': Anonymous User})
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 158, in __call__
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 191, in interpret
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 523, in do_useMacro
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 191, in interpret
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 476, in do_loop_tal
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 191, in interpret
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 345, in do_optTag_tal
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 330, in do_optTag
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 325, in no_tag
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 191, in interpret
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 491, in do_condition
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 191, in interpret
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/TAL/TALInterpreter.py, line 432, in do_insertStructure_tal
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/TALES.py, line 247, in evaluate
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/Products/PageTemplates/ZRPythonExpr.py, line 49, in __call__
    (Info: dtimage.image.tag())
  File Python expression "dtimage.image.tag()", line 2, in f
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/AccessControl/ZopeGuards.py, line 47, in guarded_getattr
  File /usr/local/Zope/Zope-2.5.1-linux2-x86/lib/python/ZODB/Connection.py, line 472, in setstate
TALESError: (see above)




Brad Clements,                bkc@murkworks.com   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
AOL-IM: BKClements