Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IBM TRIRIGA BIRT Features not displaying after install in Eclipse 3.6.2

Tags:

eclipse

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.

like image 295
mrwienerdog Avatar asked Oct 15 '15 17:10

mrwienerdog


1 Answers

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

like image 111
s.d Avatar answered Sep 22 '22 14:09

s.d