Jogl/Jogamp on Java 9

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

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
I spent months in writing and updating some user's guides and tutorials, I do my best.

Predrag, please provide at least a diff file if you can't make a commit. You confirmed what I wrote, thank you, the crash occurs when releasing the context and the native window. Do you see why not releasing them is problematic? Your workaround helps to show the root causes but it doesn't make a fix. There is no offence, it's ok. I have to update the bug report about Java 1.9. If we fix the release of the context and the native window under OS X in JOGL itself, you won't need to modify Java3D, this is the only viable approach I see.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić

Here you have the minimal changes... and in the next patch file there are even more changes and comments.
j3d-core/src/javax/media/j3d/JoglPipeline.java
JoglPipeline.patch
LONG_JoglPipeline.patch

@@ -6536,7 +6536,7 @@
             // Done !

             glContext.release();
-               glContext.destroy();
+               // glContext.destroy(); // JVM 9 CRASH testing
                glDrawable.setRealized(false);
        }
         else {
@@ -6803,7 +6803,7 @@
         if (GLContext.getCurrent() == context) {
             context.release();
         }
-        context.destroy();
+        // context.destroy(); // JVM 9 CRASH testing

         // assuming this is the right point at which to make this call
         joglDrawable.getGLDrawable().setRealized(false);
@@ -8628,11 +8628,11 @@
                     context.release();
                 }
             }
-            context.destroy();
+            // context.destroy(); // JVM 9 CRASH testing
             alreadyRan = true;

             glDrawable.setRealized(false);
-            nativeWindow.destroy();
+            // nativeWindow.destroy(); // JVM 9 CRASH testing
         }
     }
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić
This post was updated on .
I can confirm that the JNLP file from professor Douglas works well in Windows 10.
joglquad_-_Copy.jnlp 

Some history...............................
Apparently, when you try to load the jogamp-fat.jar or otherwise, individual library jars that we've been discussing, a wide range of errors appears.  Some errors mention the security issues, the issues with Manifest attributes, the problems with the loading of files or classes, or the problems with finding the graphics configuration...  :-) The last error that I've seen is "-1". I guess that this one is the closest one to the solution. The Java console displays a message "Finding jawt.dll", which does not seem to indicate an error. After this message, some cache-related and update-related messages are displayed and then the error message "-1" is shown in a separate pop-up window.
..................................................

This message is removed when the JNLP file contains the line
java-vm-args="--add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED "

I have yet to verify the complete file structure, but the files are obviously signed with a certificate.

Notice that the Java versioning system has changed, so the Java version 1.9 does not exist. You have to choose and use one of these options:

<j2se version="1.8"/>
<j2se version="1.8+"/>
<j2se version="9"/>
<j2se version="9+"/>


The JNLP does not function in Ubuntu 16 yet, but it does run the application and creates a window correctly. However, the window is empty.

I am copying the content from Douglas...

<extension name="Java3D"  href="jogl.jnlp"></extension>

refers to the
Java3D.jnlp




<jnlp spec="1.0+" codebase="http://show.docjava.com:80/book/cgij/code/jnlp/">

 <information>
     <title>Java 3D</title>
     <vendor>DocJava Inc.</vendor>
     <homepage href="http://www.docjava.com"/>
     <description>Java 3D library</description>
  </information>

  <security>
    <all-permissions/>
  </security>

<resources os="Windows">
      <jar href="libs/jogl/j3dcore.jar" download="eager"/>
      <jar href="libs/jogl/j3dutils.jar"  download="eager"/>
      <jar href="libs/jogl/vecmath.jar"  download="eager"/>
</resources>
<resources os="Windows" arch="amd64">
<nativelib href="libs/jogl/natives/windows-amd64/gluegen-rt.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/joal.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/jocl.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/jogl_desktop.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/jogl_mobile.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/nativewindow_awt.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/nativewindow_win32.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/newt.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/oculusvr.dll.jar" download="eager"/>
<nativelib href="libs/jogl/natives/windows-amd64/soft_oal.dll.jar" download="eager"/>
</resources>

<resources os="Windows" arch="x86">
<nativeib href="libs/jogl/natives/windows-i586/gluegen-rt.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/joal.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/jocl.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/jogl_desktop.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/jogl_mobile.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/nativewindow_awt.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/nativewindow_win32.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/newt.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/oculusvr.dll.jar" download="eager"/>
<nativeib href="libs/jogl/natives/windows-i586/soft_oal.dll.jar" download="eager"/>
</resources>

<resources os="Mac">
      <jar href="libs/jogl/j3dcore.jar" download="eager"/>
      <jar href="libs/jogl/j3dutils.jar"  download="eager"/>
      <jar href="libs/jogl/vecmath.jar"  download="eager"/>
      <jar href="libs/jogl/jogamp-fat.jar"     download="eager"/>
</resources>

    <resources os="Linux" arch="i386">
      <nativelib href = "libs/linux/jogl-natives-linux-i586.jar" />
    </resources>
    <resources os="Linux" arch="x86">
      <nativelib href = "libs/linux/jogl-natives-linux-i586.jar" />
    </resources>
    <resources os="Linux" arch="amd64">
      <nativelib href = "libs/linux/jogl-natives-linux-amd64.jar" />
    </resources>
    <resources os="Linux" arch="x86_64">
      <nativelib href = "libs/linux/jogl-natives-linux-amd64.jar" />
    </resources>
    <component-desc />
</jnlp>

... so there we can see the possible improvements to make it run on Linux :-)
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
Thank you. Therefore, the remaining problem is the crash when destroying the OpenGL context under OS X with Java 1.9.

Sorry, I forgot something important concerning Java Webstart. Actually, as I haven't used Java Webstart for about two years in my non professional projects, I haven't tested it with jogamp-fat.jar but I used jogl-all.jar + gluegen-rt.jar instead for years with Webstart, it should work as expected. If it doesn't, you can just use Ant to modify the JARs in order to add the missing attributes and even merge jogamp-fat.jar with your own JARs and sign your single very fat JAR. You can look at the source code of TUER, the alpha version still uses Java Webstart whereas the pre-beta version doesn't. The problem is that the numerous security changes introduced in lots of updates in Java 1.7 have driven Java Webstart very difficult to use, maybe my own code doesn't set all necessary attributes in the manifest.

P.S: Oops, the destruction of the native window causes a crash too :s
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

douglaslyon
Hi Julien,
Thank you for the update.
Presently webstart is working great on windows 7, windows 10 and the mac.
To view the results of the work with out running any code, there is a
youtube video available at https://tinyurl.com/j3dAndJogl

At present, I do not have a modern version of unix running (my server
is a 15 year old laptop running fedora 13 from 2010) :(
I am migrating to AWS and EC2, but running xwindows there is not easy!

  - Doug




On 1/9/18 2:43 PM, gouessej [via jogamp] wrote:

> Thank you. Therefore, the remaining problem is the crash when destroying
> the OpenGL context under OS X with Java 1.9.
>
> Sorry, I forgot something important concerning Java Webstart. Actually,
> as I haven't used Java Webstart for about two years in my non
> professional projects, I haven't tested it with jogamp-fat.jar but I
> used jogl-all.jar + gluegen-rt.jar instead for years with Webstart, it
> should work as expected. If it doesn't, you can just use Ant to modify
> the JARs in order to add the missing attributes and even merge
> jogamp-fat.jar with your own JARs and sign your single very fat JAR. You
> can look at the source code of TUER, the alpha version still uses Java
> Webstart whereas the pre-beta version doesn't. The problem is that the
> numerous security changes introduced in lots of updates in Java 1.7 have
> driven Java Webstart very difficult to use, maybe my own code doesn't
> set all necessary attributes in the manifest.
> Julien Gouesse | Personal blog <http://gouessej.wordpress.com> | Website
> <http://tuer.sourceforge.net>
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038507.html
> To unsubscribe from Jogl/Jogamp on Java 9, click here
> <
> NAML
> <
http://forum.jogamp.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
Ok cool :) but we still need a better solution for OS X.

When you merge the JARs, you have to respect the native layout, i.e put the native libraries into the correct directories so that GlueGen finds them. That way, you could simplify a lot your deployment. Unfortunately, Oracle Java Webstart is a lot less accurate than Icedtea-Web / Netx, the latter shows the loading progress of each JAR.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

douglaslyon
My approach to deployment of the new Java 3D libraries is to create a
single extension to the jnlp resources, called "jogl.jnlp". This makes
direct reference to bundled native libraries as well as Java3D jars.
What follows is the listing for the "jogl.jnlp":

<jnlp spec="1.0+"
  codebase="http://show.docjava.com:80/book/cgij/code/jnlp/"
 >

  <information>
      <title>Java 3D</title>
      <vendor>DocJava Inc.</vendor>
      <homepage href="http://www.docjava.com"/>
      <description>Java 3D library</description>
   </information>

   <security>
     <all-permissions/>
   </security>
<resources>
       <jar href="libs/jogl/j3dcore.jar" download="eager"/>
       <jar href="libs/jogl/j3dutils.jar"  download="eager"/>
       <jar href="libs/jogl/vecmath.jar"  download="eager"/>
       <jar href="libs/jogl/jogamp-fat.jar"     download="eager"/>
</resources>
     <component-desc />
</jnlp>


The j3dcore.jar, j3dutils.jar and vecmath.jar are pure Java code. Native
methods for the common platforms (Windows 64, Windows 32, Linux 64,
Linux 32 and the Mac) are all placed in the jogamp-fat.jar. A JNLP that
launches a jogl application follows:

<jnlp spec="1.0+"
  codebase="http://show.docjava.com:80/book/cgij/code/jnlp/"
 >
<information>
     <title>j3d.JOGLQuad</title>
     <vendor>DocJava, Inc.</vendor>
     <homepage href="http://www.docjava.com"/>
     <icon href="http://show.docjava.com:80/consulti/docjava.jpe"/>
     <offline-allowed />
   </information>

   <security>
     <all-permissions />
   </security>

   <resources>
<j2se version="1.8+" initial-heap-size="64m" max-heap-size="384m"
java-vm-args="
--add-exports=java.base/java.lang=ALL-UNNAMED
--add-exports=java.desktop/sun.awt
=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED"/>
     <extension name="Java3D"  href="jogl.jnlp"></extension>
     <jar href="joglquad.jar" />
   </resources>

   <application-desc main-class="j3d.JOGLQuad" />
</jnlp>

This is the most elegant and concise solution I could come up with.
It is looking pretty clean to me now... I can't seem to abstract
the java-vm-args into a nested jnlp without causing troubles.

The common extensions for jogl support, <extension name="Java3D"
href="jogl.jnlp"></extension>, enables a common deployment to all Java3D
and JOGL based programs on all platforms I have tested, which is really
cool.

So far it all works with mac, windows (7, 10)...I have been playing
around with Raspberry PIs lately...but I don't want to mess with arm
cpus and jogl (Intel Linux first!).

Cheers!
  - Doug

On 1/9/18 6:16 PM, gouessej [via jogamp] wrote:

> Ok cool :) but we still need a better solution for OS X.
>
> When you merge the JARs, you have to respect the native layout, i.e put
> the native libraries into the correct directories so that GlueGen finds
> them. That way, you could simplify a lot your deployment. Unfortunately,
> Oracle Java Webstart is a lot less accurate than Icedtea-Web / Netx, the
> latter shows the loading progress of each JAR.
> Julien Gouesse | Personal blog <http://gouessej.wordpress.com> | Website
> <http://tuer.sourceforge.net>
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038512.html
> To unsubscribe from Jogl/Jogamp on Java 9, click here
> <
> NAML
> <
http://forum.jogamp.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić
GOOD NEWS! I don't know if you have updated any code in the meantime, but this JNLP execution works on KUbuntu 16 with all the latest updates and the Oracle JDK 9, and with the Oracle JDK 8 separately. The last time I checked from the same operating system in a virtual machine, it displayed an empty canvas inside a window. Now I am on a real machine, and everything works as expected, including my off-line projects.

Douglas, will you find the time - its no hurry - to perhaps, pack and send a directory with the jar and jnlp files? I think that I understood everything that you are saying, but can you imagine someone coming from Google in 3 years time to this thread utterly confused about the thing he/she should copy-paste :-)


Here's some "statistics" to keep the engineer's mentality going.


VM arguments: 
--add-modules=ALL-DEFAULT,javafx.deploy -Xverify:remote -Djava.security.manager -Djava.security.policy=file:/usr/lib/jvm/java-9-oracle/conf/security/javaws.policy -DtrustProxy=true -Xverify:remote -Djnlpx.home=/usr/lib/jvm/java-9-oracle -Djava.security.manager -Djnlpx.origFilenameArg=/home/gamma/idea/classy/joglquad polished.jnlp -Djnlpx.remove=false --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED -Xms64m -Xmx384m -Djnlpx.heapsize=64m,384m -Djnlpx.jvm=/usr/lib/jvm/java-9-oracle/bin/java -Djnlpx.vmargs=LS1hZGQtZXhwb3J0cz1qYXZhLmJhc2UvamF2YS5sYW5nPUFMTC1VTk5BTUVEAC0tYWRkLWV4cG9ydHM9amF2YS5kZXNrdG9wL3N1bi5hd3Q9QUxMLVVOTkFNRUQALS1hZGQtZXhwb3J0cz1qYXZhLmRlc2t0b3Avc3VuLmphdmEyZD1BTEwtVU5OQU1FRAA= --illegal-access=deny --add-modules=ALL-DEFAULT --add-exports=java.base/com.sun.net.ssl.internal.ssl=jdk.deploy --add-exports=java.base/jdk.internal.misc=jdk.deploy --add-exports=java.base/jdk.internal.util.jar=jdk.deploy --add-exports=java.base/sun.net.www=jdk.deploy --add-exports=java.base/sun.net.www.protocol.file=jdk.deploy --add-exports=java.base/sun.net.www.protocol.http=jdk.deploy --add-exports=java.base/sun.net.www.protocol.http.ntlm=jdk.deploy --add-exports=java.base/sun.net.www.protocol.https=jdk.deploy --add-exports=java.base/sun.net.www.protocol.jar=jdk.deploy --add-exports=java.base/sun.nio=jdk.deploy --add-exports=java.base/sun.reflect.misc=jdk.deploy --add-exports=java.base/sun.security.action=jdk.deploy --add-exports=java.base/sun.security.pkcs=jdk.deploy --add-exports=java.base/sun.security.provider=jdk.deploy --add-exports=java.base/sun.security.provider.certpath=jdk.deploy --add-exports=java.base/sun.security.rsa=jdk.deploy --add-exports=java.base/sun.security.ssl=jdk.deploy --add-exports=java.base/sun.security.timestamp=jdk.deploy --add-exports=java.base/sun.security.util=jdk.deploy --add-exports=java.base/sun.security.validator=jdk.deploy --add-exports=java.base/sun.security.x509=jdk.deploy --add-exports=java.base/sun.usagetracker=jdk.deploy --add-exports=java.desktop/sun.awt=jdk.deploy --add-exports=java.naming/com.sun.jndi.toolkit.url=jdk.deploy --add-exports=java.base/jdk.internal.misc=jdk.javaws --add-exports=java.desktop/com.sun.media.sound=jdk.javaws --add-exports=java.desktop/sun.awt=jdk.javaws --add-exports=java.desktop/sun.awt.image=jdk.javaws --add-exports=java.base/jdk.internal.misc=jdk.plugin --add-exports=java.base/sun.net=jdk.plugin --add-exports=java.base/sun.net.www=jdk.plugin --add-exports=java.base/sun.net.www.protocol.jar=jdk.plugin --add-exports=java.base/sun.security.action=jdk.plugin --add-exports=java.base/sun.security.util=jdk.plugin --add-exports=java.desktop/com.sun.media.sound=jdk.plugin --add-exports=java.desktop/java.awt.peer=jdk.plugin --add-exports=java.desktop/sun.applet=jdk.plugin --add-exports=java.desktop/sun.applet.resources=jdk.plugin --add-exports=java.desktop/sun.awt=jdk.plugin --add-exports=java.desktop/sun.awt.windows=jdk.plugin --add-exports=java.desktop/sun.swing=jdk.plugin --add-exports=jdk.jsobject/jdk.internal.netscape.javascript.spi=jdk.plugin --add-exports=java.desktop/sun.awt.X11=jdk.plugin --add-exports=java.desktop/sun.print=jdk.plugin -Djdk.module.main=jdk.plugin

Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
It's important to mention that you use a virtual machine. Do you use Parallels? Virtual Box? Do you really need all these arguments?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić
64 bit VMware Workstation 14.1.1 build-7528167 machine, Kubuntu 16 with Oracle JDK 9 has
mysteriously gone astray. The same result can be seen in Kubuntu 17.10 with the default Java.

This one has an empty canvas...
http://www.docjava.com/book/cgij/code/jnlp/joglquad.jnlp


And the second one does not launch.
http://www.docjava.com/book/cgij/code/jnlp/j3d.examples.boids.Main.jnlp

java.lang.NullPointerException
    at javax.media.j3d.JoglPipeline.getGraphicsConfig(JoglPipeline.java:8507)
    at javax.media.j3d.Canvas3D.getGraphicsConfig(Canvas3D.java:953)
    at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1025)
    at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:986)
    at j3d.examples.boids.WrapFlocking3D.<init>(WrapFlocking3D.java:58)
    at j3d.examples.boids.Main.<init>(Main.java:86)
    at j3d.examples.boids.Main.main(Main.java:99)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at jdk.javaws@9.0.1/com.sun.javaws.Launcher.executeApplication(Launcher.java:1741)
    at jdk.javaws@9.0.1/com.sun.javaws.Launcher.executeMainClass(Launcher.java:1677)
    at jdk.javaws@9.0.1/com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1525)
    at jdk.javaws@9.0.1/com.sun.javaws.Launcher.run(Launcher.java:158)
    at java.base/java.lang.Thread.run(Thread.java:844)



And in the real-mode Kubuntu 16, both applications work well.

Julien, jconsole typically prints out that long list of VM arguments. The JNLP file contains just a few that you've suggested.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić
This is an error list from the Kubuntu 16 in VMware 14 and it is the same error list as in the Kubuntu 17 in VMware 14. The problem is the Mesa driver. Could this be due to some problem in GLContextImpl.java? I am just guessing. It does not matter.






/usr/lib/jvm/java-9-oracle/bin/java --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED -javaagent:/home/gamma/bin/idea-IU-173.3727.127/lib/idea_rt.jar=34932:/home/gamma/bin/idea-IU-173.3727.127/bin -Dfile.encoding=UTF-8 -classpath /home/gamma/Documents/java-fx-jnlp/out/production/java-fx-jnlp:/home/gamma/Documents/java-fx-jnlp/lib/jogamp-fat.jar:/home/gamma/Documents/java-fx-jnlp/lib/j3dcore.jar:/home/gamma/Documents/java-fx-jnlp/lib/j3dutils.jar:/home/gamma/Documents/java-fx-jnlp/lib/vecmath.jar sample.Main
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/gamma/Documents/java-fx-jnlp/lib/jogamp-fat.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "AWT-EventQueue-0-AWTAnimator#00" com.jogamp.opengl.util.AnimatorBase$UncaughtAnimatorException: java.lang.RuntimeException: com.jogamp.opengl.GLException: AWT-EventQueue-0: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4
        at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:92)
        at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
        at com.jogamp.opengl.util.Animator$MainLoop.run(Animator.java:204)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.RuntimeException: com.jogamp.opengl.GLException: AWT-EventQueue-0: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4
        at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
        at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
        at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:201)
        at com.jogamp.opengl.Threading.invokeOnOpenGLThread(Threading.java:202)
        at com.jogamp.opengl.Threading.invoke(Threading.java:221)
        at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
        at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
        ... 3 more
Caused by: com.jogamp.opengl.GLException: AWT-EventQueue-0: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4
        at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
        at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1279)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
        at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
        at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Exception in thread "AWT-EventQueue-0" com.jogamp.opengl.GLException: AWT-EventQueue-0: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.4
        at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
        at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1279)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
        at com.jogamp.opengl.awt.GLCanvas$12.run(GLCanvas.java:1438)
        at com.jogamp.opengl.Threading.invoke(Threading.java:223)
        at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:505)
        at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:559)
        at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
        at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
        at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
        at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
        at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
Yes, the fix of the bug 1317 should help, a build with this fix will be available soon.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

douglaslyon
Hi Julien,
I tried to run you game;
http://tuer.sourceforge.net/alpha/tuer.jnlp
but it is signed with a self-signed cert and my jws will not
permit me to execute it.

FYI.
  - Doug


On 1/11/18 4:00 AM, gouessej [via jogamp] wrote:

> Yes, the fix of the bug 1317 should help, a build with this fix will be
> available soon.
> Julien Gouesse | Personal blog <http://gouessej.wordpress.com> | Website
> <http://tuer.sourceforge.net>
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038526.html
> To unsubscribe from Jogl/Jogamp on Java 9, click here
> <
> NAML
> <
http://forum.jogamp.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
Yes, it's intentional as I refuse to pay to give a false feeling of security to end users and the last time I used Icedtea-web free software implementation, it accepted to run my game even though it still uses a self-signed certificate. Oracle Java Webstart proprietary implementation refuses to run programs signed with self-signed certificates. However, some of my Ant scripts still show my successful attempts to make my game work with Webstart despite the numerous changes especially since Java 1.6 update 20 and in Java 1.7. By the way, the pre-beta version should work (without Webstart, with JNDT) but I switched to adoptopenjdk without performing any test :s
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

douglaslyon
Icedtea did not build easily on the mac (the configure kept failing and
I gave up after 20 minutes of effort).
  - D

On 1/12/18 4:47 AM, gouessej [via jogamp] wrote:

> Yes, it's intentional as I refuse to pay to give a false feeling of
> security to end users and the last time I used Icedtea-web free software
> implementation, it accepted to run my game even though it still uses a
> self-signed certificate. Oracle Java Webstart proprietary implementation
> refuses to run programs signed with self-signed certificates. However,
> some of my Ant scripts still show my successful attempts to make my game
> work with Webstart despite the numerous changes especially since Java
> 1.6 update 20 and in Java 1.7. By the way, the pre-beta version should
> work (without Webstart, with JNDT) but I switched to adoptopenjdk
> without performing any test :s
> Julien Gouesse | Personal blog <http://gouessej.wordpress.com> | Website
> <http://tuer.sourceforge.net>
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038528.html
> To unsubscribe from Jogl/Jogamp on Java 9, click here
> <
> NAML
> <
http://forum.jogamp.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

gouessej
Administrator
Rather use a Linux distribution including OpenJDK and Icedtea-web if you really want to test this free implementation of Webstart easily but its absence from adoptopenjdk.net shows that the attention isn't on Webstart now, providing OpenJDK builds without any implementation of Webstart is considered acceptable.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić
Distant future scenario:

"Java Deployment Technologies are deprecated and will be removed in a future release
Java Applet and WebStart functionality, including the Applet API, The Java plug-in, the Java Applet Viewer, JNLP and Java Web Start including the javaws tool are all deprecated in JDK 9 and will be removed in a future release."
http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html

I can click once to download and click once to run a jar file in Kubuntu, so there's nothing to worry about! Also, I used the program called the "Advanced Installer" to create installation programs. Take a look at the Perceptron for Windows at https://sourceforge.net/projects/perceptron/files/?source=navbar. On a Mac, a script ./run.sh would be the fastest option, followed by the user's action to make a desktop link to the script.

As far as I can tell, javapackager always includes a JRE into the bundle. The package is quite small in Linux and very large for a Mac. In Windows, the package contents are visible as separate files, so the native runner stands out as a small native executable file... Admittedly, a pain in the ass! It is obvious that JRE is unnecessary, but I can't find any option to remove it.

 

Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

douglaslyon
Hi Predrag,
I ran the app and was informed that it "can't be opened"...I am on a mac.

Thanks!
  - Doug
P.S. Why will they no longer support jnlp?
When will this happen?
What will replace it?

On 1/12/18 2:40 PM, Predrag Bokšić [via jogamp] wrote:

> Distant future scenario:
>
> "Java Deployment Technologies are deprecated and will be removed in a
> future release
> Java Applet and WebStart functionality, including the Applet API, The
> Java plug-in, the Java Applet Viewer, JNLP and Java Web Start including
> the javaws tool are all deprecated in JDK 9 and will be removed in a
> future release."
> http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html
>
> I can click once to download and click once to run a jar file in
> Kubuntu, so there's nothing to worry about! Also, I used the program
> called the "Advanced Installer" to create installation programs. Take a
> look at the Perceptron for Windows at
> https://sourceforge.net/projects/perceptron/files/?source=navbar. On a
> Mac, a script ./run.sh would be the fastest option, followed by the
> user's action to make a desktop link to the script.
>
> As far as I can tell, javapackager always includes a JRE into the
> bundle. The package is quite small in Linux and very large for a Mac. In
> Windows, the package contents are visible as separate files, so the
> native runner stands out as a small native executable file...
> Admittedly, a pain in the ass! It is obvious that JRE is unnecessary,
> but I can't find any option to remove it.
>
>
>
>
>
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038531.html
> To unsubscribe from Jogl/Jogamp on Java 9, click here
> <
> NAML
> <
http://forum.jogamp.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

jmaasing
douglaslyon wrote
P.S. Why will they no longer support jnlp?
When will this happen?
What will replace it?
You have to ask Oracle for definitive answers, this is just my guesswork but:

https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se

With Java9 it has become easier to bundle a JRE with your application that the need for webstart, which relies on the user having a JRE installed has become less. Not having webstart means Oracle does not have to bother with all the security concerns of having a browser download code and running it on users computers.

So they will probably not replace it with anything. Java applications will have to be like any other application, download an installer and install the application yourself.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9 no compatible graphics context

Predrag Bokšić
In reply to this post by douglaslyon
You mean my program??

This is politically incorrect and I demand justice. My tests show that if you're visiting the download page from a Safari, you will receive a zip file that unzips automatically in the Downloads folder. You can double-click the jar file. This is a Java 8 program that will otherwise refuse to run. A warning message should be visible.

I think that we should ask another forum about the JNLP standard and its replacement. Given the IcedTea plugin, it is unlikely that it will just disappear. I would expect yet another JavaScript solution for deploying content...
123456