Running the code below in Juno renders the REPL broken, and by that I mean I can no longer run anything from the REPL. I’m trying to do more than just a simple wrapper function, but the code below was the minimum needed to reproduce the error.
using GeoArrays
function read_raster(path)
a = GeoArrays.read(path)
a
end
read_raster("test/input/some_raster.asc")
where "test/input/some_raster.asc"
is a file on my local system. Once I run the above, running 2+2
from the REPL does not produce any output (it just hangs) and pressing ctrl-c to interrupt it results in the following:
julia> 2+2
^CERROR: InterruptException:
Stacktrace:
[1] poptaskref(::Base.InvasiveLinkedListSynchronized{Task}) at ./task.jl:702
[2] wait() at ./task.jl:709
[3] wait(::Base.GenericCondition{Base.Threads.SpinLock}) at ./condition.jl:106
[4] lock(::ReentrantLock) at ./lock.jl:80
[5] evalrepl(::Module, ::String) at /root/.julia/packages/Atom/cYxbS/src/repl.jl:221
[6] top-level scope at /root/.julia/packages/Atom/cYxbS/src/repl.jl:272
[7] eval(::Module, ::Any) at ./boot.jl:331
[8] eval_user_input(::Any, ::REPL.REPLBackend) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:86
[9] macro expansion at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:118 [inlined]
[10] (::REPL.var"#26#27"{REPL.REPLBackend})() at ./task.jl:358
ERROR: unlock from wrong thread
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] unlock(::ReentrantLock) at ./lock.jl:101
[3] evalrepl(::Module, ::String) at /root/.julia/packages/Atom/cYxbS/src/repl.jl:251
[4] top-level scope at /root/.julia/packages/Atom/cYxbS/src/repl.jl:272
Also of note – neither this:
using GeoArrays
function read_raster(path)
a = GeoArrays.read(path)
a.A
end
read_raster("test/input/temperature.asc")
nor this
using GeoArrays
a = GeoArrays.read(path)
cause the same error.
I tried removing then installing uber-juno and julia-client in atom but that didn’t help.
I wasn’t sure if this should be posted as an issue in the either the Juno or Julia repo – I thought the discourse might be a good place to start.
Here’s my version info:
julia> versioninfo()
Julia Version 1.4.0-rc2.0
Commit b99ed72c95 (2020-02-24 16:51 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Xeon(R) E-2176M CPU @ 2.70GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-8.0.1 (ORCJIT, skylake)
Environment:
JULIA_NUM_THREADS = 11
JULIA_EDITOR = atom -a
P.S. I’m working in a Docker image, so it should be possible to replicate this issue on any system.