Up until two days ago, my install of Eclipse Helios with BIRT (from the all-in-one 2.6.2 package) worked just fine. While creating a report, my install froze. I restarted and then BIRT tools were no longer available. I deleted my eclipse folder along with my .metadata and .eclipse folders, and unzipped the package again. Went through the normal setup - Help>Install Software, installed the 'IBM TRIRIGA BIRT Features' and then restarted. Still no tools available. Also tried to install older and newer versions of the all-in-one to no avail. I've changed workspaces numerous times, the logs aren't showing any errors. The BIRT features appear in the 'Installed' list, too.
Thanks in advance.
EDIT:
There are errors in the log file in the .metadata folder of my workspace, and there are errors there. All of the cached jars that are over 2000KB throw the following error:
org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at file:/C:/Eclipse_Helios/eclipse/p2/org.eclipse.equinox.p2.repository/cache/content625995868.jar.
and then (after the stacktrace):
Caused by: java.io.IOException: Parser has reached the entity expansion limit "64,000" set by the Application.
I've looked around and found a couple of solutions (one is about the settings in eclipse, to set the jre above 1.4 (which hasn't been working), or to create a file called jaxp.properties and place it ${java.home}/lib/jaxp.properties.
EIDT II:
So I've uninstalled all java versions, and I've found the following:
The official IBM TRIRIGA report writer pdf says to have java 1.5 installed.
I have tried multiple versions of 1.5, and all install well, no errors in the log files whatsoever. However (and this is the most perplexing) - the IBM TRIRIGA feature doesn't show in preferences. No errors any where, just no plugin showing.
I tried java 1.6, and the feature shows, but when I try to connect to the DB, it throws a connection error:
!ENTRY com.tririga.platform.birt.preferences 4 0 2015-10-23 09:19:27.376
!MESSAGE Connection Failed
!STACK 0
com.tririga.platform.clientserver.reqresp.RequestResponseException: An Error Occurred. Contact your System Administrator. -- [MID-2406107507]
at com.tririga.platform.clientserver.shared.http.ObjectSerializer.marshallError(ObjectSerializer.java:47)
at com.tririga.platform.clientserver.shared.http.ObjectSerializer.marshall(ObjectSerializer.java:57)
at com.tririga.platform.clientserver.server.http.HTTPClientConnectionHandler.doPost(HTTPClientConnectionHandler.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.tririga.platform.context.ContextFilter$2.execute(ContextFilter.java:130)
at com.tririga.platform.context.ContextServiceImpl.runInNewReadOnlyContext(ContextServiceImpl.java:146)
at com.tririga.platform.context.ContextFilter.doFilterInternal(ContextFilter.java:116)
at com.tririga.platform.context.ContextFilter.doFilter(ContextFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.tririga.web.filter.XSSDecodingFilter.doFilter(XSSDecodingFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.tririga.web.filter.XSSURLEncodeFilter.doFilter(XSSURLEncodeFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.tririga.web.filter.EncodingFilter.doFilter(EncodingFilter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:662)
Caused by: com.tririga.platform.clientserver.reqresp.RequestResponseException:
at com.tririga.platform.clientserver.shared.http.ObjectSerializer.marshallError(ObjectSerializer.java:46)
Back to java 1.4, and the feature doesn't show, and te original "64000" error shows.
Dammit.
Apparently this is a problem with the Java XML parser. It has a limit of 64,000 "entities" it can process (sources aplenty, e.g., GraphDB FAQ).
Try passing the entityExpansionLimit=128000
system property to the JVM at start. That is, either start Eclipse from the command line, adding the system property
eclipse -DentityExpansionLimit=128000
Or add it to the eclipse.ini
file (at the bottom):
-vmargs
-XX:MaxPermSize=128m
-Xms40m
-Xmx512m
-DentityExpansionLimit=128000
If this doesn't work, try toying around with the actual property value.
Also, note that the above-mentioned source also says the following about running applications in Tomcat instances (not sure where the error actually appears, Eclipse or the server?).
Don't forget that if running in Tomcat then this must be passed to the Tomcat instance using the CATALINA_OPTS environment variable. -DentityExpansionLimit=128000
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With