[Zope] Can't commit work!

Art Hampton arth@pacsg.css.mot.com
Fri, 10 Dec 1999 07:52:53 -0600


I posed this same question yesterday, and thought I would have heard
something already given the severity of the problem.

When I went to save the version I've been working in, I got:


Zope Error
Zope has encountered an error while publishing this resource. 

Error Type: KeyError
Error Value: ~

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

Here's the traceback:

Traceback (innermost last):
  File /usr/local/zope/Zope-2.1.0-src/lib/python/ZPublisher/Publish.py,
line 214, in publish_module
  File /usr/local/zope/Zope-2.1.0-src/lib/python/ZPublisher/Publish.py,
line 179, in publish
  File /usr/local/zope/Zope-2.1.0-src/lib/python/Zope/__init__.py, line
202, in zpublisher_exception_hook
    (Object: RoleManager)
  File /usr/local/zope/Zope-2.1.0-src/lib/python/ZPublisher/Publish.py,
line 169, in publish
  File /usr/local/zope/Zope-2.1.0-src/lib/python/ZODB/Transaction.py,
line 237, in commit
  File /usr/local/zope/Zope-2.1.0-src/lib/python/ZODB/DB.py, line 576,
in commit
  File /usr/local/zope/Zope-2.1.0-src/lib/python/ZODB/FileStorage.py,
line 480, in commitVersion
    (Object: /usr/local/zope/Zope-2.1.0-src/var/Data.fs)
KeyError: (see above)


To state the obvious, I'm running Zope 2.1.0 compiled from the source.

I have retried the version save operation numerous times, with no
success.  Yesterday, the error value it was giving me for the KeyError
was '     ~', today it is '      G'(there is a little box character
just before the G, I'm not sure if the cut & paste will make it show up
or not).  The machine was rebooted last night, which might account for
the change in the error value.

So, is my database corrupt (that's my first
I-know-nothing-about-Zope-internals guess)?  How did it get that way? 
More importantly, what can I do to fix it, and will it happen again?

As for what's changed in the version, an easier answered question would
be 'what hasn't changed?'  As I've been learning the ins and outs of
Zope, I've created/destroyed/renamed/copied/pasted/recreated classes,
DTML methods, MySQL querries, etc.  I've really been pushing this thing
to see how to get done what I need to do (that's how I learn).

Again, thanks in advance for any suggestions.