Unable to evaluate parameters in Juno.@enter debugger

On Windows 10 with Juno 1.40.0 (I think, downloaded via Julia Pro 1.2), I’m trying to use the Juno debugger via Juno.@enter, but I am unable to evaluate the parameters of my function, unlike in the example. The documentation suggests I should be able to do that.

Here’s the function in a .jl file. I use C-<enter> to evaluate the function at the repl.

function f(x, y, z)
    println(x)
    println(y)
    println(z)
end

I then run Juno.@enter, and the debugger appears to start without trouble, but I get an error when I try to inspect the value of x:

Starting Julia...
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.2.0 (2019-08-20)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> Juno.@enter f(1,2,3)
debug> x
ERROR: ArgumentError: invalid index: Symbol("#self#") of type Symbol
Stacktrace:
 [1] to_index(::Symbol) at .\indices.jl:270
 [2] to_index(::Array{Int64,1}, ::Symbol) at .\indices.jl:247
 [3] to_indices at .\indices.jl:298 [inlined]
 [4] to_indices at .\indices.jl:295 [inlined]
 [5] getindex at .\abstractarray.jl:981 [inlined]
 [6] eval_code(::JuliaInterpreter.Frame, ::String) at C:\Users\carlm\.juliapro\JuliaPro_v1.2.0-1\packages\Atom\Wouyw\src\debugger\stepper.jl:460   
 [7] interpret at C:\Users\carlm\.juliapro\JuliaPro_v1.2.0-1\packages\Atom\Wouyw\src\debugger\stepper.jl:437 [inlined]
 [8] interpret at C:\Users\carlm\.juliapro\JuliaPro_v1.2.0-1\packages\Atom\Wouyw\src\debugger\stepper.jl:436 [inlined]
 [9] (::getfield(Atom.JunoDebugger, Symbol("##56#58")))(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at C:\Users\carlm\.juliapro\JuliaPro_v1.2.0-1\packages\Atom\Wouyw\src\debugger\stepper.jl:226
 [10] #invokelatest#1 at .\essentials.jl:790 [inlined]
 [11] invokelatest at .\essentials.jl:789 [inlined]
 [12] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\REPL\src\LineEdit.jl:2306
 [13] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface) at C:\Users\julia\AppData\Local\Julia-1.2.0\share\julia\stdlib\v1.2\REPL\src\LineEdit.jl:2300
 [14] debugprompt() at C:\Users\carlm\.juliapro\JuliaPro_v1.2.0-1\packages\Atom\Wouyw\src\debugger\stepper.jl:242
 [15] (::getfield(Atom.JunoDebugger, Symbol("##52#54")))() at .\task.jl:268

Not sure what’s wrong with my setup. Any idea of where to look?

1 Like

I experienced the exact same error.
Hope someone can offer a solution.
Thanks

I also experienced the same error message during debugging, when I try to evaluate code, whichs contain a data frame.

What exact version of JuliaPro are you using?

I’ll try it again soon but when I posted this question. I’d done a fresh install either the same day or at most a day or two before.

The current version of JuliaPro is JuliaPro-1.2.0-1_build-51, with which the debugger works fine for me.

I`m working with JuliaPro-1.2.0-1. Where do I find the build version?

I think you can only find that in the installer’s file name. Just checked with the latest binary for Windows (JuliaPro-1.2.0-1_build-236), and everything seems to be working fine.

I didn’t try it with Julia Pro, but I setup Julia 1.3 with Juno and it’s all working. Best I can guess is that I broke my JuliaPro installation somehow.

In particular I sometimes get stuck installing a package because my internet is slow and sometimes if I cancel in the middle things don’t revert correctly.

The new debugger looks pretty cool, so I’m looking forward to using it.

1 Like

Did anyone find a solution to this?

Updating to the latest build of JuliaPro should work. Can you give that a go?

Yep that did it, thanks

Actually I reinstalled JuliaPro and at first it was working, but I’ve started getting the same error again when, can you advise?

1 Like

I have the latest build for Windows (JuliaPro-1.2.0-1_build-236) and getting the same error. Here are some details from Juno

Atom:

Version: 1.40.1
Dev Mode: false
Official Release: true
{
“http_parser”: “2.8.0”,
“node”: “10.2.0”,
“v8”: “6.6.346.32”,
“uv”: “1.20.3”,
“zlib”: “1.2.11”,
“ares”: “1.14.0”,
“modules”: “64”,
“nghttp2”: “1.29.0”,
“napi”: “3”,
“openssl”: “1.1.0h”,
“electron”: “3.1.10”,
“chrome”: “66.0.3359.181”
}

julia-client:

Version: 0.9.4
Config:
{
“firstBoot”: false,
“juliaOptions”: {
“bootMode”: “Cycler”
},
“juliaPath”: “C:\Users\jscon\AppData\Local\JuliaPro-1.2.0-1\Julia-1.2.0\bin\julia.exe”,
“uiOptions”: {
“enableMenu”: true,
“enableToolBar”: true,
“layouts”: {
“openDefaultPanesOnStartUp”: true
}
}
}

ink:

Version: 0.10.12
Config:
undefined

uber-juno:not installed

language-julia:

Version: 0.19.1
Config:
undefined

language-weave:not installed

indent-detective:not installed

Julia Version 1.2.0
Commit c6da87ff4b (2019-08-20 00:03 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core™ i5-9400F CPU @ 2.90GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
JULIA_EDITOR = “C:\Users\jscon\AppData\Local\JuliaPro-1.2.0-1\app-1.40.1\atom.exe” -a
JULIA_NUM_THREADS = 3
JULIA_PKG_SERVER = https://pkg.juliacomputing.com/
JULIA_PKG_TOKEN_PATH = C:\Users\jscon.juliapro\token.toml

Status `C:\Users\jscon\.juliapro\JuliaPro_v1.2.0-1\environments\v1.2\Project.toml`

[c52e3926] Atom v0.9.1
[6e4b80f9] BenchmarkTools v0.4.3
[7073ff75] IJulia v1.19.0
[e5e0dc1b] Juno v0.7.1

Does that happen for every function you’re debugging, e.g. for something as simple as Juno.@enter gcd(2,3)?

yes, just tested it