[Zope] corrupted dbase

Ingo Assenmacher Ingo.Assenmacher@post.rwth-aachen.de
Thu, 13 Apr 2000 01:09:04 +0200


Hi Everyone.

This is another one from my number one hobbies: how to corrupt ZDB.
Another strange thing happened:

I allowed users to perform an upload into ZDB via "manage_upload" on an file object. So far, so good.
Alas, it had slipped my mind one time, I did not give the "Change images and files" permission to every group.
So it happened: a member belonging to a group without the permission performed an upload and the Zope security did (absolutely right) forbid this by uttering an "unauthorised".
So far, so good. Sadly, the object to be uploaded had already been into ZDB (the user tried to actualise the file) and suddenly, the Document was no longer of a file type, but something else (a custom folder class). My efforts to delete this item resulted in:

Error Type: SystemError
Error Value: Failed to import class ImplicitAcquirerWrapper from module Acquisition

Traceback (innermost last):
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 214, in publish_module
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 179, in publish
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/Zope/__init__.py, line 202, in zpublisher_exception_hook
    (Object: ElementWithAttributes)
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 165, in publish
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/ZPublisher/mapply.py, line 160, in mapply
    (Object: manage_delObjects)
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/ZPublisher/Publish.py, line 102, in call_object
    (Object: manage_delObjects)
  File /usr/lib/zope/lib/python/OFS/ObjectManager.py, line 401, in manage_delObjects
    (Object: ElementWithAttributes)
  File /usr/lib/zope/lib/python/OFS/ObjectManager.py, line 273, in _delObject
    (Object: ElementWithAttributes)
  File /amnt/home/assen/Zope-2.1.1-linux2-x86/lib/python/ZODB/Connection.py, line 396, in setstate
SystemError: (see above)

hmmm...

All I want to do is to erase these corrupted objects, but I can not do this within the management interface.
So, how can I do this?

regard, ingo.