Hi, sometimes I'm getting the following stack trace when running > 1.000 tests launched by a Factory class.
com.selenium.tests.web.seo.SeoTest.setUpTestEnvironment(java.lang.reflect.Method)
[java] [Invoker
2128229621] Invoking com.selenium.tests.web.seo.SeoTest.testSeo
[java] [Invoker 15266430] Invoking @AfterMethod com.selenium.tests.BaseSeleniumTest.tearDown(org.testng.ITestResult)
[java] [Invoker 1629763825] Invoking com.selenium.tests.web.seo.SeoTest.testSeo
[java] [WARN] ThreadPoolExecutor has been interrupted while awaiting termination
[java] [Invoker 1762911089] Invoking @AfterMethod com.selenium.tests.BaseSeleniumTest.tearDown(org.testng.ITestResult)
[java] [WARN] ThreadPoolExecutor has been interrupted while awaiting termination
[java] java.util.ConcurrentModificationException
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:771)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[java] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:616)
[java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:390)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
[java] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
[java] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
[java] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[java] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:616)
[java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:390)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
[java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:801)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:218)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
[java] Caused by: java.util.ConcurrentModificationException
[java] at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:782)
[java] at java.util.ArrayList$Itr.next(ArrayList.java:754)
[java] at org.testng.TestRunner.dumpInvokedMethods(TestRunner.java:1614)
[java] at org.testng.TestRunner.afterRun(TestRunner.java:1131)
[java] at org.testng.TestRunner.run(TestRunner.java:600)
[java] at org.testng.SuiteRunner.runTest(SuiteRunner.java:315)
[java] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:310)
[java] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:272)
[java] at org.testng.SuiteRunner.run(SuiteRunner.java:221)
[java] at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
[java] at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
[java] at org.testng.TestNG.runSuitesSequentially(TestNG.java:1027)
[java] at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
[java] at org.testng.TestNG.run(TestNG.java:896)
[java] at com.selenium.framework.TestRunner.main(TestRunner.java:54)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:616)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
[java] ... 33 more
I'm running with:
TestListenerAdapter tla = new TestListenerAdapter();
testng.setUseDefaultListeners(false);
testng.addListener(new FailureTraceReporter()); // customized version of TestHTMLReporter (extended)
testng.addListener(new ExtendedEmailableReporter()); // custom report implementing IReporter
testng.addListener(new AnnotationTransformer()); // implements IAnnotationTransformer
testng.addListener(tla);
Thanks,
Ivan.-