-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/26/2011 03:19 PM, Jonathan Salazar Santos wrote: > Hi Comunity, > > I have been in troubles with Zope2.10.5-final since 4 moths ago, > related to the "MemoryError: out of memory" (in the event.log), every > three or fourth days (more or less) the Zope starts to say in our web: > value error: Memory, and stops to serve some pages (not all), usually > the pages that serve file contents (to download, convert to pdf or > view online). I solve the problem (when appears) by rebooting the zope > server, but its not a solutions, because I dont know when the error > its coming ¿Can you help me to giving me some light to solve the > problem? I have 2gb of RAM, and the server (FreeBSD) it says > no-overloaded, just have 2 services, web(zope) and database(mysql). I > think its something related to the cache memory or kind of (I changed > some values in config file but not success). See some of my event.log > > > Traceback (innermost last): > Module ZPublisher.Publish, line 119, in publish > Module ZPublisher.mapply, line 88, in mapply > Module ZPublisher.Publish, line 42, in call_object > Module OFS.DTMLMethod, line 144, in __call__ > - <DTMLMethod at /xxxx/index_html used for > /xxxx/suscribete/adminNewsletter> > - URL: http://xxxx/index_html/manage_main > - Physical Path: /xxxx/index_html > Module DocumentTemplate.DT_String, line 476, in __call__ > Module OFS.DTMLMethod, line 137, in __call__ > - <DTMLMethod at /xxxx/suscribete/adminNewsletter/third_header> > - URL: http://xxxx/suscribete/adminNewsletter/third_header/manage_main > - Physical Path: /xxxx/suscribete/adminNewsletter/third_header > Module DocumentTemplate.DT_String, line 476, in __call__ > Module DocumentTemplate.DT_In, line 703, in renderwob > Module Products.MailHost.SendMailTag, line 114, in render > Module Products.MIMETools.MIMETag, line 198, in render > Module MimeWriter, line 177, in lastpart > MemoryError: out of memory
The "aliases" feature of the stock Shared.DC.ZRDB.Results.Results class has a leak, due to an uncollectable cycle created between the alias objects and the record class generated *for each query*. If your app makes heavy use of stock ZSQL methods, you are probably going to have to plan to monitor the server's RAM usage and reboot as it gets close to the limit. If you are confident either that your application does not need the alias feature (your SQL queries all spell the column names using the "canonical" spelling for your SQL server), or that you can modify them to do so, you might try applying the attached patch, which removes the aliase feature. Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tsea...@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1BmW4ACgkQ+gerLs4ltQ41VgCfeqvB4gRnQAd2xY+EHjkbTwiP 7xcAnA7GGngAry7jqXbCWDBq8ugafIw8 =cPGc -----END PGP SIGNATURE-----
=== modified file 'lib/python/Shared/DC/ZRDB/Results.py' --- lib/python/Shared/DC/ZRDB/Results.py 2005-11-18 14:39:19 +0000 +++ lib/python/Shared/DC/ZRDB/Results.py 2011-01-27 16:09:13 +0000 @@ -38,7 +38,6 @@ self._names=names=[] self._schema=schema={} self._data_dictionary=dd={} - aliases=[] if zbrains is None: zbrains=NoBrains i=0 for item in items: @@ -49,10 +48,6 @@ if schema.has_key(name): raise ValueError, 'Duplicate column name, %s' % name schema[name]=i - n=name.lower() - if n != name: aliases.append((n, SQLAlias(name))) - n=name.upper() - if n != name: aliases.append((n, SQLAlias(name))) dd[name]=item names.append(name) i=i+1 @@ -70,11 +65,6 @@ if k[:2]=='__': setattr(r,k,getattr(Record,k)) - # Add SQL Aliases - for k, v in aliases: - if not hasattr(r, k): - setattr(r, k, v) - if hasattr(brains, '__init__'): binit=brains.__init__ if hasattr(binit,'im_func'): binit=binit.im_func
_______________________________________________ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )