[Zope] RuntimeError: Shouldn't load state for '\x00\x00\x00\x00\x00\x006\xd1' when the connection is closed
Jens Vagelpohl
jens@zope.com
Wed, 29 Jan 2003 17:54:02 -0500
the global cache itself is per-thread (it is a _v_ attribute).
jens
On Wednesday, Jan 29, 2003, at 14:54 US/Eastern, Dieter Maurer wrote:
> Thierry Florac wrote at 2003-1-29 08:50 +0100:
>> .... strange problem named in subject ....
>> * Module Products.LDAPUserFolder.LDAPUser, line 138, in
>> _getSatellite
>> * Module Products.BTreeFolder2.BTreeFolder2, line 241, in
>> objectCount
>> * Module BTrees.Length, line 43, in __call__
>> * Module ZODB.Connection, line 504, in setstate
>>
>> RuntimeError: Shouldn't load state for '\x00\x00\x00\x00\x00\x006\xd1'
>> when the connection is closed
> Looks like a bug in LDAPUserFolder (report this to Jens!):
>
> Apparently, LDAPUserFolder puts persistent objects into global
> RAM (probably to implement a cache).
>
> This is a recipe for desaster. Persistent objects contain
> an implicit reference to the ZODB connection.
>
> When the global data is accessed later by a different thread
> (with a different connection), the old connection reference is
> wrong. In your case, it seems to be closed.
>
>
> Dieter
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )