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
>    (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?

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


           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).  

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to