[Zope] AttributeError: 'None' object has no attribute 'load'
Chris McDonough
chrism@ZOPE.COM
Sun, 17 Mar 2002 14:26:45 -0500
Jean,
Thanks so much for the summary. I dont expect that we'll be able to do
much with the current crop of information but as soon as somebody makes
the problem replicable, we'll be able to solve it. I have a suspicion
that it may be related to conflict errors as well.. do you see any
conflict errors in your log?
- C
Jean Jordaan wrote:
> Hi Dieter
>
> Yes, I recall now I've seen it mentioned.
>
> FWIW, here's a summary of the substantive things I found in the
> archive ..
>
> In this thread:
> http://lists.zope.org/pipermail/zope-dev/2001-May/011272.html
> between Chris Withers and Chris McDonough, ChrisM concludes as
> follows:
>
> "I actually expected all along that it was mounted storage objects
> causing the error"
>
> I'm not using mounted storage, and get the error on various kinds
> of extension classes. PortalMember and PersistentUserSource below
> (see [1]) belong to the LoginManager Membership product
> ("version.txt": Membership 0.7.8). Customer below is a normal ZClass,
> created through the web. The only thing that I can think of which all
> of these have in common, is that they use ZPatterns. Customer
> instances are stored in a ZPatterns Rack in the ZODB. I'm using
> ZPatterns-0-4-3p2.
>
> ChrisW concludes that the consequences are only aesthetic and
> ignorable, but in my case it does present the user with a Zope error,
> and oblige him/her to reload the page :(
>
> In this thread:
> http://lists.zope.org/pipermail/zope-dev/2001-August/012834.html
> you report solving the
> "Could not load state: None object has no attribute 'load'"
> problem for an application storing user information in an Oracle
> database using Generic User Folder. In that case, the problem was
> caching persistent objects, and the solution was to not cache them.
>
> In my case, I'm not doing any caching, so if it's happening, it
> must be within the Zope (or ZPatterns?) machinery.
>
> ChrisM responds: "I thought we had it licked after Shane showed me
> how to properly close a ZODB connection in CST, but unfortunately,
> the problem was unrelated."
>
> I'm not using CST, so I'd guess the problem is unrelated in my case
> as well.
>
> In this thread:
> http://lists.zope.org/pipermail/zope-dev/2001-February/009900.html
> Steve Alexander tells Chris Withers: "I hazard a guess that you're
> changing a mutable attribute of a persistent object, without doing
> a _p_changed=1 on your persistent object." which goes right over
> my head .. but it does remind me of discussions on the ZPatterns list.
>
> Google also turns up
> http://lists.zope.org/pipermail/zope-checkins/2001-October/007928.html
> from the zope-checkins list, which as of 4 October still shows the
> problem as unsolved, and still in relation to mounted storages / Core
> Session Tracking:
>
> - Solve "None has no attribute 'load'" errors when accessing a
> mounted storage under load. If you see this error, please help!
>
>>From the above, the only contribution I can make is to suggest that
> the problem is not specific to CST or mounted storages, and that
> you and Steve Alexander seem to be on the right track: Persistent
> objects seem to be retaining invalid ZODB references, for some
> reason.
>
> Regards,
> Jean
>
> [1]
>
>>>>import Zope
>>>>app = Zope.app()
>>>>ob = app._p_jar['\000\000\000\000\000\001\002\350']
>>>>print ob.id
>>>>
> jean
>
>>>>print ob.__class__
>>>>
> <extension class *QpViCIG2oty3+jIn5k03UQ==.PortalMember at 8ac6fe8>
>
>>>>ob = app._p_jar['\000\000\000\000\000\000E\326']
>>>>print ob.id
>>>>
> UserSource
>
>>>>print ob.__class__
>>>>
> <extension class
> Products.Membership.PersistentUserSource.PersistentUserSource at 84f1878>
>
>>>>ob = app._p_jar['\000\000\000\000\000\000\257\265']
>>>>print ob.id
>>>>
> 1045
>
>>>>print ob.__class__
>>>>
> <extension class */V7clPOreJUsA6zwPWjjCA==.Customer at 8aaeaf0>
>
>
> -----Original Message-----
> From: Dieter Maurer [mailto:dieter@handshake.de]
> Sent: Thursday, November 22, 2001 12:45 AM
> To: Jean Jordaan
> Cc: zope@zope.org
> Subject: Re: [Zope] ZCatalog: AttributeError: 'None' object has no
> attribute 'load'
>
>
> Jean Jordaan writes:
> > I've been getting these for a long time. A retry succeeds, but
> > it's ugly if it happens to a client. It also happens pretty
> > often (say eg. every 20th time I upload something to Zope).
> > I have packed the database, but that didn't help. Has anyone
> > else noticed this, and made it go away?
> >
> > ------
> > 2001-11-21T07:09:19 ERROR(200) ZODB Couldn't load state for
> > '\000\000\000\000\000\001\002\350'
> > Traceback (innermost last):
> > File /usr/local/zope/2-3-0/lib/python/ZODB/Connection.py, line 508, in
> > setstate
> > AttributeError: 'None' object has no attribute 'load'
> I saw it and Chris McDonough described it.
>
> Search the mailing list archives. You will find detailed descriptions.
>
> Not sure, however, if your case is covered or different...
>
>
> 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 )
>
--
Chris McDonough Zope Corporation
http://www.zope.org http://www.zope.com
"Killing hundreds of birds with thousands of stones"