[Zope] Zope InvalidObjectReference

Dieter Maurer dieter@handshake.de
Thu, 12 Jul 2001 20:09:13 +0200 (CEST)


kosh writes:
 > ...
 > 375, in commit
 >  (Info: (('Products.CompoundDoc.inputtext', 'InputText'),
 > '\000\000\000\000\000\000qM', ''))
 > InvalidObjectReference: Attempt to store an object from a foreign
 > database connection
That sounds really strange:

  Zope usually has a pool of connections to the ZODB.

  When an object is brought from the ZODB into
  Zope's cache, it remembers the connection it was
  loaded with.

  When a commit is executed, the modified objects
  in the associated cache are stored into the ZODB.
  Apparently, an object is found that does not
  belong to the current connection.

  I have no idea, how this can happen:

    The only possibility I see by now is a global
    container shared by all threads that
    contains persistent objects (this must never
    happen! It is fatal, as it produces errors
    as you describe it).


Dieter