Exception on isFunctionAvailable call

Below is a stacktrace of an Exception that was thrown when I tried to call gl.isFunctionAvailable(“glCreateShader”) . This exact same code works perfectly on three other computers, but for some reason it throws this exception on two others (I don’t see any obvious connection between the two that generated the exception, other than that they were both Dell laptops). What could be causing this?

java.lang.NumberFormatException: For input string: “GL_ARB_shader_objects”
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at com.sun.opengl.impl.FunctionAvailabilityCache$Version.(FunctionAvailabilityCache.java:312)
at com.sun.opengl.impl.FunctionAvailabilityCache.isPartOfGLCore(FunctionAvailabilityCache.java:200)
at com.sun.opengl.impl.FunctionAvailabilityCache.isFunctionAvailable(FunctionAvailabilityCache.java:83)
at com.sun.opengl.impl.GLContextImpl.isFunctionAvailable(GLContextImpl.java:323)
at com.sun.opengl.impl.windows.WindowsGLContext.isFunctionAvailable(WindowsGLContext.java:241)
at com.sun.opengl.impl.GLImpl.isFunctionAvailable(GLImpl.java:27847)
at sddm.SDDMListener.setupShaderAna(SDDMListener.java:109)
at sddm.SDDMListener.init(SDDMListener.java:86)
at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:72)
at javax.media.opengl.GLCanvas$InitAction.run(GLCanvas.java:264)
at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:189)
at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:258)
at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
at javax.media.opengl.GLCanvas.paint(GLCanvas.java:142)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

This was pointed out last week by a (technically, former) member of the JSR-231 expert group. It’s actually just a leftover debugging printStackTrace() call and will be fixed in the next release build of JOGL. It has no other effect (and to be clear, the exception is not thrown every time isFunctionAvailable is called, only the first time for the given function name). I believe it happens when you’re running on a machine which either doesn’t support the extension or is running a really old version (1.1) of OpenGL.

Ah, that would explain it - I could certainly belive it wasn’t supported by the machines it was called on. Thanks for the info.