Login  Register

Re: jdk9 on the mac, crash on load of jogl-all-natives-macosx-universal.jar, macos 10.12.2

Posted by Douglas Lyon on Nov 25, 2017; 3:27pm
URL: https://forum.jogamp.org/jdk9-on-the-mac-crash-on-load-of-jogl-all-natives-macosx-universal-jar-macos-10-12-2-tp4038323p4038327.html

Here is more information about where the crash occurs;
public class BugJdk9 {
    public static void main(String[] args) {
        String root="/Users/lyon/current/java/j3d/ij3d/foo/natives/macosx-universal/";
        String libs[]={
                "libgluegen-rt.jnilib",
                "libjoal.jnilib",
                "libjogl_desktop.jnilib",
                "libjogl_mobile.jnilib",
                "libnewt.jnilib",
                "libopenal.dylib",
                "libjocl.jnilib",
                "libnativewindow_macosx.jnilib",
                "libnativewindow_awt.jnilib"};

        System.out.println("test begins");
        for (int i=0; i < libs.length;i++) {
            System.out.println("trying:"+libs[i]);
            System.load(root + libs[i]);
            System.out.println("loaded:"+libs[i]);
        }
    }
}
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/tools.jar:/Users/lyon/current/java/j4p/java3dBug/out/production/java3dBug:/Users/lyon/current/java/j4p/java3dBug/jogl1.5.2/gluegen-rt.jar:/Users/lyon/current/java/j4p/java3dBug/jogl1.5.2/j3dcore.jar:/Users/lyon/current/java/j4p/java3dBug/jogl1.5.2/j3dutils.jar:/Users/lyon/current/java/j4p/java3dBug/jogl1.5.2/jogl.jar:/Users/lyon/current/java/j4p/java3dBug/jogl1.5.2/vecmath.jar BugJdk9 –illegal-access=permit
test begins
trying:libgluegen-rt.jnilib
loaded:libgluegen-rt.jnilib
trying:libjoal.jnilib
loaded:libjoal.jnilib
trying:libjogl_desktop.jnilib
loaded:libjogl_desktop.jnilib
trying:libjogl_mobile.jnilib
loaded:libjogl_mobile.jnilib
trying:libnewt.jnilib
loaded:libnewt.jnilib
trying:libopenal.dylib
loaded:libopenal.dylib
trying:libjocl.jnilib
Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/opencl/llb/impl/CLMemObjectDestructorCallback
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1086)
        at BugJdk9.main(BugJdk9.java:21)
Caused by: java.lang.ClassNotFoundException: com.jogamp.opencl.llb.impl.CLMemObjectDestructorCallback
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 6 more

Process finished with exit code 1

Thus, it is the last two libraries:
"libnativewindow_macosx.jnilib",
                "libnativewindow_awt.jnilib"
where things go south...