[Zope] Re: exceptions.MemoryError on Zope-2.7

Tres Seaver tseaver at zope.com
Mon Oct 4 17:29:10 EDT 2004


Gitte Wange wrote:
> Hello,
> 
> I have a Plone2 site running under Zope-2.7
> Environment specs from Control Panel are here:
> 
> Zope Version (unreleased version, python 2.3.3, freebsd5)
> Python Version 2.3.3 (#1, Jun 16 2004, 13:10:39) [GCC 3.3.3 [FreeBSD] 
> 20031106]
> System Platform freebsd5
> SOFTWARE_HOME /usr/local/zope/Zope-2.7/lib/python
> ZOPE_HOME /usr/local/zope/Zope-2.7
> INSTANCE_HOME /usr/local/zope/mmm
> CLIENT_HOME /usr/local/zope/mmm/var
> Network Services ZServer.HTTPServer.zhttp_server (Port: 8110)
>          ZServer.FTPServer.FTPServer (Port: 8111)
> 
> 
> All of sudden the servers starts to throw these errors:
>  From the error log:
> 2004-10-04T22:25:49 ERROR(200) SiteError 
> http://www.mmmanager.com/index_html
> Traceback (most recent call last):
>   File "/usr/local/zope/Zope-2.7/lib/python/ZPublisher/Publish.py", line 
> 100, in publish
>     request, bind=1)
>   File "/usr/local/zope/Zope-2.7/lib/python/ZPublisher/mapply.py", line 
> 88, in mapply
>     if debug is not None: return debug(object,args,context)
>   File "/usr/local/zope/Zope-2.7/lib/python/ZPublisher/Publish.py", line 
> 40, in call_object
>     result=apply(object,args) # Type s<cr> to step into published object.
>   File "/usr/local/zope/mmm/Products/I18NLayer/I18NLayer.py", line 227, 
> in __call__
>     return view()
>   File 
> "/usr/local/zope/Zope-2.7/lib/python/Shared/DC/Scripts/Bindings.py", 
> line 306, in __call__
>     return self._bindAndExec(args, kw, None)
>   File 
> "/usr/local/zope/Zope-2.7/lib/python/Shared/DC/Scripts/Bindings.py", 
> line 343, in _bindAndExec
>     return self._exec(bound_data, args, kw)
>   File "/usr/local/zope/mmm/Products/CMFCore/FSPageTemplate.py", line 
> 191, in _exec
>     result = self.pt_render(extra_context=bound_names)
>   File "/usr/local/zope/mmm/Products/CMFCore/FSPageTemplate.py", line 
> 124, in pt_render
>     result = FSPageTemplate.inheritedAttribute('pt_render')(
>   File 
> "/usr/local/zope/Zope-2.7/lib/python/Products/PageTemplates/PageTemplate.py", 
> line 97, in pt_render
>     return output.getvalue()
>   File 
> "/usr/local/zope/mmm/Products/PlacelessTranslationService/FasterStringIO.py", 
> line 148, in getvalue
>     return self.read()
>   File 
> "/usr/local/zope/mmm/Products/PlacelessTranslationService/FasterStringIO.py", 
> line 94, in read
>     return ''.join(self.buf)
> MemoryError
> 
> ----- oOo ------
> 
> Displayed on the site (not in the error log):
> Site Error
> 
> An error was encountered while publishing this resource.
> 
> exceptions.MemoryError
> Sorry, a site error occurred.
> 
> Traceback (innermost last):
> 
>     * Module ZPublisher.Publish, line 163, in publish_module_standard
>     * Module Products.I18NLayer.Patches, line 58, in new_publish
>     * Module ZPublisher.Publish, line 127, in publish
>     * Module Zope.App.startup, line 167, in zpublisher_exception_hook
>     * Module Products.SiteErrorLog.SiteErrorLog, line 201, in raising
>     * Module Products.SiteErrorLog.SiteErrorLog, line 212, in 
> _do_copy_to_zlog
>     * Module zLOG, line 153, in LOG
>     * Module zLOG.EventLogger, line 55, in log
>     * Module logging, line 959, in log
>     * Module logging, line 994, in _log
>     * Module logging, line 1004, in handle
>     * Module logging, line 1037, in callHandlers
>     * Module logging, line 592, in handle
>     * Module logging, line 684, in emit
>     * Module logging, line 636, in handleError
>     * Module traceback, line 123, in print_exception
>     * Module traceback, line 68, in print_tb
>     * Module linecache, line 14, in getline
>     * Module linecache, line 40, in getlines
>     * Module linecache, line 93, in updatecache
> 
> MemoryError
> 
> I tried googling for this but all errors I found was related to the ftp 
> server - lthough it's running we haven't uploaded any files through it.
> a restart of the instance helped but that's not useful.
> Any ideas on what is causing this error?

MemoryError is raised by Python when an underlying (OS-level) allocation 
fails.  In your case, ''.join(buf)' has to allocate a single region as 
big as the sum of the strings in 'buf' (which is some kind of sequence 
of strings).

Normally this would mean that you were out of even virtual memory 
(swap), but it could also be a symptom of a libc bug, a bad RAM chip, etc.

Tres.
-- 
===============================================================
Tres Seaver                                tseaver at zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com



More information about the Zope mailing list