-
-
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
JavaCall crashes Julia 1.6.3 on macOS #151
Comments
Thanks for the issue. Have you tried this on any other operating systems? |
I just tried 1.6.3 on Linux and Windows: Linux: julia> using JavaCall
julia> JavaCall.init()
julia> jls = @jimport java.lang.System
JavaObject{Symbol("java.lang.System")}
julia> out = jfield(jls,"out",@jimport java.io.PrintStream)
JavaObject{Symbol("java.io.PrintStream")}(JavaCall.JavaLocalRef(Ptr{Nothing} @0x00000000023f1598))
julia> jcall(out,"println",Nothing,(JString,),"Hello Java")
Hello Java
julia> versioninfo()
Julia Version 1.6.3
Commit ae8452a9e0 (2021-09-23 17:34 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: AMD FX(tm)-8350 Eight-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, bdver1)
Environment:
JULIA_COPY_STACKS = 1 Windows: julia> using JavaCall
[ Info: Precompiling JavaCall [494afd89-becb-516b-aafa-70d2670c0337]
julia> JavaCall.init()
julia>
julia> jls = @jimport java.lang.System
JavaObject{Symbol("java.lang.System")}
julia> out = jfield(jls, "out", @jimport java.io.PrintStream )
JavaObject{Symbol("java.io.PrintStream")}(JavaLocalRef(Ptr{Nothing} @0x0000000059c15380))
julia> jcall(out, "println", Nothing, (JString,), "Hello world")
Hello world
julia> versioninfo()
Julia Version 1.6.3
Commit ae8452a9e0 (2021-09-23 17:34 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, skylake) |
In Julia 1.6.2 I also get the
|
Perhaps this is a variation of a known issue: Have you tried starting Julia with |
Yes, starting Julia 1.6.3 with Strange that in 1.6.2 the |
I suspect https://github.com/JuliaLang/julia/pull/40056/files may have affected this. |
But with |
I talked to @vtjnash on Slack and confirmed that JuliaLang/julia#40056 is at the heart of this change. We may be stuck until we implement signal chaining for Julia. As we wait for Julia to attempt to address this upstream, can you see if https://docs.oracle.com/en/java/javase/11/tools/java.html#GUID-3B1CE181-CD30-4178-9602-230B800D4FAE |
Regretfully also |
Are you able to use any other version of Java? Another way to do this, might be starting Java first, and then Julia. In this case, we may be able to take advantage of Java's signal chaining. The main reason I'm asking about Java versions is that newer Java versions (16+) have a new incubating facility to call into native code ( https://docs.oracle.com/en/java/javase/16/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/package-summary.html ) |
Also with I don't know how to start Java first and then Julia. For the time being I'll start Julia with |
In Julia 1.6.3,
JavaCall.init()
causes a Segmentation fault. The same happens with version 1.7.0-rc1. It works in version 1.6.2.The text was updated successfully, but these errors were encountered: