Technical Blog Post
Abstract
TCR Birt Engine throws java.lang.StackOverflowError
Body
- If there is an exception thrown while running,modifying,listing birt reports like below in the <JazzSM_HOME>\reporting\logs\reportCli.log.0 file,
SEVERE: CTGTRQ010E Processing has ended because of an unexpected error.
Feb 4, 2014 12:44:27 PM com.ibm.tivoli.reporting.advanced.cognos.cli.TRCommand main(String[]args)
SEVERE: NOTE ^General Exception^T^null
Throwable occurred: java.lang.NullPointerException
at com.ibm.tivoli.reporting.advanced.cognos.helper.wrapper.birt.BIRTEngine.getDesignEngine(BIRTEngine.java:91)
at com.ibm.tivoli.reporting.advanced.cognos.helper.wrapper.birt.BIRTEngine.getSessionHandle(BIRTEngine.java:139)
at com.ibm.tivoli.reporting.advanced.cognos.helper.wrapper.birt.DataSourceHandler.processDataSources(DataSourceHandler.java:84)
at com.ibm.tivoli.reporting.advanced.cognos.helper.wrapper.CognosWrapper.processDataSources(CognosWrapper.java:209)
at com.ibm.tivoli.reporting.advanced.cognos.cli.command.impl.ModifyCommand.execute(ModifyCommand.java:131)
at com.ibm.tivoli.reporting.advanced.cognos.cli.TRCommand.processCommand(TRCommand.java:643)
at com.ibm.tivoli.reporting.advanced.cognos.cli.TRCommand.run(TRCommand.java:163)
at com.ibm.tivoli.reporting.advanced.cognos.cli.TRCommand.main(TRCommand.java:740)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.ibm.tivoli.reporting.advanced.cognos.cli.CommandLauncher.launch(CommandLauncher.java:95)
at com.ibm.tivoli.reporting.advanced.cognos.cli.CommandLauncher.main(CommandLauncher.java:55)
Feb 4, 2014 12:44:27 PM com.ibm.tivoli.reporting.advanced.cognos.cli.TRCommand main(String[])
- Please check the latest log file (log file name starts with some random number, eg 1393579360824.log) for more information from this location <JazzSM_HOME>\reporting\lib\birt-runtime-2_2_2\ReportEngine\configuration\
- If you find the following exception,
Caused by: java.lang.StackOverflowError
at org.eclipse.osgi.framework.internal.core.ManifestLocalization$EmptyResouceBundle.isEmpty(ManifestLocalization.java:216)
at org.eclipse.osgi.framework.internal.core.ManifestLocalization$EmptyResouceBundle.isEmpty(ManifestLocalization.java:216)
at org.eclipse.osgi.framework.internal.core.ManifestLocalization$EmptyResouceBundle.isEmpty(ManifestLocalization.java:216)
- This could be a reason of the locale of the machine not picked by Birt Engine
- To avoid the issues, please open this file
<JazzSM_HOME>\reporting\lib\birt-runtime-2_2_2\ReportEngine\configuration\config.ini
The contents of the file looks like below
#Product Runtime Configuration File
eclipse.product=org.eclipse.birt.report.engine.ReportEngineSDK
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@start, org.eclipse.birt.core@start
osgi.framework.extensions=org.eclipse.birt.api
osgi.bundles.defaultStartLevel=4
- Please add the following one more property to that file
osgi.nl=en
- After adding the the above property, the file looks like following
#Product Runtime Configuration File
eclipse.product=org.eclipse.birt.report.engine.ReportEngineSDK
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@start, org.eclipse.birt.core@start
osgi.framework.extensions=org.eclipse.birt.api
osgi.bundles.defaultStartLevel=4
osgi.nl=en
- Save the file and now try to run the report
UID
ibm11276570