[Grok-dev] Re: Problem starting up a grok project for a second time
faassen at startifact.com
Fri May 2 17:19:12 EDT 2008
Low Kian Seong wrote:
> I am running grok zope on a 64 bit dual core machine and on the opensuse
> 10.3 platform. The problem I am encountering is that, when I start up my
> instance for the first time everything is okay. However, after shutting
> down and trying to start up for the second time, I get the error that I
> have included below. Could some please give me a clue as what is happening ?
> line 441, in evolveMinimumSubscriber
> line 373, in evolve
> File "/usr/lib64/python2.5/UserDict.py", line 58, in get
> if not self.has_key(key):
> File "/usr/lib64/python2.5/UserDict.py", line 44, in has_key
> def has_key(self, key): return self.data.has_key(key)
> AttributeError: 'PersistentDict' object has no attribute 'data'
It appears to be going wrong somewhere in the inside of the
zope.app.generations package, a package that helps you upgrade the state
of the ZODB to new versions. The 'generations' object that fails here
*should* be a PersistentDict.
Why this happens exactly I'm not sure about. Are you using generations
at all in your code? (or possibly using some extension that tries to do
One thing I do see is that you're using Python 2.5; usually we install
Grok on Python 2.4, though Python 2.5 has had quite a few reports of
actually working. It *might* be that something changed in
IterableUserDict (from which PersistentDict is constructed) in Python
2.5 that breaks some assumptions. Looking at the implementation I can't
find any obvious indications of how, though.
A mystery. Anyone any clues?
More information about the Grok-dev