jakarta-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 50618] Stack overflow on Generic Controller
Date Fri, 09 Sep 2011 18:18:47 GMT

--- Comment #22 from Milamber <milamber@apache.org> 2011-09-09 18:18:47 UTC ---
Created attachment 27478
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=27478
First patch to catch StackOverFlowError

This bug comes from a infinite recursive method. JMeter uses next() method to
come down the element tree.
If test plan with loops forever (or >2000 loops) contains only a If Controller
with children elements, and the IF condition become "false", the
StackOverFlowError will start.

The If Controller uses the next() method to provide own feature, if the
condition is true, then If Controller next() call super.next() and JMeter calls
the first child, if the condition if false, then If Controller next() return
null (meaning for JMeter: end of controller).
The issue is providing by GenericController and nextIsController() method which
come down in tree recursively, and without stop (i.e. return to JMeterThread)
if always null is return by a controller.
With a unique If Controller which start to return always null, the
StackOverFlow is inevitable.

A workaround is add a simple sampler like Debug, Test action on the same level
of If Controller.

This first patch is to catch the StackOverFlowError and force JMeter to return
on JMeterThread (and ignore the SOF error). It's works with the simple test
case (TestSimple.jmx) (first iteration return true and the next return always

But this patch don't work if the If Controller return always false (from
iteration 1 to infinite) (to test it, change If condition to  
"1" == "0" 

@sebb: I would like commit this first patch because it's resolving some case.
Are you ok? or any opinion?
Perhaps, we add an "known issue" in documentation?

@all: I spent some hours (day) to find a way to correct this bug. I'm
interested by your feedback to help to fix this bug.


Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

To unsubscribe, e-mail: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org

View raw message