Skip to content

"showing an error caused an error" when including files #517

Closed
@fredcallaway

Description

@fredcallaway

I find that any error that results from an include call itself causes an error.

Simplest example is to include a file that doesn't exist. We get a similar thing when including a file that throws an error.

julia> include("missing_file.jl")                                                                             
ERROR: SystemError: opening file "/Users/fred/missing_file.jl": No such file or directory
SYSTEM (REPL): showing an error caused an error
ERROR: BoundsError: attempt to access 16-element BitVector at index [0:5]
Stacktrace
Stacktrace:
  [1] throw_boundserror(A::BitVector, I::Tuple{UnitRange{Int64}})
    @ Base ~/lib/precompile-julia/sysimage.so:-1
  [2] _simplify_include_frames(trace::Vector{Any})
    @ Base ~/lib/precompile-julia/sysimage.so:-1
  [3] process_backtrace(t::Vector{Base.StackTraces.StackFrame}, limit::Int64; skipC::Bool)
    @ Base ~/lib/precompile-julia/sysimage.so:-1
  [4] show_backtrace(io::IOContext{Base.TTY}, t::Vector{Base.StackTraces.StackFrame})
    @ Base ~/lib/precompile-julia/sysimage.so:-1
  [5] showerror(io::IOContext{Base.TTY}, ex::SystemError, bt::Vector{Base.StackTraces.StackFrame}; backtrace::Bool)
    @ Base ./errorshow.jl:90
  [6] show_exception_stack(io::IOContext{Base.TTY}, stack::Vector{Any})
    @ Base ~/lib/precompile-julia/sysimage.so:-1
  [7] display_error(io::IOContext{Base.TTY}, stack::Vector{Any})
    @ Base ~/lib/precompile-julia/sysimage.so:-1
  [8] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay})
    @ REPL ~/lib/precompile-julia/sysimage.so:-1
  [9] (::REPL.var"#40#41"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any)
    @ REPL ~/lib/precompile-julia/sysimage.so:-1
 [10] with_repl_linfo(f::Any, repl::REPL.LineEditREPL)
    @ REPL ~/lib/precompile-julia/sysimage.so:-1
 [11] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool)
    @ REPL ~/lib/precompile-julia/sysimage.so:-1
 [12] (::REPL.var"#do_respond#61"{Bool, Bool, REPL.var"#72#82"{REPL.LineEditREPL, REPL.REPLHistoryProvider}, REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL ~/lib/precompile-julia/sysimage.so:-1
 [13] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/lib/precompile-julia/sysimage.so:-1
 [14] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/lib/precompile-julia/sysimage.so:-1
 [15] (::REPL.var"#44#49"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/lib/precompile-julia/sysimage.so:-1

I don't know exactly when this started happening, but I'd guess it's related to the new stack trace format (introduced in 1.6 I think?)

I'm using v1.2.6 with a fresh precompiled image (including only the Distributions.jl package)

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