<p>I'm using the PHP Java Bridge to integrate BIRT into our application, for the most part it's been running well, but I've come across some strange behaviour recently. Initially it started out, that I had a report that ran fine, then as the amount of data in the report grew, it started failing to generate an XLS, and then as it grew more, even the HTML output was failing. I wasn't getting any meaningful error messages, and figured I'd first try to troubleshoot the excel issue as that happened earlier. I theorized the report might be getting long enough to hit a row limit in excel, so I proceeded to upgrade Birt in the JavaBridge to 4.5, so that I could use the XLSX emitter to overcome that suspected error. After upgrading, I went through a bunch of the different reports we have in the system, and all except the problematic report are working as expected. This time however, I was getting a more helpful error, it was a heap memory error, so I increased the heap size in Tomcat, and now got it to get further. Now it will run the html report no matter the size thus far, but the XLSX emitter still fails with a generic error, and I'm unsure how to proceed. The error I'm getting is as follows, and that gets written to the xlsx file instead of the report output. Is there any additional logging I can enable, or any suggestions on how I can troubleshoot further? Any suggestions are much appreciated.</p>
<p> </p>
<p>Thanks<br>
Warren</p>
<p> </p>
<div>
o:Exception]:"java.lang.Exception: Invoke failed: [[o:RunAndRenderTask->run. Cause: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. VM: 1.7.0_95@<a data-ipb='nomediaparse' href='
http://java.oracle.com/'>http://java.oracle.com/"</a>at: </div>
<div>#-12 org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2375)</div>
<div>#-11 org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191)</div>
<div>#-10 org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)</div>
<div>#-9 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div>
<div>#-8 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)</div>
<div>#-7 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div>
<div>#-6 java.lang.reflect.Method.invoke(Method.java:606)</div>
<div>#-5 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1044)</div>
<div>#-4 php.java.bridge.Request.handleRequest(Request.java:417)</div>
<div>#-3 php.java.bridge.Request.handleRequests(Request.java:500)</div>
<div>#-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:145)</div>
<div>#-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)</div>
<div>#0 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(232): java_ThrowExceptionProxyFactory->getProxy(13, '
@V', 'T', true)</div>
<div>#1 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(360): java_Arg->getResult(true)</div>
<div>#2 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(366): java_Client->getWrappedResult(true)</div>
<div>#3 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(560): java_Client->getResult()</div>
<div>#4 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(1752): java_Client->invokeMethod(10, 'run', Array)</div>
<div>#5 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(1851): java_JavaProxy->__call('run', Array)</div>
<div>#6 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/java/Java.inc(1999): java_AbstractJava->__call('run', Array)</div>
<div>#7 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/actions.class.php(448): Java->__call('run', Array)</div>
<div>#8 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/actions.class.php(448): java_InternalJava->run()</div>
<div>#9 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/reports/actions/actions.class.php(281): reportsActions->generateReportXLS('<?xml version="...', Array, 'Invoicing_Repor...')</div>
<div>#10 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/action/sfActions.class.php(60): reportsActions->executeGenerateReport(Object(sfWebRequest))</div>
<div>#11 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfExecutionFilter.class.php(90): sfActions->execute(Object(sfWebRequest))</div>
<div>#12 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfExecutionFilter.class.php(76): sfExecutionFilter->executeAction(Object(reportsActions))</div>
<div>#13 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfExecutionFilter.class.php(42): sfExecutionFilter->handleAction(Object(sfFilterChain), Object(reportsActions))</div>
<div>#14 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfExecutionFilter->execute(Object(sfFilterChain))</div>
<div>#15 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfCommonFilter.class.php(29): sfFilterChain->execute()</div>
<div>#16 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfCommonFilter->execute(Object(sfFilterChain))</div>
<div>#17 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/plugins/sfJqueryFormValidationPlugin/lib/filter/sfJqueryFormValidationFilter.class.php(7): sfFilterChain->execute()</div>
<div>#18 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfJqueryFormValidationFilter->execute(Object(sfFilterChain))</div>
<div>#19 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/lib/exceptionCatchFilter.class.php(26): sfFilterChain->execute()</div>
<div>#20 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): ExceptionCatcherFilter->execute(Object(sfFilterChain))</div>
<div>#21 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfBasicSecurityFilter.class.php(62): sfFilterChain->execute()</div>
<div>#22 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/plugins/sfGuardPlugin/lib/sfGuardBasicSecurityFilter.class.php(36): sfBasicSecurityFilter->execute(Object(sfFilterChain))</div>
<div>#23 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfGuardBasicSecurityFilter->execute(Object(sfFilterChain))</div>
<div>#24 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfRenderingFilter.class.php(33): sfFilterChain->execute()</div>
<div>#25 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfRenderingFilter->execute(Object(sfFilterChain))</div>
<div>#26 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/controller/sfController.class.php(245): sfFilterChain->execute()</div>
<div>#27 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/action/sfAction.class.php(150): sfController->forward('reports', 'generateReport')</div>
<div>#28 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/modules/timesheet/actions/actions.class.php(206): sfAction->forward('reports', 'generateReport')</div>
<div>#29 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/action/sfActions.class.php(60): timesheetActions->executeInvoicingReport(Object(sfWebRequest))</div>
<div>#30 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfExecutionFilter.class.php(90): sfActions->execute(Object(sfWebRequest))</div>
<div>#31 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfExecutionFilter.class.php(76): sfExecutionFilter->executeAction(Object(timesheetActions))</div>
<div>#32 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfExecutionFilter.class.php(42): sfExecutionFilter->handleAction(Object(sfFilterChain), Object(timesheetActions))</div>
<div>#33 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfExecutionFilter->execute(Object(sfFilterChain))</div>
<div>#34 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfCommonFilter.class.php(29): sfFilterChain->execute()</div>
<div>#35 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfCommonFilter->execute(Object(sfFilterChain))</div>
<div>#36 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/plugins/sfJqueryFormValidationPlugin/lib/filter/sfJqueryFormValidationFilter.class.php(7): sfFilterChain->execute()</div>
<div>#37 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfJqueryFormValidationFilter->execute(Object(sfFilterChain))</div>
<div>#38 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/apps/frontend/lib/exceptionCatchFilter.class.php(26): sfFilterChain->execute()</div>
<div>#39 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): ExceptionCatcherFilter->execute(Object(sfFilterChain))</div>
<div>#40 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfBasicSecurityFilter.class.php(62): sfFilterChain->execute()</div>
<div>#41 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/plugins/sfGuardPlugin/lib/sfGuardBasicSecurityFilter.class.php(36): sfBasicSecurityFilter->execute(Object(sfFilterChain))</div>
<div>#42 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfGuardBasicSecurityFilter->execute(Object(sfFilterChain))</div>
<div>#43 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfRenderingFilter.class.php(33): sfFilterChain->execute()</div>
<div>#44 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/filter/sfFilterChain.class.php(53): sfRenderingFilter->execute(Object(sfFilterChain))</div>
<div>#45 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/controller/sfController.class.php(245): sfFilterChain->execute()</div>
<div>#46 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/controller/sfFrontWebController.class.php(48): sfController->forward('timesheet', 'invoicingReport')</div>
<div>#47 /mnt/data/wmoxley/Projects/CareWebs/htdocs/symfony/RELEASE_1_2_12/lib/util/sfContext.class.php(159): sfFrontWebController->dispatch()</div>
<div>#48 /mnt/data/wmoxley/Projects/CareWebs/htdocs/project/web/index.php(6): sfContext->dispatch()</div>
<div>#49 {main}]</div>