[Zope] Strange Infinite Recursions

Chris Withers chrisw@nipltd.com
Mon, 08 May 2000 17:35:18 +0100


If I create a DTML method called 'method' containing only:

<dtml-if 'method'>
 There is always true
</dtml-if>

I get:

  Error Type: SystemError
  Error Value: infinite recursion in document template

Surely it should just always be true and so should evaluate as such
without infinitely recursing? 

Chris

PS: traceback ;-) 

Traceback (innermost last):
  File *zope path*/lib/python/ZPublisher/Publish.py, line 214, in
publish_module
  File *zope path*/lib/python/ZPublisher/Publish.py, line 179, in
publish
  File *zope path*/lib/python/Zope/__init__.py, line 202, in
zpublisher_exception_hook
    (Object: ApplicationDefaultPermissions)
  File *zope path*/lib/python/ZPublisher/Publish.py, line 165, in
publish
  File *zope path*/lib/python/ZPublisher/mapply.py, line 160, in mapply
    (Object: account)
  File *zope path*/lib/python/ZPublisher/Publish.py, line 102, in
call_object
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 150, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
  File *zope path*/lib/python/OFS/DTMLMethod.py, line 146, in __call__
    (Object: account)
  File *zope path*/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: account)
SystemError: (see above)