JunoLab / Juno.jl

MIT License
144 stars 23 forks source link

Error when using RCall from Atom #637

Open MilenitaR opened 3 years ago

MilenitaR commented 3 years ago

A cordial greeting.

I am trying to use Julia in Atom, thanks to Juno (Atom) package.

I have the following code:

using RCall

R "" "
var <- c (1,2,3,4,5)
"" "

var_r = R "var"

print (typeof (var_r))

On Julia's console it runs fine.

julia> using RCall

julia> R "" "
        var <- c (1,2,3,4,5)
        "" "
RObject {RealSxp}
[1] 1 2 3 4 5

julia> var_r = R "var"
RObject {RealSxp}
[1] 1 2 3 4 5

julia> print (typeof (var_r))
RObject {RealSxp}

But when trying to run it from Atom, the following error appears ...

ERROR: MethodError: no method matching iterate(::Type{Ptr{RCall.SxpHead}})
Closest candidates are:
  iterate(::Core.SimpleVector) at essentials.jl:603
  iterate(::Core.SimpleVector, ::Any) at essentials.jl:603
  iterate(::ExponentialBackOff) at error.jl:253
  ...
Stacktrace:
 [1] iterate at ./generator.jl:44 [inlined]
 [2] collect(::Base.Generator{DataType,JuliaInterpreter.var"#56#57"{JuliaInterpreter.FrameData,UnionAll}}) at ./array.jl:665
 [3] map(::Function, ::Type{T} where T) at ./abstractarray.jl:2098
 [4] evaluate_foreigncall(::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:162
 [5] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:402
 [6] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:459
 [7] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [8] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [9] finish_and_return! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30 [inlined]
 [10] evaluate_call_recurse!(::Any, ::JuliaInterpreter.Frame, ::Expr; enter_generated::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:240
 [11] evaluate_call_recurse! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:201 [inlined]
 [12] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:400
 [13] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:546
 ... (the last 7 lines are repeated 3 more times)
 [35] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [36] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [37] finish_and_return! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30 [inlined]
 [38] evaluate_call_recurse!(::Any, ::JuliaInterpreter.Frame, ::Expr; enter_generated::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:240
 [39] evaluate_call_recurse! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:201 [inlined]
 [40] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:400
 [41] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:541
 [42] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [43] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [44] finish_and_return!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30
 [45] finish_stack!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:60
 [46] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool; line::Nothing) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:474
 [47] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:416
 [48] (::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool})() at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:159
 [49] evalscope(::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool}) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:392
 [50] startdebugging(::JuliaInterpreter.Frame, ::Bool; istoplevel::Bool, toggle_ui::Bool) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:157
 [51] (::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:715
 [52] #invokelatest#1 at ./essentials.jl:716 [inlined]
 [53] (::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64})() at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:119
 [54] hideprompt(::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64}) at /home/mile/.julia/packages/Atom/BPtI0/src/repl.jl:127
 [55] #47 at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:84 [inlined]
 [56] task_local_storage(::Atom.JunoDebugger.var"#47#50"{String,String,Bool,Int64}, ::Symbol, ::String) at ./task.jl:226
 [57] debug_file(::String, ::String, ::String, ::Bool, ::Int64) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:83
 [58] debug_file(::String, ::String, ::String, ::Bool) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:81
 [59] handlemsg(::Dict{String,Any}, ::String, ::Vararg{Any,N} where N) at /home/mile/.julia/packages/Atom/BPtI0/src/comm.jl:169
ERROR: MethodError: no method matching iterate(::Type{Ptr{RCall.SxpHead}})
Closest candidates are:
  iterate(::Core.SimpleVector) at essentials.jl:603
  iterate(::Core.SimpleVector, ::Any) at essentials.jl:603
  iterate(::ExponentialBackOff) at error.jl:253
  ...
Stacktrace:
 [1] iterate at ./generator.jl:44 [inlined]
 [2] collect(::Base.Generator{DataType,JuliaInterpreter.var"#56#57"{JuliaInterpreter.FrameData,UnionAll}}) at ./array.jl:665
 [3] map(::Function, ::Type{T} where T) at ./abstractarray.jl:2098
 [4] evaluate_foreigncall(::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:162
 [5] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:402
 [6] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:459
 [7] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [8] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [9] finish_and_return! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30 [inlined]
 [10] evaluate_call_recurse!(::Any, ::JuliaInterpreter.Frame, ::Expr; enter_generated::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:240
 [11] evaluate_call_recurse! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:201 [inlined]
 [12] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:400
 [13] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:546
 ... (the last 7 lines are repeated 3 more times)
 [35] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [36] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [37] finish_and_return! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30 [inlined]
 [38] evaluate_call_recurse!(::Any, ::JuliaInterpreter.Frame, ::Expr; enter_generated::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:240
 [39] evaluate_call_recurse! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:201 [inlined]
 [40] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:400
 [41] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:541
 [42] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [43] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [44] finish_and_return!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30
 [45] finish_stack!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:60
 [46] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool; line::Nothing) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:474
 [47] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:416
 [48] (::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool})() at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:159
 [49] evalscope(::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool}) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:392
 [50] startdebugging(::JuliaInterpreter.Frame, ::Bool; istoplevel::Bool, toggle_ui::Bool) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:157
 [51] (::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:715
 [52] #invokelatest#1 at ./essentials.jl:716 [inlined]
 [53] (::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64})() at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:119
 [54] hideprompt(::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64}) at /home/mile/.julia/packages/Atom/BPtI0/src/repl.jl:127
 [55] #47 at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:84 [inlined]
 [56] task_local_storage(::Atom.JunoDebugger.var"#47#50"{String,String,Bool,Int64}, ::Symbol, ::String) at ./task.jl:226
 [57] debug_file(::String, ::String, ::String, ::Bool, ::Int64) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:83
 [58] debug_file(::String, ::String, ::String, ::Bool) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:81
 [59] handlemsg(::Dict{String,Any}, ::String, ::Vararg{Any,N} where N) at /home/mile/.julia/packages/Atom/BPtI0/src/comm.jl:169
ERROR: UndefVarError: var_r not defined
Stacktrace:
 [1] macro expansion at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:60 [inlined]
 [2] maybe_evaluate_builtin(::JuliaInterpreter.Frame, ::Expr, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/builtins.jl:239
 [3] evaluate_call_recurse!(::Any, ::JuliaInterpreter.Frame, ::Expr; enter_generated::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:204
 [4] evaluate_call_recurse! at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:201 [inlined]
 [5] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:400
 [6] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:541
 [7] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/interpret.jl:596
 [8] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:14
 [9] finish_and_return!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:30
 [10] finish_stack!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:60
 [11] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool; line::Nothing) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:474
 [12] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /home/mile/.julia/packages/JuliaInterpreter/kFbUU/src/commands.jl:416
 [13] (::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool})() at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:159
 [14] evalscope(::Atom.JunoDebugger.var"#54#56"{Bool,Bool,Bool}) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:392
 [15] startdebugging(::JuliaInterpreter.Frame, ::Bool; istoplevel::Bool, toggle_ui::Bool) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:157
 [16] (::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:715
 [17] #invokelatest#1 at ./essentials.jl:716 [inlined]
 [18] (::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64})() at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:119
 [19] hideprompt(::Atom.JunoDebugger.var"#48#51"{String,String,Bool,Int64}) at /home/mile/.julia/packages/Atom/BPtI0/src/repl.jl:127
 [20] #47 at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:84 [inlined]
 [21] task_local_storage(::Atom.JunoDebugger.var"#47#50"{String,String,Bool,Int64}, ::Symbol, ::String) at ./task.jl:226
 [22] debug_file(::String, ::String, ::String, ::Bool, ::Int64) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:83
 [23] debug_file(::String, ::String, ::String, ::Bool) at /home/mile/.julia/packages/Atom/BPtI0/src/debugger/stepper.jl:81
 [24] handlemsg(::Dict{String,Any}, ::String, ::Vararg{Any,N} where N) at /home/mile/.julia/packages/Atom/BPtI0/src/comm.jl:169
 [25] (::Atom.var"#31#33"{Array{Any,1}})() at ./task.jl:358

What is this error due to? I've reinstalled everything from Julia, to R, to Atom and its packages ...

If you know why this error is due, could you do me a favor to help me solve it ... Thank you very much.