Error, "Can't connect to X11 window server...JRStyledTextParser", When Trying to Generate a Report in Reporting Server

  • 7019429
  • 26-Nov-2014
  • 07-Aug-2017

Environment


Retain 3.4 and later
Reporting and Monitoring Server

Situation


When trying to generate a report in Reporting and Monitoring Server a JRStyledTextParser error appears.  The full text of the error reads:
Can't connect to X11 window server using '127.0.0.1:1.0' as the value of the DISPLAY variable.

sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155)
java.security.AccessController.doPrivileged(Native Method)
sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:90)
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:114)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435)
com.gwava.stats.reports.generation.GenericReportGenerator.generateJasperPrint(GenericReportGenerator.java:145)
com.gwava.stats.reports.generation.GenericReportGenerator.generateReport(GenericReportGenerator.java:127)
com.gwava.stats.reports.generation.GenericReportGenerator.processReport(GenericReportGenerator.java:76)
com.gwava.stats.reports.generation.ArchiveSummaryTotalsReportGenerator.processReport(ArchiveSummaryTotalsReportGenerator.java:21)
com.gwava.stats.reports.ReportGenerator.processReport(ReportGenerator.java:107)
com.gwava.stats.webBeans.ReportHandler.runBrowserReport(ReportHandler.java:195)
com.gwava.stats.webBeans.ReportHandler.runReport(ReportHandler.java:405)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)

Resolution


This can be resolved by making a change in the j2ee file that Tomcat uses.
1.  Stop Tomcat.

2.
  Edit the j2ee file, found in /etc/opt/beginfinite/retain/tomcat7:

3.  Find the line:  JAVA_OPTS="-Djava.library.path=/opt/beginfinite/retain/RetainServer/WEB-INF/bin"

4.  Change it to read:  JAVA_OPTS="-Djava.library.path=/opt/beginfinite/retain/RetainServer/WEB-INF/bin-Djava.awt.headless=true"

5.  If applicable, remove precomplied jsp files.

6.  Start Tomcat.

Additional Information

This article was originally published in the GWAVA knowledgebase as article ID 2414.