JuliaInterop / JuliaInterop/JavaCall.jl
Can IJulia Jupyter/Pluto run on Linux without JULIA_COPY_STACKS=1?
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 125
- Forks
- 53
- PR merge metrics
- No merged PRs in 30d
Description
Hey,
in the REPL it is possible to run a JavaCall dependent library (like View5D) without JULIA_COPY_STACKS=1.
In IJulia or Pluto it is not:
JavaCall.JavaCallError("Either the environmental variable JULIA_COPY_STACKS must be 1 OR JavaCall must be used on the root Task.")
Stacktrace:
[1] assertroottask_or_goodenv
@ ~/.julia/packages/JavaCall/tjlYt/src/jvm.jl:236 [inlined]
[2] _init(opts::Vector{String})
@ JavaCall ~/.julia/packages/JavaCall/tjlYt/src/jvm.jl:285
[3] init()
@ JavaCall ~/.julia/packages/JavaCall/tjlYt/src/jvm.jl:277
[4] view5d(data::Matrix{Float64}, viewer::Nothing; gamma::Nothing, mode::DisplayMode, element::Int64, time::Int64, show_phase::Bool, keep_zero::Bool, name::Nothing, title::Nothing, properties::Nothing)
@ View5D ~/.julia/packages/View5D/cKswI/src/View5D.jl:1023
[5] view5d (repeats 2 times)
@ ~/.julia/packages/View5D/cKswI/src/View5D.jl:1021 [inlined]
[6] top-level scope
@ In[5]:1
[7] eval
@ ./boot.jl:360 [inlined]
[8] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base ./loading.jl:1094
Some libraries, like FFTW.jl, crash when JULIA_COPY_STACKS=1 which is unfortunately a deal breaker for my applications.
Can we resolve this situation?
Thanks,
Felix
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the JavaCall stacktrace entry points in src/jvm.jl: assertroottask_or_goodenv at line 236 and _init at line 285, then reproduce the behavior in IJulia or Pluto. Compare it with REPL behavior and the JULIA_COPY_STACKS=1 requirement; done means JavaCall-dependent use works there without breaking libraries such as FFTW.jl.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, julia
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100