Item10223: deep recursion warning editing a bug item

pencil
Priority: Urgent
Current State: Confirmed
Released In: n/a
Target Release: n/a
Applies To: Web Site
Component: BugsContrib
Branches:
Reported By: MichaelDaum
Waiting For:
Last Change By: GeorgeClark
How to reproduce: edit an Item; see the error.log file for something like

Max recursive depth reached: %CLASS%

and

Max recursive depth reached: %PRIORITY%

Independent of BugsContrib this error is reproducible using the following simple parametrized INCLUDE:

%STARTINCLUDE% %CLASS% %STOPINCLUDE%
%INCLUDE{"%TOPIC%" CLASS="%CLASS%"}%

%CLASS is assigned itself as a value. This pattern can be found in two places in BugsContrib: Priority and AppliesTo. The idea there is to forward the variable Set to some %URLPARAM expression to the parametrized INCLUDE. However, this fails when the core reads the DataForm definition as the %CLASS (and %PRIORITY) settings are not asserted in that situation. They only contain valid values when you visit the Priority or AppliesTo topics, but not as part of the process when the core reads the DataForm definition.

That's why the recursion happens where Foswiki tries to set %SOMEVARIABLE to the value %SOMEVARIABLE which ends up into non-terminating recursion when %SOMEVARIABLE is undefined.

BugsContrib still works properly in that respect, however does generate these warning messages.

-- MichaelDaum - 04 Jan 2011

Bumping this to urgent. We are at 250,000 errors logged on foswiki.org. and increasing as fast as 10-30 per minute.

-- GeorgeClark - 14 Mar 2012
 

ItemTemplate edit

Summary deep recursion warning editing a bug item
ReportedBy MichaelDaum
Codebase 1.1.4, trunk
SVN Range
AppliesTo Web Site
Component BugsContrib
Priority Urgent
CurrentState Confirmed
WaitingFor
Checkins
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
Release01x01Checkins
Topic revision: r2 - 14 Mar 2012, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy