Jogl/Jogamp on Java 9

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

Jogl/Jogamp on Java 9

philjord
Hi,
I thought I might open the subject of Java 9 support from Jogamp/Jogl

I've run 2 incredibly basic tests, one works one fails. I ran it under Eclipse Oxygen, with:
  Eclipse JDT (Java Development Tools) Patch with Java 9 support (BETA) for Neon development stream 1.1.1.v20160606-0010_BETA_JAVA9
  Eclipse JDT (Java Development Tools) Source Patch with Java 9 support (BETA) for Neon development stream 1.1.1.v20160606-0010_BETA_JAVA9

Under a very basic system, that simply instantiates a GLWindow with everything default, Jogl works correctly for a trivial colored cube test.
So this code runs correctly:
            pro = GLProfile.get(null);
            cap = new GLCapabilities(pro);
            cap.setHardwareAccelerated(true);
            cap.setDepthBits(24);
            cap.setStencilBits(8);
            cap.setSampleBuffers(true);
            cap.setNumSamples(2);
            this.glwindow = GLWindow.create(cap);
            if (fullscreen)
                    this.glwindow.setFullscreen(true);
            else
                    this.glwindow.setSize(10, 10);

            this.glwindow.setTitle("GLWindow Canvas3D");
            this.glwindow.setVisible(true);
However when trying to use GraphicsConfigurationFactory.chooseGraphicsConfiguration it throws this error:
    java.lang.ArrayIndexOutOfBoundsException: -1
            at jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:171)
            at com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
            at org.jogamp.java3d.Jogl2es2Pipeline.createAwtGraphicsConfiguration(Jogl2es2Pipeline.java:9724)
            at org.jogamp.java3d.Jogl2es2Pipeline.getBestConfiguration(Jogl2es2Pipeline.java:9472)
            at org.jogamp.java3d.Renderer.doWork(Renderer.java:496)
            at org.jogamp.java3d.J3dThread.run(J3dThread.java:271)
Obviously this will impact many people, including everyone using Java3D.

Does anyone have any thoughts on this, is this already known and under way?

Thanks,
Phil.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

gouessej
Administrator
Hi

There is already a bug report about AWT JOGL and Java 1.9. Which early access build of Java 1.9 do you use?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

Xerxes Rånby
In reply to this post by philjord
philjord wrote
  Eclipse JDT (Java Development Tools) Source Patch with Java 9 support (BETA) for Neon development stream 1.1.1.v20160606-0010_BETA_JAVA9
    java.lang.ArrayIndexOutOfBoundsException: -1
            at jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:171)
Obviously this will impact many people, including everyone using Java3D.

Does anyone have any thoughts on this,
To enable debug messages pass -Dnativewindow.debug.GraphicsConfiguration or set the nativewindow.debug.GraphicsConfiguration system property when launching your application.

By looking at the code it is clear that both the 1st and 2nd choice to get the windows java 9 AWT graphics configuration when using Windows have failed.
http://jogamp.org/git/?p=jogl.git;a=blob;f=src/jogl/classes/jogamp/opengl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java;h=342b4a750c59d14e19a2fa892f21de557e7acf3d;hb=HEAD#l171

To fix the bug we need to check if the way we peek into the internals of the java 9 AWT classes using Win32SunJDKReflection is still possible
http://jogamp.org/git/?p=jogl.git;a=blob;f=src/nativewindow/classes/jogamp/nativewindow/jawt/windows/Win32SunJDKReflection.java;h=40fdaa2965d8220e74d33506315a8cfdf7df7ee5;hb=HEAD

Which version of Java 9 did you use?
Since Java 9 have not been released yet it is important to make sure you try with the latest java 9 early access release or compile the lastest OpenJDK sourcecode in order to test with the latest AWT implementation.

Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

philjord
jdk-9-ea+170_windows-x64_bin.exe
on the 25/05/2017 from http://jdk.java.net/9/
I notice it's gone up to 172 now.

It's good to know you guys are looking into it.

Thanks,
Phil.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

Xerxes Rånby
What I will do is to forward this issue to Rory O'Donnell who manage the OpenJDK quality outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach
The quality outreach is one of the best channels to use to report issues when OpenJDK changes breaks FOSS projects.

Cheers
Xerxes

2017-06-02 3:29 GMT+02:00 philjord [via jogamp] <[hidden email]>:
jdk-9-ea+170_windows-x64_bin.exe
on the 25/05/2017 from http://jdk.java.net/9/
I notice it's gone up to 172 now.

It's good to know you guys are looking into it.

Thanks,
Phil.


If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038025.html
To start a new topic under jogl, email [hidden email]
To unsubscribe from jogamp, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

Xerxes Rånby
In reply to this post by philjord
Can someone test if the JDK 9 EA 170 runtime option
--permit-illegal-access
will allow JOGL to get the graphic context from AWT.
This runtime option was mentioned in the EA 170 release notes:
If this allow Jogl to access AWT internals and Java3D to run then we have a workaround at least for JDK 9 however we need to address it properly before JDK 10


2017-06-02 9:59 GMT+02:00 Xerxes Rånby <[hidden email]>:
What I will do is to forward this issue to Rory O'Donnell who manage the OpenJDK quality outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach
The quality outreach is one of the best channels to use to report issues when OpenJDK changes breaks FOSS projects.

Cheers
Xerxes


2017-06-02 3:29 GMT+02:00 philjord [via jogamp] <[hidden email]>:
jdk-9-ea+170_windows-x64_bin.exe
on the 25/05/2017 from http://jdk.java.net/9/
I notice it's gone up to 172 now.

It's good to know you guys are looking into it.

Thanks,
Phil.


If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/Jogl-Jogamp-on-Java-9-tp4038012p4038025.html
To start a new topic under jogl, email [hidden email]
To unsubscribe from jogamp, click here.
NAML


Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

gouessej
Administrator
I'll give it a try.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

gouessej
Administrator
In reply to this post by Xerxes Rånby
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

Manu
Thanks for taking care of the compatibility of JOGL with the upcoming Java 9.
A Sweet Home 3D user recently tried it with Java 9 on a HiDPI screen to check how fonts and icons were rendered on that kind of screen. The screenshot he sent me back clearly showed some nice progress on this point, but the 3D view was much smaller that it should have been. Thus, I wonder if some of you had the chance to test if a JOGL canvas has the expected size with Java 8 / 9 under a high resolution screen, or if it requires some changes in the program.
Emmanuel Puybaret
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

gouessej
Administrator
Hi

You can disable HiDPI until you're ready to fully take it into account. When HiDPI is enabled, the surface dimension (in pixel units) isn't equal to the window dimension (in window units). Look at com.jogamp.nativewindow.NativeWindow and com.jogamp.nativewindow.NativeSurface. If you use getWidth() and getHeight() everywhere, you'll have to replace some calls by getSurfaceWidth() and getSurfaceHeight().
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

Douglas Lyon
Has anyone tested jogl on java 9 with a mac?
How about Java3d?
I am getting crashing with the simplest of cube examples using java3d..
Thanks!
 - Doug

package j3d.examples.shape.cube;


import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;

import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import java.awt.*;


public class StillCube  {


    public StillCube() {

        GraphicsConfiguration config =
                SimpleUniverse.getPreferredConfiguration();

        Canvas3D c3d = new Canvas3D(config);


        // SimpleUniverse is a Convenience Utility class
        SimpleUniverse su = new SimpleUniverse(c3d);

        // This will move the ViewPlatform back a bit so the
        // objects in the scene can be viewed.
        su.getViewingPlatform().setNominalViewingTransform();

        su.addBranchGraph(getBranchGroup());
        Frame f = new Frame();
        f.setLayout(new BorderLayout());
        Panel p = new Panel(new BorderLayout());
        p.add(BorderLayout.CENTER, c3d);
        f.add(p, BorderLayout.CENTER);
        f.setSize(200,200);
        f.setVisible(true);
    } // end of HelloJava3Da (constructor)

    public BranchGroup getBranchGroup() {
        // Create the root of the branch graph
        BranchGroup bg = new BranchGroup();
        bg.addChild(new ColorCube(.25));
        bg.compile();

        return bg;
    } // end of CreateSceneGraph method of HelloJava3Da

    //  The following allows this to be run as an application
    //  as well as an applet

    public static void main(String[] args) {
        StillCube cube = new StillCube();


    }

} // end of class HelloJava3Da

/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin/java --illegal-access=permit -Dfile.encoding=UTF-8 -classpath /Users/lyon/current/java/j4p/out/production/j4p:/Users/lyon/current/java/j4p/jars/anna-3.5.jar:/Users/lyon/current/java/j4p/jars/annotations.jar:/Users/lyon/current/java/j4p/jars/ant.jar:/Users/lyon/current/java/j4p/jars/ant-launcher-1.7.1.jar:/Users/lyon/current/java/j4p/jars/antlr-4.5-complete.jar:/Users/lyon/current/java/j4p/jars/apache-mime4j.jar:/Users/lyon/current/java/j4p/jars/asm-2.2.1.jar:/Users/lyon/current/java/j4p/jars/asm-attrs-2.2.1.jar:/Users/lyon/current/java/j4p/jars/batik-anim.jar:/Users/lyon/current/java/j4p/jars/batik-awt-util.jar:/Users/lyon/current/java/j4p/jars/batik-bridge.jar:/Users/lyon/current/java/j4p/jars/batik-codec.jar:/Users/lyon/current/java/j4p/jars/batik-css.jar:/Users/lyon/current/java/j4p/jars/batik-dom.jar:/Users/lyon/current/java/j4p/jars/batik-ext.jar:/Users/lyon/current/java/j4p/jars/batik-extension.jar:/Users/lyon/current/java/j4p/jars/batik-gui-util.jar:/Users/lyon/current/java/j4p/jars/batik-gvt.jar:/Users/lyon/current/java/j4p/jars/batik-parser.jar:/Users/lyon/current/java/j4p/jars/batik-rasterizer.jar:/Users/lyon/current/java/j4p/jars/batik-script.jar:/Users/lyon/current/java/j4p/jars/batik-slideshow.jar:/Users/lyon/current/java/j4p/jars/batik-squiggle.jar:/Users/lyon/current/java/j4p/jars/batik-svg-dom.jar:/Users/lyon/current/java/j4p/jars/batik-svggen.jar:/Users/lyon/current/java/j4p/jars/batik-svgpp.jar:/Users/lyon/current/java/j4p/jars/batik-swing.jar:/Users/lyon/current/java/j4p/jars/batik-transcoder.jar:/Users/lyon/current/java/j4p/jars/batik-ttf2svg.jar:/Users/lyon/current/java/j4p/jars/batik-util.jar:/Users/lyon/current/java/j4p/jars/batik-xml.jar:/Users/lyon/current/java/j4p/jars/bcel-6.0.jar:/Users/lyon/current/java/j4p/jars/bcprov-jdk15on-154.jar:/Users/lyon/current/java/j4p/jars/bridj-0.6.1.jar:/Users/lyon/current/java/j4p/jars/catalina.jar:/Users/lyon/current/java/j4p/jars/cglib-2.2_beta1.jar:/Users/lyon/current/java/j4p/jars/client-combined-3.4.0-nodeps.jar:/Users/lyon/current/java/j4p/jars/cmu_time_awb.jar:/Users/lyon/current/java/j4p/jars/cmu_us_kal.jar:/Users/lyon/current/java/j4p/jars/cmudict04.jar:/Users/lyon/current/java/j4p/jars/cmulex.jar:/Users/lyon/current/java/j4p/jars/cmutimelex.jar:/Users/lyon/current/java/j4p/jars/com.ibm.icu_50.1.1.v201304230130.jar:/Users/lyon/current/java/j4p/jars/commons-beanutils-1.9.2.jar:/Users/lyon/current/java/j4p/jars/commons-codec-1.4.jar:/Users/lyon/current/java/j4p/jars/commons-collections4-4.1.jar:/Users/lyon/current/java/j4p/jars/commons-csv-1.4.jar:/Users/lyon/current/java/j4p/jars/commons-httpclient-3.0-rc3.jar:/Users/lyon/current/java/j4p/jars/commons-io-2.0.1.jar:/Users/lyon/current/java/j4p/jars/commons-lang3-3.5.jar:/Users/lyon/current/java/j4p/jars/commons-logging-1.2.jar:/Users/lyon/current/java/j4p/jars/commons-net-1.4.1.jar:/Users/lyon/current/java/j4p/jars/coreProcessing.jar:/Users/lyon/current/java/j4p/jars/cssparser-0.9.5.jar:/Users/lyon/current/java/j4p/jars/dicom.jar:/Users/lyon/current/java/j4p/jars/dom4j-1.6.1.jar:/Users/lyon/current/java/j4p/jars/dropbox-core-sdk-1.7.7.jar:/Users/lyon/current/java/j4p/jars/dropbox-java-sdk-1.3.jar:/Users/lyon/current/java/j4p/jars/Echo2_App.jar:/Users/lyon/current/java/j4p/jars/ehcache-1.2.3.jar:/Users/lyon/current/java/j4p/jars/en_us.jar:/Users/lyon/current/java/j4p/jars/ezmorph-1.0.6.jar:/Users/lyon/current/java/j4p/jars/facialrecognition.jar:/Users/lyon/current/java/j4p/jars/filters-2.0.235.jar:/Users/lyon/current/java/j4p/jars/freeBase.jar:/Users/lyon/current/java/j4p/jars/freeGraphics.jar:/Users/lyon/current/java/j4p/jars/freehepEmf17.jar:/Users/lyon/current/java/j4p/jars/freeHepGraphicsIO17.jar:/Users/lyon/current/java/j4p/jars/freemarker.jar:/Users/lyon/current/java/j4p/jars/freetts.jar:/Users/lyon/current/java/j4p/jars/gson-2.8.0.jar:/Users/lyon/current/java/j4p/jars/HelloWorld.jar:/Users/lyon/current/java/j4p/jars/hibernate-3.2.2.ga.jar:/Users/lyon/current/java/j4p/jars/hsqldb-1.7.3.3.jar:/Users/lyon/current/java/j4p/jars/htmlunit-2.26.jar:/Users/lyon/current/java/j4p/jars/htmlunit-core-js-2.9.jar:/Users/lyon/current/java/j4p/jars/htmlunit-core-js-2.26.jar:/Users/lyon/current/java/j4p/jars/httpclient-4.1.2.jar:/Users/lyon/current/java/j4p/jars/httpclient-4.5.3.jar:/Users/lyon/current/java/j4p/jars/httpcore-4.1.2.jar:/Users/lyon/current/java/j4p/jars/httpcore-4.4.6.jar:/Users/lyon/current/java/j4p/jars/httpcore-nio-4.0.jar:/Users/lyon/current/java/j4p/jars/httpmime-4.1.2.jar:/Users/lyon/current/java/j4p/jars/httpmime-4.5.3.jar:/Users/lyon/current/java/j4p/jars/hyperjaxb2-core-0.6.2.jar:/Users/lyon/current/java/j4p/jars/hyperjaxb2-hibernate-configuration-0.6.2.jar:/Users/lyon/current/java/j4p/jars/hyperjaxb2-hibernate-customizations-0.6.2.jar:/Users/lyon/current/java/j4p/jars/hyperjaxb2-hibernate-mapping-0.6.2.jar:/Users/lyon/current/java/j4p/jars/hyperjaxb2-shared-0.6.2.jar:/Users/lyon/current/java/j4p/jars/hyperjaxb2-testing-0.6.2.jar:/Users/lyon/current/java/j4p/jars/imagej-1.47.jar:/Users/lyon/current/java/j4p/jars/imloader.jar:/Users/lyon/current/java/j4p/jars/itext-1.3.jar:/Users/lyon/current/java/j4p/jars/jaas.jar:/Users/lyon/current/java/j4p/jars/jackson-core-2.2.4.jar:/Users/lyon/current/java/j4p/jars/jai_codec.jar:/Users/lyon/current/java/j4p/jars/jai_core.jar:/Users/lyon/current/java/j4p/jars/jaranalyzer.jar:/Users/lyon/current/java/j4p/jars/jaxb1-impl.jar:/Users/lyon/current/java/j4p/jars/jaxb-api.jar:/Users/lyon/current/java/j4p/jars/jaxbcommons-core-1.0.3.jar:/Users/lyon/current/java/j4p/jars/jaxbcommons-shared-1.0.3.jar:/Users/lyon/current/java/j4p/jars/jaxbcommons-testing-1.0.3.jar:/Users/lyon/current/java/j4p/jars/jbrowserdriver-0.17.4.jar:/Users/lyon/current/java/j4p/jars/jce.jar:/Users/lyon/current/java/j4p/jars/jetty-client-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/jetty-http-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/jetty-io-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/jetty-util-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/jimi.jar:/Users/lyon/current/java/j4p/jars/jmf.jar:/Users/lyon/current/java/j4p/jars/jna.jar:/Users/lyon/current/java/j4p/jars/js.jar:/Users/lyon/current/java/j4p/jars/jsch.jar:/Users/lyon/current/java/j4p/jars/json-jena-1.0.jar:/Users/lyon/current/java/j4p/jars/json-lib-2.4-jdk15.jar:/Users/lyon/current/java/j4p/jars/json_simple-1.1.jar:/Users/lyon/current/java/j4p/jars/jsoup-1.8.1.jar:/Users/lyon/current/java/j4p/jars/jsse.jar:/Users/lyon/current/java/j4p/jars/jta-1.0.1B.jar:/Users/lyon/current/java/j4p/jars/junit-4.10.jar:/Users/lyon/current/java/j4p/jars/l2fprod-common-all.jar:/Users/lyon/current/java/j4p/jars/liblinear-1.51-with-deps.jar:/Users/lyon/current/java/j4p/jars/log4j-1.2.13.jar:/Users/lyon/current/java/j4p/jars/logback-core-1.0.7.jar:/Users/lyon/current/java/j4p/jars/mail.jar:/Users/lyon/current/java/j4p/jars/matetools-1.30.jar:/Users/lyon/current/java/j4p/jars/MRJToolkit.jar:/Users/lyon/current/java/j4p/jars/MRJToolkitStubs-1.0.jar:/Users/lyon/current/java/j4p/jars/mysql.jar:/Users/lyon/current/java/j4p/jars/natty-0.13-SNAPSHOT.jar:/Users/lyon/current/java/j4p/jars/nekohtml-1.9.15.jar:/Users/lyon/current/java/j4p/jars/openapi.jar:/Users/lyon/current/java/j4p/jars/opencsv-3.8.jar:/Users/lyon/current/java/j4p/jars/opennlp-maxent-3.0.2-incubating.jar:/Users/lyon/current/java/j4p/jars/opennlp-tools-1.5.2-incubating.jar:/Users/lyon/current/java/j4p/jars/opennlp-tools-1.6.0.jar:/Users/lyon/current/java/j4p/jars/org.eclipse.cdt.core_5.5.0.201306112328.jar:/Users/lyon/current/java/j4p/jars/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar:/Users/lyon/current/java/j4p/jars/pde.jar:/Users/lyon/current/java/j4p/jars/phidget21.jar:/Users/lyon/current/java/j4p/jars/poi-3.15.jar:/Users/lyon/current/java/j4p/jars/poi-ooxml-3.16.jar:/Users/lyon/current/java/j4p/jars/poi-ooxml-schemas-3.7.jar:/Users/lyon/current/java/j4p/jars/portfolio.jar:/Users/lyon/current/java/j4p/jars/printf.jar:/Users/lyon/current/java/j4p/jars/QTJava.zip:/Users/lyon/current/java/j4p/jars/quaqua.jar:/Users/lyon/current/java/j4p/jars/resolver.jar:/Users/lyon/current/java/j4p/jars/rt.jar:/Users/lyon/current/java/j4p/jars/saaj-api.jar:/Users/lyon/current/java/j4p/jars/saaj-impl.jar:/Users/lyon/current/java/j4p/jars/sac-1.3.jar:/Users/lyon/current/java/j4p/jars/saxon-8.7.jar:/Users/lyon/current/java/j4p/jars/saxon-dom-8.7.jar:/Users/lyon/current/java/j4p/jars/secondstring.jar:/Users/lyon/current/java/j4p/jars/seg.jar:/Users/lyon/current/java/j4p/jars/selenium-firefox-driver-2.24.1.jar:/Users/lyon/current/java/j4p/jars/selenium-java-2.29.0.jar:/Users/lyon/current/java/j4p/jars/serializer-2.7.1.jar:/Users/lyon/current/java/j4p/jars/servlet.jar:/Users/lyon/current/java/j4p/jars/shippo-java-client-1.2.0.jar:/Users/lyon/current/java/j4p/jars/signpost-core-1.2.1.2.jar:/Users/lyon/current/java/j4p/jars/sjsxp.jar:/Users/lyon/current/java/j4p/jars/slf4j-api-1.7.7.jar:/Users/lyon/current/java/j4p/jars/slf4j-simple-1.7.7.jar:/Users/lyon/current/java/j4p/jars/sphinx4.jar:/Users/lyon/current/java/j4p/jars/spring-2.0.2.jar:/Users/lyon/current/java/j4p/jars/sqlite-jdbc-3.16.1.jar:/Users/lyon/current/java/j4p/jars/stanford-corenlp-3.6.0.jar:/Users/lyon/current/java/j4p/jars/stanford-parser.jar:/Users/lyon/current/java/j4p/jars/tattletale-1.1.2.Final.jar:/Users/lyon/current/java/j4p/jars/temboo_java_sdk_2.11.1.jar:/Users/lyon/current/java/j4p/jars/tools.jar:/Users/lyon/current/java/j4p/jars/util.jar:/Users/lyon/current/java/j4p/jars/vecmath.jar:/Users/lyon/current/java/j4p/jars/velocity-1.7.jar:/Users/lyon/current/java/j4p/jars/webcam.jar:/Users/lyon/current/java/j4p/jars/webcam-capture-0.3.10.jar:/Users/lyon/current/java/j4p/jars/webserver.jar:/Users/lyon/current/java/j4p/jars/websocket-api-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/websocket-client-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/websocket-common-9.4.3.v20170317.jar:/Users/lyon/current/java/j4p/jars/whatswrong-0.2.3.jar:/Users/lyon/current/java/j4p/jars/wire-v1.3-b21.jar:/Users/lyon/current/java/j4p/jars/xalan-2.7.2.jar:/Users/lyon/current/java/j4p/jars/xercesImpl.jar:/Users/lyon/current/java/j4p/jars/xercesImpl-2.9.1.jar:/Users/lyon/current/java/j4p/jars/xml-apis-1.3.04.jar:/Users/lyon/current/java/j4p/jars/xmlsec.jar:/Users/lyon/current/java/j4p/jars/YahooFinanceAPI-3.4.0.jar:/Users/lyon/current/java/j4p/jars/j3d/jogamp-java3d/j3dcore.jar:/Users/lyon/current/java/j4p/jars/j3d/jogamp-java3d/j3dutils.jar:/Users/lyon/current/java/j4p/jars/j3d/jogamp-java3d/vecmath.jar:/Users/lyon/current/java/j4p/jars/j3d/jogamp-fat/jogamp-fat.jar:/Users/lyon/current/java/j4p/jars/j3d/jogamp-fat/jogamp-fat-test.jar j3d.examples.shape.cube.StillCube --illegal-access=permit
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/Users/lyon/current/java/j4p/jars/j3d/jogamp-java3d/j3dcore.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
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
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000001323fe0cc, pid=10875, tid=775
#
# JRE version: Java(TM) SE Runtime Environment (9.0+11) (build 9.0.1+11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (9.0.1+11, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# C  [libosxapp.dylib+0x20cc]  -[NSApplicationAWT sendEvent:]+0x179
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/lyon/current/java/j4p/hs_err_pid10875.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

gouessej
Administrator
Hi

Have you used my workaround?
https://jogamp.org/bugzilla/show_bug.cgi?id=1317#c7

Reminder: AWT belongs to JavaSE, we're not responsible for the maintenance of this API.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

Douglas Lyon

Thank you for your update;...Here is what we get...
btw, we need to turn on the debug option, I will show you what I mean, below.

Looks like:
jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory
Is at the heart of the problem here.

Regards,
 - Doug
P.S.
We need a shell more like this:
#! /bin/sh                                                                      
if [ $# -eq 0 ] ; then
    echo 'Please supply just the filename.jar as the argument.'
    exit 1
fi
java  -Dnativewindow.debug.GraphicsConfiguration -jar "$\
(cd "$(dirname "$1")"; pwd)/$(basename "$1")"


P.P.S.
C  [libosxapp.dylib+0x20cc]  -[NSApplicationAWT sendEvent:]+0x179
-Dnativewindow.debug.GraphicsConfiguration
is a good option for helping
--------> Before Debug ------->
runjava.sh StillCube.jar
3D [dev] 1.6.0-pre12-daily-experimental daily

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/Users/lyon/attachments/foo/foo/StillCube.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
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
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000010e94b0cc, pid=41296, tid=775
#
# JRE version: Java(TM) SE Runtime Environment (9.0+11) (build 9.0.1+11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (9.0.1+11, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# C  [libosxapp.dylib+0x20cc]  -[NSApplicationAWT sendEvent:]+0x179
#
# Core dump will be written. Default location: /cores/core.41296 (max size 4096 kB). To ensure a full core dump, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/lyon/attachments/foo/foo/hs_err_pid41296.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
runjava.sh: line 6: 41296 Abort trap: 6           java -jar "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"

------------> After Debug <------------
3D [dev] 1.6.0-pre12-daily-experimental daily

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/Users/lyon/attachments/foo/foo/StillCube.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
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
main - Info: GraphicsConfigurationFactory.<init>
main - GraphicsConfigurationFactory.initSingleton()
GraphicsConfigurationFactory.registerFactory() put DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@ca263c2, overridding: null
GraphicsConfigurationFactory.registerFactory() put DeviceCapsType[com.jogamp.nativewindow.macosx.MacOSXGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.MacOSXCGLGraphicsConfigurationFactory@7a4ccb53, overridding: null
GraphicsConfigurationFactory.registerFactory() put DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory@45b9a632, overridding: null
    [2]: com.jogamp.nativewindow.GraphicsConfigurationFactory.getFactory(GraphicsConfigurationFactory.java:231)
    [3]: javax.media.j3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8634)
    [4]: javax.media.j3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8367)
    [5]: javax.media.j3d.Renderer.doWork(Renderer.java:496)
    [6]: javax.media.j3d.J3dThread.run(J3dThread.java:271)
GraphicsConfigurationFactory.getFactory: com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilities
Factory #0: DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory@45b9a632
Factory #1: DeviceCapsType[com.jogamp.nativewindow.macosx.MacOSXGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.MacOSXCGLGraphicsConfigurationFactory@7a4ccb53
Factory #2: DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@ca263c2
GraphicsConfigurationFactory.getFactory() deviceTypes: [class com.jogamp.nativewindow.awt.AWTGraphicsDevice, class com.jogamp.nativewindow.DefaultGraphicsDevice, interface com.jogamp.nativewindow.AbstractGraphicsDevice]
GraphicsConfigurationFactory.getFactory() capabilitiesTypes: [interface com.jogamp.opengl.GLCapabilitiesImmutable, interface com.jogamp.nativewindow.CapabilitiesImmutable]
GraphicsConfigurationFactory.getFactory() found DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory@45b9a632
MacOSXAWTCGLGraphicsConfigurationFactory: got AWTGraphicsScreen[AWTGraphicsDevice[type .awt, connection Display 1317015680, unitID 0, awtDevice sun.awt.CGraphicsDevice@6387804e, handle 0x0], idx 0]
MacOSXAWTCGLGraphicsConfigurationFactory: made DefaultGraphicsScreen[MacOSXGraphicsDevice[type .macosx, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[obj 0xa76184f]], idx 0]
    [2]: com.jogamp.nativewindow.GraphicsConfigurationFactory.getFactory(GraphicsConfigurationFactory.java:231)
    [3]: com.jogamp.nativewindow.GraphicsConfigurationFactory.getFactory(GraphicsConfigurationFactory.java:193)
    [4]: jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(MacOSXAWTCGLGraphicsConfigurationFactory.java:107)
    [5]: com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
    [6]: javax.media.j3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8635)
    [7]: javax.media.j3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8367)
    [8]: javax.media.j3d.Renderer.doWork(Renderer.java:496)
    [9]: javax.media.j3d.J3dThread.run(J3dThread.java:271)
GraphicsConfigurationFactory.getFactory: com.jogamp.nativewindow.macosx.MacOSXGraphicsDevice, com.jogamp.opengl.GLCapabilities
Factory #0: DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.awt.MacOSXAWTCGLGraphicsConfigurationFactory@45b9a632
Factory #1: DeviceCapsType[com.jogamp.nativewindow.macosx.MacOSXGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.MacOSXCGLGraphicsConfigurationFactory@7a4ccb53
Factory #2: DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@ca263c2
GraphicsConfigurationFactory.getFactory() deviceTypes: [class com.jogamp.nativewindow.macosx.MacOSXGraphicsDevice, class com.jogamp.nativewindow.DefaultGraphicsDevice, interface com.jogamp.nativewindow.AbstractGraphicsDevice]
GraphicsConfigurationFactory.getFactory() capabilitiesTypes: [interface com.jogamp.opengl.GLCapabilitiesImmutable, interface com.jogamp.nativewindow.CapabilitiesImmutable]
GraphicsConfigurationFactory.getFactory() found DeviceCapsType[com.jogamp.nativewindow.macosx.MacOSXGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.macosx.cgl.MacOSXCGLGraphicsConfigurationFactory@7a4ccb53
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000134a7d0cc, pid=41337, tid=775
#
# JRE version: Java(TM) SE Runtime Environment (9.0+11) (build 9.0.1+11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (9.0.1+11, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# C  [libosxapp.dylib+0x20cc]  -[NSApplicationAWT sendEvent:]+0x179
#
# Core dump will be written. Default location: /cores/core.41337 (max size 4096 kB). To ensure a full core dump, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/lyon/attachments/foo/foo/hs_err_pid41337.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Reply | Threaded
Open this post in threaded view
|

Re: Jogl/Jogamp on Java 9

gouessej
Administrator
Thank you for the feedback but the crash happening in MacOSXAWTCGLGraphicsConfigurationFactory doesn't prove somehow that JOGL is to blame. This crash is probably not reproducible with NEWT without AWT.
Julien Gouesse | Personal blog | Website