[Zope-CMF] Bug in FSPythonScript?
Tres Seaver
tseaver at palladion.com
Thu Sep 4 17:19:22 EDT 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Roché Compaan wrote:
> 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?
I've never seen the behavior you report, but inspection suggests that an
extra check would not hurt. E.g., before the 'if f is None' above, adding:
if f is None:
self._readFile(True)
f = self._v_f
should do the trick. If you can generate a patch for this, which
includes a test (calling 'script._p_deactivate()' should mimic the
behavior you are seing), I would be glad to merge it (assuming you don't
have SVN privileges).
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFIwFDZ+gerLs4ltQ4RAnpvAKCV3e3C9TPOQiygwY/TtHn4e2DiawCgidlU
DZakIRreq4bJejN8RgWbF9Y=
=+jUJ
-----END PGP SIGNATURE-----
More information about the Zope-CMF
mailing list