When I start a GUI Java application (I tried with sun jdk's 1.4, 1.5 and 1.6) under xorg-server-1.3.0.0 or above, on the second X display only, it crashes with the following backtrace: /opt/sun-jdk-1.6.0.02/jre/bin/ControlPanel Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at java.awt.Toolkit$2.run(Toolkit.java:836) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:828) at sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.java:120) at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:1556) at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:130) at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1591) at javax.swing.UIManager.setLookAndFeel(UIManager.java:537) at javax.swing.UIManager.setLookAndFeel(UIManager.java:577) at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1331) at javax.swing.UIManager.initialize(UIManager.java:1418) at javax.swing.UIManager.maybeInitialize(UIManager.java:1406) at javax.swing.UIManager.getLookAndFeel(UIManager.java:490) at com.sun.deploy.util.DeployUIManager.setLookAndFeel(DeployUIManager.java:84) at com.sun.deploy.panel.ControlPanel.<clinit>(ControlPanel.java:32) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at sun.awt.X11GraphicsEnvironment.getDefaultScreenDevice(X11GraphicsEnvironment.java:218) at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:91) ... 17 more Starting the same application on display :0.0 works fine. I started a non-gui java application on the second display and that had no problems. Downgrading to xorg-server-1.2.0-r3 fixed this behaviour. Reproducible: Always Steps to Reproduce: 1. Start a GUI Java application (such as ControlPanel) on a second X display 2. Be sure you are running xorg-server-1.3.0.0 or above 3.
Seems to be a upstream recurring problem: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6604044 and duplicates
workaround use xinerama to merge multiple display as a logical one
Seems to work now, not sure if xorg or java updates fixed it, but the problem goes away running the following versions. =xorg-1.3.0.0-r2 =sun-jdk-1.6.0.03 =sun-jdk-1.50.13