In CMFCore.FSPythonScript.py around line 170 in the _exec method, a
volatile attribute is checked to see if a script has been compiled
properly. The lifetime of volatile attributes cannot be guaranteed
right, so I would assume that this code is not being careful enough.
This is the code I'm talking about:
# Prepare the function.
f = self._v_f
if f is None:
# The script has errors.
__traceback_supplement__ = (
FSPythonScriptTracebackSupplement, self, 0)
raise RuntimeError, '%s has errors.' % self._filepath
I have a few Plone sites that work perfectly 99% of the time, but under
heavy load they raise RuntimeErrors on scripts at precisely this point
in the code. The only explanation seems to be that the volatile
attribute has lost its state. When I "customise" the scripts to force a
recompile it works again.
Seems like a bug?
Upfront Systems http://www.upfrontsystems.co.za
Zope-CMF maillist - Zope-CMF@lists.zope.org
See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests