Author: milamber
Date: Wed Sep 14 00:08:37 2011
New Revision: 1170396

URL: http://svn.apache.org/viewvc?rev=1170396&view=rev
Log:
If Controller - Catches a StackOverflowError when a condition returns always 
false (after at least one iteration with return true) See bug 50618

Modified:
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/GenericController.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/GenericController.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/GenericController.java?rev=1170396&r1=1170395&r2=1170396&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/GenericController.java 
(original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/GenericController.java 
Wed Sep 14 00:08:37 2011
@@ -181,7 +181,15 @@ public class GenericController extends A
      * @throws NextIsNullException
      */
     protected Sampler nextIsAController(Controller controller) throws 
NextIsNullException {
-        Sampler sampler = controller.next();
+        Sampler sampler = null;
+        try {
+            sampler = controller.next();
+        } catch (StackOverflowError soe) {
+            // See bug 50618  Catches a StackOverflowError when a condition 
returns 
+            // always false (after at least one iteration with return true)
+            log.warn("StackOverflowError detected"); // $NON-NLS-1$
+            throw new NextIsNullException();
+        }
         if (sampler == null) {
             currentReturnedNull(controller);
             sampler = next();

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1170396&r1=1170395&r2=1170396&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Wed Sep 14 00:08:37 2011
@@ -82,6 +82,7 @@ This can be overridden by setting the JM
 <h3>Controllers</h3>
 <ul>
 <li>If Controller - Fixed a regression introduce by bug 50032 (see bug 50618 
too)</li>
+<li>If Controller - Catches a StackOverflowError when a condition returns 
always false (after at least one iteration with return true) See bug 50618</li>
 </ul>
 
 <h3>Listeners</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to