[ANN] Juno 0.12

Is the freezing / deadlock issue supposed to be fixed? I am running Atom 0.12.7 on Mac OS with Julia 1.3, and Atom seems to freeze at random timepoints when executing code blocks. Upon interruption, I get the following stacktrace:

ERROR: InterruptException:
Stacktrace:
 [1] try_yieldto(::typeof(Base.ensure_rescheduled), ::Base.RefValue{Task}) at ./task.jl:611
 [2] wait() at ./task.jl:668
 [3] wait(::Base.GenericCondition{Base.AlwaysLockedST}) at ./condition.jl:106
 [4] blockinput() at /Users/sdobber/.julia/packages/Atom/QOKyk/src/repl.jl:97
 [5] evalrepl(::Module, ::String) at /Users/sdobber/.julia/packages/Atom/QOKyk/src/repl.jl:204
 [6] top-level scope at /Users/sdobber/.julia/packages/Atom/QOKyk/src/repl.jl:260

This still does not get me back to the REPL, and I am forced to stop Julia.

Is the freezing / deadlock issue supposed to be fixed?

Supposed to be? Yes. Did we catch all cases where a deadlock might happen? No.
Would be very useful if you could narrow down the “random timepoints” when the freeze happens.

1 Like

I’ll try my best to narrow it down, but “random” was the best I could come up with… Sometimes Atom works fine for hours, sometimes it freezes after 30 seconds in a new Julia session. Every time it does it seems like a trivial operation to me, like using DifferentialEquations or assigning a variable.

On my computer, it seems though that it got better for me at one point yesterday, where the only real difference was that all packages different from Atom.jl were precompiled again. Do you think this could have an effect on the issue? (I’m not deep enough into Julia myself to understand if and how different packages influence each other during precompilation.)

Hello,

I updated ink and julia-client to v0.12.2, then Atom.jl to v0.12.7, and I get a very strange bug : I can’t execute using Plots (or any other package) as first instruction in the console, I get a segmentation fault. But anything is fine if I evaluate another expression, e.g. 2+2, before evaluation of using !

My operating system is Ubuntu 18.04, and my version of Atom is 1.44.0 x64.

I have a similar issue where, after working on one Julia session for around 1h and then stopping the session and attempting to start a new one, Julia gets stuck in a deadlock.

I do not get this issue when starting a new Julia session and killing it instantly after a fresh Atom start. I have only gotten it when working with Julia for a little while and then killing it and then attempting to restart.

The only way for me to get around this issue at the moment is by restarting Atom.

I am using
julia-client: Version: 0.12.2
Atom v0.12.7

I found that more people are having that bug and it’s an open issue here

Impossible to work with version 0.12, Julia stops randomly (segmentation fault). I reverted to 0.11.3:

[~]apm install julia-client@0.11.3
[~]apm install ink@0.11.3
(v1.0) pkg> add Atom@0.11.3

@pfitzseb has just done the great work to fix the crashes on Windows: https://github.com/JunoLab/atom-julia-client/pull/699
We will release out another version including that today, I think.

7 Likes

Hey everybody,

we’ve just released Juno 0.12.8, which brings a bunch of improvements for Juno on Windows as well as a few other things:

  • Tooltips when hovering over links in the REPL/in terminals (#702).
  • The inline stepper widget while debugging now correctly expands over other pane items while hovering (#266).
  • Added some error handling for the WebGL terminal backend (#264).
  • Significantly improved how Juno handles interrupts (#695 and #291).
  • Fixed a source of Atom crashes on Windows (#699).
  • Cell highlighting is now more subtle; we also added instructions on how to customize it (#700).
  • Fixed a bug where top-level macro calls could sometimes erroneously end up in the outline view (#295).

You’ll need to be on the following package versions:

  • Atom.jl@0.12.8
  • Juno.jl@0.8.1
  • julia-client@0.12.3
  • ink@0.12.3

Also note that there still is a chance that Julia will segfault when using Juno together with Julia 1.0.x – we weren’t able to figure out why this is happening. I’d recommend either upgrading your Julia version or reverting back to Juno 0.11 until the bug is fixed.

Enjoy!

14 Likes

Does it work with 1.5?

Works on my Julia built on the current master at least.

2 Likes

It seems to be better with regard to exiting the REPL and restarting it (in Windows). It will eventually hang, but now it takes a half dozen or so cycles, rather than one or two.

BTW, is the Juno.jl version (0.8.1) correct? ] update brought me to Atom v0.12.8, but Juno is at v0.7.2.

Thank you!

Yeah Juno@0.8.1 is latest.
Try pkg> add Juno@0.8.1 and it will show why your env can’t update it.

Thanks, it was Gadfly. However, going to Juno v0.8.1 didn’t fix the occasional hang.

hmh, but we can’t improve/bugfix given just “the occasional hang”. It would be helpful if you can describe your environment, setup, when you happened to encounter the bug, MRE, etc.

1 Like

Of course.

Instructions to reproduce:
Start Atom
Press Enter in REPL window, wait for prompt, issue exit(), and repeat the process of stopping and restarting the session. Eventually it hangs looking like

julia> exit()

Julia has exited.
Press Enter to start a new session.

It can be restarted by using the reload command.

Doing this just now, it survived 7 cycles, then 1, then 2, then 5, before needing to be reloaded. I’m usually giving it maybe 5 seconds to see that it’s not just hesitating briefly, but the few times I’ve taken a break and let it sit (like right now typing this post) it has never woken back up.

julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
  JULIA_EDITOR = "C:\Users\klaff\AppData\Local\atom\app-1.44.0\atom.exe"  -a
  JULIA_NUM_THREADS = 4

julia> 
(v1.3) pkg> status
    Status `C:\Users\klaff\.julia\environments\v1.3\Project.toml`
  [28f2ccd6] ApproxFun v0.11.9
  [c52e3926] Atom v0.12.8
  [6e4b80f9] BenchmarkTools v0.5.0
  [ad839575] Blink v0.12.2
  [5d785b6c] CImGui v1.75.0
  [336ed68f] CSV v0.5.23
  [ea656a56] CSyntax v0.3.0
  [49dc2e85] Calculus v0.5.1
  [5ae59095] Colors v0.10.2
  [a0b5b9ef] Cxx v0.4.0 #Master (https://github.com/JuliaInterop/Cxx.jl.git)
  [717857b8] DSP v0.6.3
  [0c46a032] DifferentialEquations v6.11.0
  [31c24e10] Distributions v0.21.12
  [c87230d0] FFMPEG v0.2.4
  [5789e2e9] FileIO v1.2.2
  [53c48c17] FixedPointNumbers v0.6.1
  [587475ba] Flux v0.10.3
  [f6369f11] ForwardDiff v0.10.9
  [fd0ad045] GeometricalPredicates v0.4.0
  [19dc6840] HCubature v1.4.0
  [7073ff75] IJulia v1.21.1
  [a09fc81d] ImageCore v0.8.11
  [6218d12a] ImageMagick v1.1.2
  [02fcd773] ImageTransformations v0.8.3
  [86fae568] ImageView v0.10.7
  [916415d5] Images v0.22.0
  [d1acc4aa] IntervalArithmetic v0.16.6
  [b6b21f68] Ipopt v0.6.1
  [4076af6c] JuMP v0.21.1
  [e5e0dc1b] Juno v0.8.1
  [b964fa9f] LaTeXStrings v1.1.0
  [a05a14c7] LibSerialPort v0.3.0
  [ae8d54c2] Luxor v1.7.0
  [add582a8] MLJ v0.7.0
  [eff96d63] Measurements v2.2.0
  [961ee093] ModelingToolkit v1.2.9
  [0987c9cc] MonteCarloMeasurements v0.8.3
  [1dea7af3] OrdinaryDiffEq v5.29.0
  [d96e819e] Parameters v0.12.0
  [91a5bcdd] Plots v0.28.4
  [f27b6e38] Polynomials v0.6.1
  [27ebfcd6] Primes v0.4.0
  [438e738f] PyCall v1.91.4
  [d330b81b] PyPlot v2.8.2
  [1fd47b50] QuadGK v2.3.1
  [71555da5] Reel v1.3.0
  [88634af6] SaferIntegers v2.5.1
  [5d0f9de7] SerialPorts v0.2.1
  [276daf66] SpecialFunctions v0.9.0
  [4c63d2b9] StatsFuns v0.9.4
  [f3b207a7] StatsPlots v0.13.0
  [24249f21] SymPy v1.0.18
  [1986cc42] Unitful v1.0.0
  [fdbf4ff8] XLSX v0.6.0

(v1.3) pkg> 

I’d be glad to give any other info that would help or do an experiment.

1 Like

Ah, ok, that’s a different kind of “hang”. You should be able to fix it by hitting Ctrl-J Ctrl-K repeatedly if it happens again.

If that doesn’t help then switch the “Boot Mode” to “Basic” in the julia-client settings:
image

3 Likes

The hangs I was experiencing are gone (or at least so infrequent as to exceed my patience) using Atom v0.12.9, Juno v0.8.1.

Thank you!

1 Like

I gave Juno 0.12 a new try, and I can’t work anymore. I will give any configuration details you need, here is only the error message :

signal (11): Segmentation fault
in expression starting at no file:0
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1191
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3094
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:3893
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3615
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3801 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6262
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1159
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3094
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:3893
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3615
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3801 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6262
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1159
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3094
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:3893
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3615
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3801 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6262
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1159
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3094
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:3893
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3615
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3801 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6262
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1159
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1774
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2162
withpath at /home/j2b2/.julia/packages/Atom/wlPiw/src/eval.jl:9
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1809
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2162
#262 at /home/j2b2/.julia/packages/Atom/wlPiw/src/completions.jl:18
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1809
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2162
handlemsg at /home/j2b2/.julia/packages/Atom/wlPiw/src/comm.jl:168
unknown function (ip: 0x7fa1b5b55dec)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2162
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1537 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:556
#19 at ./task.jl:259
unknown function (ip: 0x7fa1b5b41094)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2162
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1537 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:268
unknown function (ip: 0xffffffffffffffff)
Allocations: 102007337 (Pool: 101985682; Big: 21655); GC: 221

Best regards [JB]

Are you still on Julia 1.0.x? If so, that’s a very unfortunate but known bug. The only solution is upgrading to a newer Julia version right now.

1 Like