[ZODB-Dev] Wierd ZODB error (message)
Andreas Jung
andreas at andreas-jung.com
Wed Aug 13 18:16:54 EDT 2003
--On Freitag, 8. August 2003 13:37 Uhr -0400 Tim Peters <tim at zope.com>
wrote:
>>
>> AttributeError: 'long' object has no attribute 'keys'
>>
>> Any ideas where this might comes from? There is no corresponding code
>> that might call keys()?
>
> I don't know, but _set_ghost_state calls an update() method, and at least
> the builtin Python dict.update(whatever) will raise an AttributeError if
> whatever isn't a dict and whatever doesn't have a keys() method. So it's
> probably related. I expect there should be more information in your log
> file, because the body of ZODB.Connection.setstate is in a try/except
> block that logs an ERROR message whenever anything goes wrong:
>
> except ConflictError:
> raise
> except:
> LOG('ZODB', ERROR,
> "Couldn't load state for %s" % oid_repr(oid),
> error=sys.exc_info())
> raise
I could not see any related error messages in this case. Anyway I tried
to track this down. The corresponding object that caused this problem
was an instance of a class IDManagerPickled with an attribute '_counter'
whose values was a long. After removing this attribute the error never
happened again....no idea why but it works now.
-aj
More information about the ZODB-Dev
mailing list