Can't connect to X11 window server using ':0.0'

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
tt826

Can't connect to X11 window server using ':0.0'

Post by tt826 » Mon Feb 09, 2004 7:18 pm

Hello Everyone,

I've currentlly been using JfreeChart for over a week now and I am creating my scatterplot just fine on my windows2000 station. The problem is when I load the files onto a Linux server and using Tomcat 4.1 the scatterplot does not display. I get an error that I have no idea what to do next. I have read a number of things to do, but I cannot get the scatterplot graph to print to the sreen. I think some kind of setting is wrong in my server, but I am not sure what. I would appreciate any suggestions. Thanks!

The error display the following:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
at org.apache.jasper.servlet.JspServletWrapper.service(Unknown Source)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)
at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)


root cause

javax.servlet.ServletException: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
at org.apache.jasper.runtime.PageContextImpl.handlePageException(Unknown Source)
at org.apache.jsp.initializeXYMergeGraph_jsp._jspService(initializeXYMergeGraph_jsp.java:332)
at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.jasper.servlet.JspServletWrapper.service(Unknown Source)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)
at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.valves.CertificatesValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)

phamdinhnguyen
Posts: 22
Joined: Thu Jan 29, 2004 8:28 pm

AIX 43/ JDK 131 / Websphere 403, and X11 DISPLAY problem

Post by phamdinhnguyen » Tue Feb 10, 2004 6:29 pm

:D
My final working solution for AIX, after exhausting all possible settings/configurations with PureJavaAWT, is XVFB. If you MUST get a solution, check out this link for details:

http://publibn.boulder.ibm.com/doc_link ... Header_363

Best luck!

Guest

Post by Guest » Tue Feb 10, 2004 7:47 pm

Thanks for your reply,

It seems like after a day of reading and searching that I have currently solved the problem. I went into /usr/bin/dtomcat4-file and added the following line:

CATALINA_OPTS="-Djava.awt.headless=true"

I also add this in other places, but after doing this it seems like the problem is gone. I am getting my graphs to save(but not in the directory I want). Anyhow, I'll leave your option just in case mines blows up.

Thanks Dinh!!!

r,
Tan Tran

phamdinhnguyen
Posts: 22
Joined: Thu Jan 29, 2004 8:28 pm

AIX 43/ JDK 131 / Websphere 403, and X11 DISPLAY problem

Post by phamdinhnguyen » Tue Feb 10, 2004 9:11 pm

Apparently your JDK is 14+ version, judging from the setting CATALINA_OPTS="-Djava.awt.headless=true".

JDK 14+ enables this option. So stay with that configuration. It's much cleaner.
Unfortunately, I don't have that luxury, JDK 131.
My environment is shared among many AS, and thus migrating upward to JDK 14+ is not a task, that I can just decide adn schedule. :(

For JDKs prior to 14, either PJA or XVFB can be used. I tried them both. PJA major benefit to me is that I can apply it in isolation to my own AS, however it failed to render TEXT on AIX OS.
XVFB impacts all AS under that user profile, ie Websphere process, but its installation / configuration / execution was simple enough, and most importantly, it works.

Locked