<< Back to previous view |
[QB-2001] Out of memory while parsing big junit xml file
|
|
Status: | Resolved |
Project: | QuickBuild |
Component/s: | None |
Affects Version/s: | 5.1.16 |
Fix Version/s: | 5.1.19 |
Type: | Bug | Priority: | Major |
Reporter: | Piotr Jedrys | Assigned To: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Remaining Estimate: | Unknown | Time Spent: | Unknown |
Original Estimate: | Unknown |
Description |
Whenever QB step for parsing JUnit results tries to parse a big xml file (in our case 85MB of <system-out> and only 1MB of other data inside) the step fails with out of memory
{code} 02:16:41,543 ERROR - Step 'master>Publishing Artifacts>JUnit Report' is failed. com.pmease.quickbuild.plugin.report.engine.exception.DatabaseException: Open database [....] failed. Database status [No active connections]. at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.open(DbStore.java:356) at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.saveReport(ReportCategory.java:368) at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.saveDestReport(DefaultGenerator.java:81) at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.afterExecute(DefaultGenerator.java:55) at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:43) at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.generate(DefaultGenerator.java:37) at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.doPublish(AbstractPublisher.java:162) at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.CGLIB$doPublish$38(<generated>) at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c$$FastClassByCGLIB$$5ca46c78.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215) at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:273) at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.doPublish(<generated>) at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.run(AbstractPublisher.java:129) at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.CGLIB$run$31(<generated>) at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c$$FastClassByCGLIB$$5ca46c78.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215) at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:273) at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.run(<generated>) at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:539) at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:31) at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:47) at com.pmease.quickbuild.BuildAwareJob.execute(BuildAwareJob.java:61) at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:71) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: com.pmease.quickbuild.plugin.report.engine.exception.DatabaseException: Unable to get connection from database url: jdbc:h2:/opt/buildagent/temp/abstractpublishereba9ce1d-7898-4820-bcfa-66b5f6dc04e6.../junit at com.pmease.quickbuild.plugin.report.engine.datastore.ConnectionManager.getConnection(ConnectionManager.java:25) at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.getConnection(DbStore.java:391) at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.open(DbStore.java:350) ... 28 more Caused by: org.h2.jdbc.JdbcSQLException: Out of memory. [90108-159] at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) at org.h2.message.DbException.get(DbException.java:158) at org.h2.message.DbException.convert(DbException.java:275) at org.h2.engine.Database.openDatabase(Database.java:250) at org.h2.engine.Database.<init>(Database.java:215) at org.h2.engine.Engine.openSession(Engine.java:56) at org.h2.engine.Engine.openSession(Engine.java:159) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at org.h2.engine.Engine.createSession(Engine.java:121) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:285) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) at org.h2.Driver.connect(Driver.java:72) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at com.pmease.quickbuild.plugin.report.engine.datastore.ConnectionManager.getConnection(ConnectionManager.java:23) ... 30 more Caused by: java.lang.OutOfMemoryError: Java heap space {code} |