Java3D cannot parse Java versions that are not numerical

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Java3D cannot parse Java versions that are not numerical

runiter
I had Java3d running fine in Java 14.
But I had to upgrade the Java version to version 15 (early release) because of a bug in Java 14 which is only fixed in Java 15.

But looks like Java3D cannot parse early release versions of Java!
I get this exception:

Exception in thread "Thread-10" java.lang.ExceptionInInitializerError
        at j3dcore/org.jogamp.java3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicsConfigTemplate3D.java:317)
        at java.desktop/java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:205)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:224)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:192)
        at GraphingCalculator3D/runiter.grapher.math.Sheet.getCanvas(Sheet.java:483)
        at GraphingCalculator3D/runiter.grapher.MainApplication.lambda$start$3(MainApplication.java:124)
        at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "15-ea"
        at j3dcore/org.jogamp.java3d.Pipeline$PipelineCreator.run(Pipeline.java:88)
        at j3dcore/org.jogamp.java3d.Pipeline$PipelineCreator.run(Pipeline.java:68)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
        at j3dcore/org.jogamp.java3d.Pipeline.createPipeline(Pipeline.java:100)
        at j3dcore/org.jogamp.java3d.MasterControl.loadLibraries(MasterControl.java:888)
        at j3dcore/org.jogamp.java3d.VirtualUniverse.<clinit>(VirtualUniverse.java:266)
        ... 7 more
Caused by: java.lang.NumberFormatException: For input string: "15-ea"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
        at java.base/java.lang.Integer.parseInt(Integer.java:652)
        at java.base/java.lang.Integer.parseInt(Integer.java:770)
        at j3dcore/org.jogamp.java3d.JoglPipeline.getVersion(JoglPipeline.java:9040)
        at j3dcore/org.jogamp.java3d.JoglPipeline.<init>(JoglPipeline.java:117)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
        at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350)
        at java.base/java.lang.Class.newInstance(Class.java:645)
        at j3dcore/org.jogamp.java3d.Pipeline$PipelineCreator.run(Pipeline.java:81)
        ... 12 more
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: Java3D cannot parse Java versions that are not numerical

gouessej
Administrator
Hello

Thank you for the feedback. I'll provide a patch to Phil when I have some time.

By the way, the bug fixes are backported into long term support versions... in theory.

Please can you tell me which bug forced you to upgrade?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Java3D cannot parse Java versions that are not numerical

runiter
Certainly.
Here's the jdk bug:
https://bugs.openjdk.java.net/browse/JDK-8237490

It doesn't seem to be backported.
I had the latest Java 14 version before I was forced to make this upgrade.
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D
Reply | Threaded
Open this post in threaded view
|

Re: Java3D cannot parse Java versions that are not numerical

gouessej
Administrator
Reply | Threaded
Open this post in threaded view
|

Re: Java3D cannot parse Java versions that are not numerical

philjord
Thanks for this, somehow my spam folder caught this and didn't tell me.

I'll get this into the 1.7 line of Java3D, then give Harvey a pull request for Java3D 1.6
Reply | Threaded
Open this post in threaded view
|

Re: Java3D cannot parse Java versions that are not numerical

runiter
Hi @philjord
Did you manage to get this fix in 1.7?
If so, where can I download its jar file?

Looking at the link below looks like the latest 1.7 built was in Feb 2020:

https://jogamp.org/deployment/java3d/
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D