[Zope-dev] memory eating Zope..
Christian Scholz
cs@comlounge.net
Mon, 4 Jun 2001 14:11:49 +0200
Hi!
> It looks like you're leaking requests. This is often the consequence of
> setting an attribute on the REQUEST object which is aquisition wrapped.
> For instance:
>
> REQUEST.adtmldoc = REQUEST['PARENTS'][0]
>
> When requests leak, references to all the objects referenced within the
> request (acquisition wrappers, etc.) leak as well. This can be
> disastrous and gets worse when the site is busy (when there are more
> requests).
ok, that's what I experienced.. the day the site got some more
traffic it also suddenly grow memorywise.
I also didn't know that doing above is a bad thing to do..
(though I don't actually understand why this is a problem and why it's
not freed then.. but on the other hand I am not that much into the
inner workings of acquisition ;-)
> It used to be the case that tracking this problem down was tediously
> difficult, and involved basically a binary search for leaks in all
> methods on the site. But now, finding the cause is likely a job for
> Shane's LeakFinder product:
> http://www.zope.org/Members/hathawsh/LeakFinder .
Ah, will try that out :)
And actually I directly found some method which fetches the actual
user object from a ZPatterns rack and sets this in the REQUEST at
every request. So maybe that's already the problem then.. will try
to remove that..
> Note that this is likely caused by some sort of brainbending circular
> reference problem that might be helped by Python 2.X's cyclic garbage
> collector.
Well, will also try out python 2.x then... (btw. are all 2.x python versions
working without problems with Zope? Don't want to get a new problem when
resolving the old one ;-)
Thanks!
Christian