E. Seifert wrote:
Hi list,
I just installed the 2.4.2 update over my Linux Zope 2.4.1 and I get the following traceback:
Traceback (innermost last): [...]
(Object: standard_html_header) File /usr/local/zope/lib/python/Products/Renderable/Renderable.py, line 17, in __str__ (Object: standard_site_menue) File /usr/local/zope/lib/python/OFS/DTMLMethod.py, line 195, in __call__ (Object: render) File /usr/local/zope/lib/python/DocumentTemplate/DT_String.py, line 546, in __call__ (Object: render) File /usr/local/zope/lib/python/DocumentTemplate/DT_In.py, line 770, in renderwob (Object: objectValues(['SimpleNav Element'])) File /usr/local/zope/lib/python/Products/Renderable/Renderable.py, line 17, in __str__ (Object: ab) File /usr/local/zope/lib/python/OFS/DTMLMethod.py, line 203, in __call__ (Object: render) KeyError: validate
Is there someone who can help me?
TIA Erich
Hi Erich, Sorry it took me so long to read Zope-dev and see this question. There's a section in lib/python/OFS/DTMLMethod.py which was changed in 2.4.2 to accelerate DTML security processing, but it doesn't look like a subsequent patch to make it handle reentry was routed to 2.4 yet. (Actually, I think it's waiting in a dev branch, because it's not on the trunk yet either.) For the time being, what you can do is comment out both lines in DTMLMethod.py which read self.__dict__['validate'] = security.DTMLValidate and del self.__dict__['validate'] It looks like the renderable product you're using is causing the DTMLMethod to be reentered, which is tripping out this bug (ie you can only delete validate once -- the second time it fails).