JunoDebugger or JuliaInterpreter error

Hi!

I added a package. I could run the code bug-free, but when I tried to debug it, the following error message occurs. The Stacktrace does not contain any of the files in the package. Does anyone know what the problem is? Thanks in advance!

macOS 10.15.5
Julia 1.3.1 (the package requires this version of Julia)
Atom v0.12.18
Juno v0.8.2

debug> ERROR: BoundsError: attempt to access 4-element Array{Any,1} at index [5]
Stacktrace:
 [1] getindex at ./array.jl:744 [inlined]
 [2] build_compiled_call!(::Expr, ::Function, ::Core.CodeInfo, ::Int64, ::Int64, ::Array{Symbol,1}, ::Module) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/optimize.jl:343
 [3] optimize!(::Core.CodeInfo, ::Method) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/optimize.jl:179
 [4] #FrameCode#1(::Bool, ::Bool, ::Type{JuliaInterpreter.FrameCode}, ::Method, ::Core.CodeInfo) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/types.jl:101
 [5] Type at ./none:0 [inlined]
 [6] #prepare_framecode#35(::Bool, ::typeof(JuliaInterpreter.prepare_framecode), ::Method, ::Any) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/construct.jl:190
 [7] (::JuliaInterpreter.var"#kw##prepare_framecode")(::NamedTuple{(:enter_generated,),Tuple{Bool}}, ::typeof(JuliaInterpreter.prepare_framecode), ::Method, ::Type) at ./none:0
 [8] #prepare_call#38(::Bool, ::typeof(JuliaInterpreter.prepare_call), ::Any, ::Array{Any,1}) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/construct.jl:261
 [9] #prepare_call at ./none:0 [inlined]
 [10] #get_call_framecode#59(::Bool, ::typeof(JuliaInterpreter.get_call_framecode), ::Array{Any,1}, ::JuliaInterpreter.FrameCode, ::Int64) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/localmethtable.jl:63
 [11] #get_call_framecode at ./none:0 [inlined]
 [12] #evaluate_call_recurse!#64(::Bool, ::typeof(JuliaInterpreter.evaluate_call_recurse!), ::Any, ::JuliaInterpreter.Frame, ::Expr) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:225
 [13] evaluate_call_recurse! at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:202 [inlined]
 [14] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:387
 [15] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:443
 [16] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:577
 [17] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:14
 [18] finish_and_return! at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:29 [inlined]
 [19] #evaluate_call_recurse!#64(::Bool, ::typeof(JuliaInterpreter.evaluate_call_recurse!), ::Any, ::JuliaInterpreter.Frame, ::Expr) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:240
 [20] evaluate_call_recurse! at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:202 [inlined]
 [21] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:387
 [22] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:443
 [23] step_expr! at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/interpret.jl:577 [inlined]
 [24] next_until!(::Any, ::Any, ::JuliaInterpreter.Frame, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:91
 [25] _next_line!(::Any, ::JuliaInterpreter.Frame, ::Bool, ::Int64, ::String) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:180
 [26] next_line!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:175
 [27] #debug_command#87(::Nothing, ::typeof(JuliaInterpreter.debug_command), ::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:433
 [28] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /Users/UserName/.julia/packages/JuliaInterpreter/RmxVj/src/commands.jl:415
 [29] (::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool})() at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:193
 [30] evalscope(::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool}) at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:386
 [31] #startdebugging#53(::Bool, ::Bool, ::typeof(Atom.JunoDebugger.startdebugging), ::JuliaInterpreter.Frame, ::Bool) at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:151
 [32] #startdebugging at ./none:0 [inlined]
 [33] (::Base.var"#inner#2"{Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol,Symbol},NamedTuple{(:istoplevel, :toggle_ui),Tuple{Bool,Bool}}},typeof(Atom.JunoDebugger.startdebugging),Tuple{JuliaInterpreter.Frame,Bool}})() at ./essentials.jl:712
 [34] #invokelatest#1(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol,Symbol},NamedTuple{(:istoplevel, :toggle_ui),Tuple{Bool,Bool}}}, ::typeof(Base.invokelatest), ::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:713
 [35] (::Base.var"#kw##invokelatest")(::NamedTuple{(:istoplevel, :toggle_ui),Tuple{Bool,Bool}}, ::typeof(Base.invokelatest), ::Function, ::JuliaInterpreter.Frame, ::Vararg{Any,N} where N) at ./none:0
 [36] (::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64})() at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:113
 [37] hideprompt(::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64}) at /Users/UserName/.julia/packages/Atom/isnka/src/repl.jl:127
 [38] #47 at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:84 [inlined]
 [39] task_local_storage(::Atom.JunoDebugger.var"#47#50"{String,String,Bool,Int64}, ::Symbol, ::String) at ./task.jl:226
 [40] debug_file(::String, ::String, ::String, ::Bool, ::Int64) at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:83
 [41] debug_file(::String, ::String, ::String, ::Bool) at /Users/UserName/.julia/packages/Atom/isnka/src/debugger/stepper.jl:81
 [42] handlemsg(::Dict{String,Any}, ::String, ::Vararg{Any,N} where N) at /Users/UserName/.julia/packages/Atom/isnka/src/comm.jl:169
 [43] (::Atom.var"#31#33"{Array{Any,1}})() at ./task.jl:333

Looks like a bug in JuliaInterpreter.jl. Best action is to open an issue with code that reproduces the problem.

1 Like

Thanks! Opened an issue at https://github.com/JuliaDebug/JuliaInterpreter.jl/issues/417

2 Likes