[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