Start Next Loop fix
Hello Sebb, All, I commited the fix to this feature implementing your proposal. My tests show it fixes the 3 issues: - 51865 - 51866 - 51868 The think I dislike about it is the cast to LoopController in ThreadGroup (but I think it is OK). As code is a bit complex it would be great if you could also test on you side with all your knowledge of JMeter usages and internals. I don't think regressions can be introduced because it is only when Start Next loop is used that changes do their job. So regression would be on an already broken feature. I didn't mark issues as fixed yet nor did I change the comment in changes.xml: Start next Loop option in Thread Group is broken, see Bugs (51868, 51866, 51865) -- Regards. Philippe. On Tue, Oct 25, 2011 at 6:24 PM, sebb seb...@gmail.com wrote: On 25 October 2011 17:14, Philippe Mouawad p.moua...@ubik-ingenierie.com wrote: Hello Sebb, I am looking at how to fix issues with Start Next Loop. Is there a way to get parent controller from child ? I don't see how ? Sorry, don't know offhand. Would it be through a call to testTree.traverse and a SearchClass Controller ? but we would also take into account controller that are down the hierarchy. No idea - this part of JMeter is very complicated and not particularly well documented; I never fully got my head around it. The first stage might be to improve the Javadocs ... Regards Philippe On Wed, Oct 5, 2011 at 6:06 PM, bugzi...@apache.org wrote: https://issues.apache.org/bugzilla/show_bug.cgi?id=51866 --- Comment #8 from Sebb s...@apache.org 2011-10-05 16:06:50 UTC --- (In reply to comment #7) If I put JMeterContextService.getContext().isWithinRestartNextLoop() test in fireIterEvents() instead, do you see a case where it could fail ? Yes, if fireIterationStart() is called directly. But adding it to both won't necessarily help either, as that only fixes the issue with iteration listeners. But as I pointed out in Comment 3, it's not just the counter that misbehaves; the counter problem is just one symptom. I think the whole Start next loop code needs rewriting. Effectively the option means go to end of loop for each controller up to the Thread Group. [At least I assume this is the intention, as the option only appears on the Thread Group controller.] So we need to code the feature as if this has happened, and then everything else should happen naturally. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You voted for the bug. You are on the CC list for the bug. -- Cordialement. Philippe Mouawad. Ubik-Ingénierie - To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: dev-h...@jakarta.apache.org -- Cordialement. Philippe Mouawad.
transaction controller issue
Hi, I'm having an issue on JMeter 2.5, when running a test with a transaction controller inside an IF controller I get the following error (only sometimes): 2011/10/28 13:36:47 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.StackOverflowError at java.lang.String.indexOf(String.java:1521) at java.lang.ClassLoader.checkName(ClassLoader.java:775) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:947) at java.lang.ClassLoader.loadClass(ClassLoader.java:291) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.mozilla.javascript.DefiningClassLoader.loadClass(DefiningClassLoader.java:72) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) at java.lang.Class.getConstructor0(Class.java:2699) at java.lang.Class.newInstance0(Class.java:326) at java.lang.Class.newInstance(Class.java:308) at org.mozilla.javascript.optimizer.Codegen.createScriptObject(Codegen.java:83) at org.mozilla.javascript.Context.compileImpl(Context.java:2280) at org.mozilla.javascript.Context.compileString(Context.java:1284) at org.mozilla.javascript.Context.compileString(Context.java:1273) at org.mozilla.javascript.Context.evaluateString(Context.java:1129) at org.apache.jmeter.control.IfController.evaluateCondition(IfController.java:110) at org.apache.jmeter.control.IfController.next(IfController.java:167) at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:187) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:229) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) at org.apache.jmeter.control.GenericController.reInitializeSubController(GenericController.java:230) .. Did anyone else see this? Thanks. Franco
Re: Start Next Loop fix
On 31 October 2011 10:59, Philippe Mouawad philippe.moua...@gmail.com wrote: Hello Sebb, All, I commited the fix to this feature implementing your proposal. My tests show it fixes the 3 issues: - 51865 - 51866 - 51868 The think I dislike about it is the cast to LoopController in ThreadGroup (but I think it is OK). Probably. As code is a bit complex it would be great if you could also test on you side with all your knowledge of JMeter usages and internals. Looks OK, but I have not examined it in detail. I don't think regressions can be introduced because it is only when Start Next loop is used that changes do their job. So regression would be on an already broken feature. Agreed. I didn't mark issues as fixed yet nor did I change the comment in changes.xml: Start next Loop option in Thread Group is broken, see Bugs (51868, 51866, 51865) Might be worth changing the bugs to NEEDINFO and asking the originators if the nightly builds have fixed the problems. -- Regards. Philippe. On Tue, Oct 25, 2011 at 6:24 PM, sebb seb...@gmail.com wrote: On 25 October 2011 17:14, Philippe Mouawad p.moua...@ubik-ingenierie.com wrote: Hello Sebb, I am looking at how to fix issues with Start Next Loop. Is there a way to get parent controller from child ? I don't see how ? Sorry, don't know offhand. Would it be through a call to testTree.traverse and a SearchClass Controller ? but we would also take into account controller that are down the hierarchy. No idea - this part of JMeter is very complicated and not particularly well documented; I never fully got my head around it. The first stage might be to improve the Javadocs ... Regards Philippe On Wed, Oct 5, 2011 at 6:06 PM, bugzi...@apache.org wrote: https://issues.apache.org/bugzilla/show_bug.cgi?id=51866 --- Comment #8 from Sebb s...@apache.org 2011-10-05 16:06:50 UTC --- (In reply to comment #7) If I put JMeterContextService.getContext().isWithinRestartNextLoop() test in fireIterEvents() instead, do you see a case where it could fail ? Yes, if fireIterationStart() is called directly. But adding it to both won't necessarily help either, as that only fixes the issue with iteration listeners. But as I pointed out in Comment 3, it's not just the counter that misbehaves; the counter problem is just one symptom. I think the whole Start next loop code needs rewriting. Effectively the option means go to end of loop for each controller up to the Thread Group. [At least I assume this is the intention, as the option only appears on the Thread Group controller.] So we need to code the feature as if this has happened, and then everything else should happen naturally. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You voted for the bug. You are on the CC list for the bug. -- Cordialement. Philippe Mouawad. Ubik-Ingénierie - To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: dev-h...@jakarta.apache.org -- Cordialement. Philippe Mouawad. - To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: dev-h...@jakarta.apache.org