What does the -XstartOnFirstThread VM Argument do / mean?

sparkyspider picture sparkyspider · Jan 26, 2015 · Viewed 8.4k times · Source

I can't find documentation for the VM argument -XstartOnFirstThread. Seems necessary for me to run JOGL through LWJGL on my Mac. What does it mean? It seems to be that some process wants thread 0. Is this correct?

Please note: I have a run() method in my main class. It doesn't seem to be overriding anything and I'm not implementing runnable.

Example source code I'm running here: http://www.lwjgl.org/guide

Answer

Stephen C picture Stephen C · Jan 26, 2015

As of Java 1.7.0_u4, this option is documented in java -X on the Mac OSX platform.

The option causes the JVM to use thread 0 to start the application. Apparently this is necessary to get Mac OSX to run SWT and GWT apps properly. According to the Eclipse SWT FAQ, AWT and Swing apps use some undocumented magic to do this.