https://issues.apache.org/bugzilla/show_bug.cgi?id=50618
--- Comment #22 from Milamber <[email protected]> 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 false) 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. Thanks -- 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: [email protected] For additional commands, e-mail: [email protected]
