My system: I have a java swing application that is running on Solaris 10/X86 machine without a monitor. I have another machine(Linux/x86) where Im displaying the application via X11.

My problem: My application runs on 30 machines, 24/7. Sometimes the jvm crashes with the error "X connection host broken.". I have applications that are running for weeks and never crashed,others that crashed after 1 day once and others that crashes every week. Quite random.

What have i done/checked: I/O is quite similar on all applications, its a bit network intense but nothing excessive. Memory, cpu and disk usage are similar too. Some machines are used more then others, but no relation with the crashes. The X on the Linux/x86 never crashed. Network seems ok, checked the switches and netstat.

I added SignalHandlers but couldnt find anything. Checked for memory leak and other application problems, but couldnt find anything.

What i need: 1) How can i investigate further? How can i find why the x connection breaks? 2) How can i make my application "X11 crash" proof? It is possible?! To recconect or something? 3) Is there a common reason for this 'connection broken' problem? Or any common solution? (no, i cant run headless =))

Of course jvm didnt generate any core for me =(

有帮助吗?

解决方案

X11 usually runs over a TCP/IP connection; if that connection breaks for any reason (network down, DHCP change of address, etc) you will lose the X connection. If the server has permissions (host) to the client display, you could conceivably just open up a new display connection, but if the client has opened a terminal session to the server to launch the app, you likely lost your terminal session as well with the network interruption.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top