This test causes exceptions that looks like this: java.awt.AWTError: Can't connect to X11 window server using ‘REDACTED:503' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65) at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:259) at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81) at TraceJFrame.main(TraceJFrame.java:39) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:484) at com.sun.javatest.regtest.MainAction$SameVMRunnable.run(MainAction.java:754) at java.lang.Thread.run(Thread.java:744)
The fix seems to be to not call GraphicsEnvironment.getLocalGraphicsEnvironement().isHeadlessInstance() but GraphicsEnvironment.isHeadless() directly. Please review the fix below, Thanks, /Staffan diff --git a/test/demo/jvmti/mtrace/TraceJFrame.java b/test/demo/jvmti/mtrace/TraceJFrame.java --- a/test/demo/jvmti/mtrace/TraceJFrame.java +++ b/test/demo/jvmti/mtrace/TraceJFrame.java @@ -36,7 +36,7 @@ public class TraceJFrame { public static void main(String args[]) throws Exception { - if (GraphicsEnvironment.getLocalGraphicsEnvironment().isHeadlessInstance()) { + if (GraphicsEnvironment.isHeadless()) { System.out.println("JFrame test was skipped due to headless mode"); } else { DemoRun demo;