Skip to content

Does not work in julia 1.11.5 #76

@Liozou

Description

@Liozou

This is a very nice package, thank you for developing it! Unfortunately it seems not to work if the client uses Julia 1.11.5. For example, after opening a server (using Julia 1.11.5) serving on port 12121, there is no issue if the client is on Julia v1.11.4:

julia> VERSION
v"1.11.4"

julia> using RemoteREPL

julia> connect_repl(12121)
[ Info: Using session id 20ade862-1cc6-40d7-83ca-c09254de176b
REPL mode remote_repl initialized. Press > to enter and backspace to exit.
"Prompt(\"julia@localhost:12121> \",...)"

julia@localhost:12121> 1+5
6

However, if the client is on Julia v1.11.5 it crashes with an illegible stacktrace, because the REPL throws an error while trying to show the error...

julia> VERSION
v"1.11.5"

julia> using RemoteREPL

julia> connect_repl(12121)
[ Info: Using session id 8de7c9f9-30c3-432d-b712-ad13a1dcf628
REPL mode remote_repl initialized. Press > to enter and backspace to exit.
"Prompt(\"julia@localhost:12121> \",...)"

julia@localhost:12121> 1 + 3

SYSTEM (REPL): showing an error caused an error
ERROR: MethodError: no method matching stacktrace(::MethodError)
The function `stacktrace` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  stacktrace(::Bool)
   @ Base stacktraces.jl:174
  stacktrace()
   @ Base stacktraces.jl:174
  stacktrace(::Vector{<:Union{Ptr{Nothing}, Base.InterpreterIP, Core.Compiler.InterpreterIP}}, ::Bool)
   @ Base stacktraces.jl:161
  ...

Stacktrace:
  [1] scrub_repl_backtrace(bt::MethodError)
    @ Base ./client.jl:101
  [2] print_response(errio::IO, response::Any, backend::Union{Nothing, REPL.REPLBackendRef}, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:429
  [3] (::REPL.var"#70#71"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:405
  [4] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:678
  [5] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:403
  [6] (::REPL.var"#do_respond#100"{Bool, Bool, RemoteREPL.var"#56#58"{Base.TTY, RemoteREPL.Connection}, REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1035
  [7] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
  [8] invokelatest
    @ ./essentials.jl:1052 [inlined]
  [9] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [10] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [11] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

In both cases I am using RemoteREPL.jl v0.3.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions