serenity-bdd / serenity-maven-plugin

19 stars 21 forks source link

Failed to generate report for DurationReportingTask - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space #87

Open xiannicolae opened 1 year ago

xiannicolae commented 1 year ago

With the latest versions of serenity, randomly I get OoO when generating the final report:

[INFO] --- serenity-maven-plugin:3.6.9:aggregate (serenity-reports) @ qa-selenium-tests --- [WARNING] Failed to generate report for DurationReportingTask{reportName='9bcce430bf53184ab86d4fc057cc1a32e5af31787a7597fc4b899ed8cdf3895d.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space [WARNING] Failed to generate report for DurationReportingTask{reportName='af6e33d56181b2f83a5dcd827affff8c28757e323fe808086e2415de77127063.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space [WARNING] Failed to generate report for DurationReportingTask{reportName='595208b88bbdd605f1b7ed4c50a5879f698975f260ae60ca00d4915481eefddd.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space [WARNING] Failed to generate report for DurationReportingTask{reportName='fa4eb23d60b959019556719e6ad9ff7c492ab984ae4da447214361429aeae878.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space java.base/java.util.HashMap.newNode(HashMap.java:1814) java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.HashMap.newNode(HashMap.java:1814) at java.base/java.util.HashMap.putVal(HashMap.java:627) at java.base/java.util.HashMap.putMapEntries(HashMap.java:511) at java.base/java.util.HashMap.(HashMap.java:486) at net.thucydides.core.environment.SystemEnvironmentVariables.copy(SystemEnvironmentVariables.java:45) at net.thucydides.core.environment.SystemEnvironmentVariables.currentEnvironmentVariables(SystemEnvironmentVariables.java:62) at net.serenitybdd.core.environment.ConfiguredEnvironment.getEnvironmentVariables(ConfiguredEnvironment.java:12) at net.thucydides.core.model.ReportNamer.(ReportNamer.java:26) at net.thucydides.core.model.ReportNamer.forReportType(ReportNamer.java:18) at net.thucydides.core.reports.html.ReportNameProvider.(ReportNameProvider.java:65) at net.thucydides.core.reports.html.ReportNameProvider.(ReportNameProvider.java:51) at net.thucydides.core.model.Story.getReportName(Story.java:259) at net.thucydides.core.requirements.reports.ScenarioOutcomes.outcomeFrom(ScenarioOutcomes.java:61) at net.thucydides.core.requirements.reports.ScenarioOutcomes.lambda$from$0(ScenarioOutcomes.java:33) at net.thucydides.core.requirements.reports.ScenarioOutcomes$$Lambda$551/0x000000010016d040.apply(Unknown Source) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at net.thucydides.core.requirements.reports.ScenarioOutcomes.from(ScenarioOutcomes.java:34) at net.thucydides.core.reports.html.FreemarkerContext.getBuildContext(FreemarkerContext.java:155) at net.thucydides.core.reports.html.DurationReportingTask.generateReports(DurationReportingTask.java:46) at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:33) at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:12) ... 4 more [WARNING] Failed to generate report for DurationReportingTask{reportName='6545d81837e7614770208b5231d009a2a39cf4c3a867598f15db1b6ed1aba919.html'} - java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Self-suppression not permitted Java heap space java.base/java.lang.Throwable.addSuppressed(Throwable.java:1054) java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Self-suppression not permitted at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.IllegalArgumentException: Self-suppression not permitted at java.base/java.lang.Throwable.addSuppressed(Throwable.java:1054) at net.thucydides.core.reports.html.BaseReportingTask.generateReportPage(BaseReportingTask.java:45) at net.thucydides.core.reports.html.DurationReportingTask.generateReports(DurationReportingTask.java:53) at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:33) at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:12) ... 4 more Caused by: java.lang.OutOfMemoryError: Java heap space [WARNING] Failed to generate report for DurationReportingTask{reportName='c9266b2f23f9e28421c0dc474e98b8993f610907f58fbaf58f6daf2c8520e331.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space java.base/java.util.regex.Matcher.replaceAll(Matcher.java:1180) java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.regex.Matcher.replaceAll(Matcher.java:1180) at java.base/java.lang.String.replaceAll(String.java:2126) at net.thucydides.core.model.DataTable.restoreVariablesIn(DataTable.java:563) at net.thucydides.core.model.TestOutcome.withPlaceholderSubstitutes(TestOutcome.java:2672) at net.thucydides.core.model.TestOutcome.buildScenarioOutline(TestOutcome.java:2661) at net.thucydides.core.model.TestOutcome.getDataDrivenSampleScenario(TestOutcome.java:2645) at net.thucydides.core.requirements.reports.ScenarioOutcomes.dataDrivenOutcomeFrom(ScenarioOutcomes.java:124) at net.thucydides.core.requirements.reports.ScenarioOutcomes.outcomeFrom(ScenarioOutcomes.java:64) at net.thucydides.core.requirements.reports.ScenarioOutcomes.lambda$from$0(ScenarioOutcomes.java:33) at net.thucydides.core.requirements.reports.ScenarioOutcomes$$Lambda$551/0x000000010016d040.apply(Unknown Source) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at net.thucydides.core.requirements.reports.ScenarioOutcomes.from(ScenarioOutcomes.java:34) at net.thucydides.core.reports.html.FreemarkerContext.getBuildContext(FreemarkerContext.java:155) at net.thucydides.core.reports.html.DurationReportingTask.generateReports(DurationReportingTask.java:46) at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:33) at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:12) ... 4 more [WARNING] Failed to generate report for DurationReportingTask{reportName='15c2a008d4e5917b13ee4d82af2a5eb34e4b904bc2b8d29d5e15d22080396dae.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space [WARNING] Failed to generate report for DurationReportingTask{reportName='c09807cec4f83fabd64a36189cc812bee077fa74ee89c8f01e24d7c03dae9fe8.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space [WARNING] Failed to generate report for DurationReportingTask{reportName='0a85926ad582a5f6a40baff6fe98726aca62aa4244656e2e449c29df15b7ccb1.html'} - java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space Java heap space

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205) at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:59) at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:35) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:221) at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:268) at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:204) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.jvnet.hudson.maven3.launcher.Maven32Launcher.main(Maven32Launcher.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238) at jenkins.maven3.agent.Maven32Main.launch(Maven32Main.java:188) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.maven.Maven3Builder.call(Maven3Builder.java:139) at hudson.maven.Maven3Builder.call(Maven3Builder.java:70) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:375) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.OutOfMemoryError: Java heap space [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 25:27 min [INFO] Finished at: 2023-02-07T03:36:04+01:00 [INFO] Final Memory: 987M/1024M [INFO] ------------------------------------------------------------------------

Same Jenkins test suite but with an older version of serenity has different results and less memory used:

[INFO] --- serenity-maven-plugin:3.1.15:aggregate (serenity-reports) @ qa-selenium-tests --- [INFO] Reflections took 1669 ms to scan 1 urls, producing 53 keys and 911 values [INFO] ----------------------------------------- [INFO] SERENITY TESTS: SUCCESS [INFO] ----------------------------------------- [INFO] | Tests executed | 76 [INFO] | Tests passed | 76 [INFO] | Tests failed | 0 [INFO] | Tests with errors | 0 [INFO] | Tests compromised | 0 [INFO] | Tests aborted | 0 [INFO] | Tests pending | 0 [INFO] | Tests ignored/skipped | 0 [INFO] ------------------------ | -------------- [INFO] | Total Duration | 10m 51s [INFO] | Fastest test took | 4s 976ms [INFO] | Slowest test took | 15s 332ms [INFO] ----------------------------------------- [INFO] [INFO] SERENITY REPORTS [INFO] [INFO] --- maven-failsafe-plugin:2.22.2:verify (default) @ qa-selenium-tests --- [JENKINS] Recording test results [JENKINS] Archiving disabled [JENKINS] Archiving disabled [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 19:19 min [INFO] Finished at: 2023-02-04T21:13:45+01:00 [INFO] Final Memory: 50M/167M [INFO] ------------------------------------------------------------------------

What could cause this issue?

Please let me know if you need more info.

xiannicolae commented 1 year ago

On other Jenkins test suite, we noticed the following:

[INFO] --- serenity-maven-plugin:3.6.9:aggregate (serenity-reports) @ qa-selenium-tests --- [WARNING] Report generation timed out for net.thucydides.core.reports.html.RequirementsTypeReportingTask@deb85899 - java.util.concurrent.TimeoutException null java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) [WARNING] Report generation timed out for net.thucydides.core.reports.html.RequirementsTypeReportingTask@10a2c15e - java.util.concurrent.TimeoutException null java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) [WARNING] Report generation timed out for net.thucydides.core.reports.html.RequirementsTypeReportingTask@46bf13a0 - java.util.concurrent.TimeoutException null java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)

(...and still pending...)

xiannicolae commented 1 year ago

If it helps, the Jenkins machine doesn't have access to the internet.

xiannicolae commented 1 year ago

Most probably what was reported above, was also occurring because of the high CPU usage of Java 11.

It was downgraded to Java 9, so the CPU usage is back to normal.

However, the reports requires more time still to generate, and more memory overall.

xiannicolae commented 1 year ago

Even with Java 9 and enough machine resources available, the timeout when generating the reports is still reproducible:

[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0 [INFO] [JENKINS] Recording test results [INFO] [INFO] --- serenity-maven-plugin:3.6.12:aggregate (serenity-reports) @ qa-selenium-tests --- [WARNING] Report generation timed out for net.thucydides.core.reports.html.RequirementsTypeReportingTask@deb85899 - java.util.concurrent.TimeoutException null java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) [WARNING] Report generation timed out for net.thucydides.core.reports.html.RequirementsTypeReportingTask@46bf13a0 - java.util.concurrent.TimeoutException null java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)

xiannicolae commented 1 year ago

After further investigation and testing different combinations, the problem is coming from:

            <groupId>net.serenity-bdd.maven.plugins</groupId>
            <artifactId>serenity-maven-plugin</artifactId>

If needed, I can find out the starting version since this issue starts to occur (long generating report times, timeouts, increased memory etc.).

For now we will revert only serenity-maven-plugin to v.3.1.15 which is super fast in generating the reports and very low on resources requirements.

wakaleo commented 1 year ago

You can try to adjust the reporting configuration using the following properties:

For more specific support, we would need to look at your project directly (which we could do as part of a commercial support package).

xiannicolae commented 1 year ago

@wakaleo what are the differences in between 3.1.15 and latest version 3.6.12 regarding these 2 properties (as default values)?

FYI as I searched for my issue, it seems that similar problems were reported on earlier versions.

wakaleo commented 1 year ago

No idea. That part of the code base has not changed in a very long time.

xiannicolae commented 1 year ago

@wakaleo I see. It means that there is something else that it is generating these issues.

As soon as I will have a timeframe, I will let you know what is the starting version of serenity-maven-plugin that requires more resources. On a random versions pick I did earlier, on v.3.5.1 is already happening and on 3.3.10 not (however I noticed a very slight increase of time - from 40+ sec to 80-90+ sec)

wakaleo commented 1 year ago

Reports after 3.5.x are richer and more complete, but are also more optimised for speed in normal circumstances. You might have some project-specific considerations that make the reports take longer to generate.

xiannicolae commented 1 year ago

It appears that there is another cause for the long generating times. At least the required memory and CPU when generating the reports are relatively the same as before.

E.g.:

[INFO] --- serenity-maven-plugin:3.1.15:aggregate (serenity-reports) @ qa-selenium-tests --- [INFO] Reflections took 3296 ms to scan 1 urls, producing 53 keys and 917 values [INFO] Test results for 120 tests generated in 1,907.4 secs in directory: file:/C:/Jenkins/ [INFO] ----------------------------------------- [INFO] SERENITY TESTS: SUCCESS [INFO] ----------------------------------------- [INFO] | Tests executed | 120 [INFO] | Tests passed | 120 [INFO] | Tests failed | 0 [INFO] | Tests with errors | 0 [INFO] | Tests compromised | 0 [INFO] | Tests aborted | 0 [INFO] | Tests pending | 0 [INFO] | Tests ignored/skipped | 0 [INFO] ------------------------ | -------------- [INFO] | Total Duration | 27m 16s [INFO] | Fastest test took | 469ms [INFO] | Slowest test took | 1m [INFO] ----------------------------------------- [INFO] [INFO] SERENITY REPORTS [INFO] [INFO] --- maven-failsafe-plugin:2.22.2:verify (default) @ qa-selenium-tests --- [JENKINS] Recording test results [JENKINS] Archiving disabled [JENKINS] Archiving disabled [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:03 h [INFO] Finished at: 2023-02-07T17:18:54+01:00 [INFO] Final Memory: 98M/327M [INFO] ------------------------------------------------------------------------

vs older run:

[INFO] --- serenity-maven-plugin:3.1.15:aggregate (serenity-reports) @ qa-selenium-tests --- [INFO] Reflections took 1628 ms to scan 1 urls, producing 53 keys and 911 values [INFO] Test results for 120 tests generated in 4.5 secs in directory: file:/C:/Jenkins/ [INFO] ----------------------------------------- [INFO] SERENITY TESTS: SUCCESS [INFO] ----------------------------------------- [INFO] | Tests executed | 120 [INFO] | Tests passed | 120 [INFO] | Tests failed | 0 [INFO] | Tests with errors | 0 [INFO] | Tests compromised | 0 [INFO] | Tests aborted | 0 [INFO] | Tests pending | 0 [INFO] | Tests ignored/skipped | 0 [INFO] ------------------------ | -------------- [INFO] | Total Duration | 30m 5s [INFO] | Fastest test took | 414ms [INFO] | Slowest test took | 1m 8s [INFO] ----------------------------------------- [INFO] [INFO] [INFO] --- maven-failsafe-plugin:2.22.2:verify (default) @ qa-selenium-tests --- [JENKINS] Recording test results [JENKINS] Archiving disabled [JENKINS] Archiving disabled [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 36:22 min [INFO] Finished at: 2023-02-04T21:53:21+01:00 [INFO] Final Memory: 50M/167M [INFO] ------------------------------------------------------------------------

What we upgraded are:

We will continue to investigate.

As you mentioned, we were expecting to have faster results with the latest versions, but indeed, would be very useful to find out what are those project considerations that are affecting the speed and resources consumption.

wakaleo commented 1 year ago

There might indeed be an environmental or project-related consideration. Our smoke tests take under 30 seconds for 45K test cases with the latest versions:

[INFO] Test results for 45332 tests generated in 28.3 secs in directory: file:/Users/john/Projects/SerenityDojoExpansion/challenges/pilot-medicals-tutorial/target/site/serenity/
[INFO] ------------------------------------------------
[INFO] | SERENITY TESTS:               | SUCCESS
[INFO] ------------------------------------------------
[INFO] | Test scenarios executed       | 422
[INFO] | Test cases executed           | 45332
[INFO] | Tests passed                  | 45332
[INFO] | Tests failed                  | 0
[INFO] | Tests with errors             | 0
[INFO] | Tests compromised             | 0
[INFO] | Tests aborted                 | 0
[INFO] | Tests pending                 | 0
[INFO] | Tests ignored/skipped         | 0
[INFO] ------------------------------- | --------------
[INFO] | Total Duration| 1m 13s
[INFO] | Fastest test took| 000ms
[INFO] | Slowest test took| 010ms
[INFO] ------------------------------------------------
[INFO] 
xiannicolae commented 1 year ago

@wakaleo awesome results! I assume there are unit tests there?

We are running only Integration Tests, 100% on UI, which are very heavy as you know.

May I kindly ask for some hints related to those considerations? Maybe will hit a bell and help us to narrow down the potential cause.

I retried a scenario locally with old serenity and webdriver versions, compiled with Java 9 and there are no problems:

[INFO] --- serenity-maven-plugin:3.1.15:aggregate (serenity-reports) @ qa-selenium-tests --- [INFO] Reflections took 276 ms to scan 1 urls, producing 53 keys and 916 values [INFO] Test results for 62 tests generated in 4.2 secs in directory: file: [INFO] ----------------------------------------- [INFO] SERENITY TESTS: SUCCESS [INFO] ----------------------------------------- [INFO] | Tests executed | 62 [INFO] | Tests passed | 62 [INFO] | Tests failed | 0 [INFO] | Tests with errors | 0 [INFO] | Tests compromised | 0 [INFO] | Tests aborted | 0 [INFO] | Tests pending | 0 [INFO] | Tests ignored/skipped | 0 [INFO] ------------------------ | -------------- [INFO] | Total Duration | 11m 50s [INFO] | Fastest test took | 1s 163ms [INFO] | Slowest test took | 24s 151ms [INFO] -----------------------------------------

wakaleo commented 1 year ago

Unit or integration tests make no difference with regards to the report generation. I really don't have any idea where to look without seeing the project itself unfortunately.

xiannicolae commented 1 year ago

@wakaleo I understand and thank you for your support!

I will try to narrow it down and if I won't find anything, we can have a look into the project, so you will have a better idea where the bottle neck is.

wakaleo commented 1 year ago

@xiannicolae if you need us to review the project itself, let me know and I can send you the options for commercial support packages - that would most likely be the fastest way to figure it out.

xiannicolae commented 1 year ago

@wakaleo yes please.

Today I did more experiments and the last combination of serenity and selenium webdriver that works smoothly is 3.1.16 with 4.1.3.

From 3.1.17 the java heap issues are starting, and the reports generation time starts to increase slowly.