My blog was down during my vacation. The box it’s hosted on was
restarted and the Persistent ZEO Cache got corrupted somehow. Here’s a
nice traceback:
File "/home/sidnei/src/zope/28five/lib/python/Zope2/__init__.py",
line 47, in startup
_startup()
File "/home/sidnei/src/zope/28five/lib/python/Zope2/App/startup.py",
line 56, in startup
DB = configuration.dbtab.getDatabase('/', is_root=1)
File "/home/sidnei/src/zope/28five/lib/python/DBTab/DBTab.py", line
96, in getDatabase
db = self._createDatabase(name, is_root)
File "/home/sidnei/src/zope/28five/lib/python/DBTab/DBTab.py", line
113, in _createDatabase
db = factory.open()
File
"/home/sidnei/src/zope/28five/lib/python/Zope2/Startup/datatypes.py",
line 163, in open
DB = self.createDB()
File
"/home/sidnei/src/zope/28five/lib/python/Zope2/Startup/datatypes.py",
line 160, in createDB
return ZODBDatabase.open(self)
File "/home/sidnei/src/zope/28five/lib/python/ZODB/config.py", line
97, in open
storage = section.storage.open()
File "/home/sidnei/src/zope/28five/lib/python/ZODB/config.py", line
153, in open
read_only_fallback=self.config.read_only_fallback)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/ClientStorage.py",
line 314, in __init__
self._cache.open()
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
112, in open self.fc.scan(self.install)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
835, in scan install(self.f, ent)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
121, in install
o = Object.fromFile(f, ent.key, skip_data=True)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
630, in fromFile
raise ValueError("corrupted record, oid")
ValueError: corrupted record, oid
Not the first time I see a site failing to start because of the
Persistent ZEO Cache. Will see if Tim Peters is interested in digging
this one.
Zope considered harmfull
That’s zope for you!
questions? Well duh, we could’ve told you, don’t use Zope?!