-
-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for JNI 1.8 #7
Comments
Well, it looks like Oracle have changed the API version without documenting the change. The JDK8 docs still mention 1_6 as the latest available JNI version. http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/functions.html#version_information I am therefore hesitant to claim support in JavaCall for something that is so underspecified. There have been some reports of crashes with JDK8. eg #6. Can you try retrieving an exception in JDK8 (just throw an exception in any code that you call via JavaCall) and see what happens? |
JavaCall.jl now does work on 1.8. The assertion checking for 1.7 has been removed. In Linux, there are no reported issues due to 1.8. In OSX however, there are some spurious segfaults when moving from 1.7 to 1.8 |
Everything should be fixed in Please let me know if there are any further issues. |
JavaCall causes an error when using it with JNI versions later than 1.6. The error displayed is
ERROR: assertion failed: jni_version == JNI_VERSION_1_6
. Since JDK 1.8, JNI version 1.8 is included, making this assertion always fail when using JavaCall on *.jar files created with this version of Java.Line 457 In src/JavaCall.jl (
@assert ccall(jnifunc.GetVersion, Cint, (Ptr{JNIEnv},), penv) == JNI_VERSION_1_6
) causes the error.Changing the line to
@assert jni_version >= JNI_VERSION_1_6 #Also allowing jni 1.8
solves the issue. I can't find any changes since 1.6, and after a little testing, using JNI 1.8 seems to be working fine.The text was updated successfully, but these errors were encountered: