[Zope] Class instances changing address?

Jeff Gentry jgentry at jimmy.harvard.edu
Fri Jan 20 17:14:10 EST 2006


On Fri, 20 Jan 2006, Dieter Maurer wrote:
> Your "B instance" above, is apparently not acquisition wrapped.
> Acquisition wrapped instances usually include the container path
> in their "repr" (if the intermediate objects have an id/getId --
> this is the case of instances with "ZMI representation" ("SimpleItem"s,
> to be precise).

This seems like a likely culprit, although on the surface I thought I was
wrapping 'B'.  Based on another comment I tried reimplementing the system
so that instances of 'C' also had a ZMI representation, and I started
running through the system looking at the repr() of these instances (both
'B' and 'C').  What I saw was that 'B' would say:
<B instance at 2a9e9274e0> (or some other mem address)
while 'C' would say:
<C instance at /gg/some/path>

My knowledge of these things is poor but that would imply that B is not
properly wrapped?  FWIW when I instantiate 'B' I do a _setObject() and
then a _getOb() and use the return value from that, my understanding being
that this is what wraps the object.

> Does your logfile contains unexplained entries?

No, unfortunately.

> Do you use "try: ... except: ..." and swallow valuable exception
> information?

It isn't clear to me what to except on.  The error that gets thrown
doesn't appear to be a normal Zope error (e.g. AttributeError,
ProgrammingError, etc), it just says (in italics) something along the
lines of 'Psycopg_database_controller cannot be found' w/o traceback info,
etc.

Thanks
-J



More information about the Zope mailing list