Skip to content

Error when trying to showerror: TypeError: in specializations, expected DataType, got Type{Union{}} #372

@akriegman

Description

@akriegman

I got the following error. It looks like it's an error with the debugger itself, that happened when it was trying to show an error with my program.

ERROR: TypeError: in specializations, expected DataType, got Type{Union{}}
Stacktrace:
  [1] #specialize_method#317
    @ ./compiler/utilities.jl:224 [inlined]
  [2] specialize_method
    @ ./compiler/utilities.jl:212 [inlined]
  [3] Base.StackTraces.StackFrame(frame::JuliaInterpreter.Frame)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/utils.jl:773
  [4] show_backtrace(io::IOContext{IOBuffer}, frame::JuliaInterpreter.Frame)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/utils.jl:792
  [5] showerror(io::IOContext{IOBuffer}, ex::TypeError, bt::JuliaInterpreter.Frame; backtrace::Bool)
    @ Base ./errorshow.jl:99
  [6] showerror
    @ ./errorshow.jl:95 [inlined]
  [7] display_error(io::IOContext{IOBuffer}, er::TypeError, frame::JuliaInterpreter.Frame)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/utils.jl:808
  [8] (::Debugger.var"#10#19"{REPL.LineEdit.Prompt, Debugger.DebuggerState})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/repl.jl:72
  [9] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [10] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [11] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.aarch64.apple.darwin14/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [12] run_interface
    @ ~/.julia/juliaup/julia-1.11.5+0.aarch64.apple.darwin14/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2749 [inlined]
 [13] RunDebugger(frame::JuliaInterpreter.Frame, repl::Nothing, terminal::Nothing; initial_continue::Bool)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/repl.jl:167
 [14] RunDebugger
    @ ~/.julia/packages/Debugger/wueAn/src/repl.jl:12 [inlined]
 [15] RunDebugger(frame::JuliaInterpreter.Frame)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/repl.jl:12
 [16] macro expansion
    @ ~/.julia/packages/Debugger/wueAn/src/Debugger.jl:127 [inlined]
 [17] top-level scope
    @ REPL[3]:1

caused by: TypeError: in specializations, expected DataType, got Type{Union{}}
Stacktrace:
  [1] #specialize_method#317
    @ ./compiler/utilities.jl:224 [inlined]
  [2] specialize_method
    @ ./compiler/utilities.jl:212 [inlined]
  [3] Base.StackTraces.StackFrame(frame::JuliaInterpreter.Frame)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/utils.jl:773
  [4] show_backtrace(io::IOContext{IOBuffer}, frame::JuliaInterpreter.Frame)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/utils.jl:792
  [5] showerror(io::IOContext{IOBuffer}, ex::BoundsError, bt::JuliaInterpreter.Frame; backtrace::Bool)
    @ Base ./errorshow.jl:99
  [6] showerror
    @ ./errorshow.jl:95 [inlined]
  [7] display_error(io::IOContext{IOBuffer}, er::BoundsError, frame::JuliaInterpreter.Frame)
    @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/utils.jl:808
  [8] show_breakpoint(io::Base.TTY, bp::JuliaInterpreter.BreakpointRef, state::Debugger.DebuggerState)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/commands.jl:22
  [9] execute_command(state::Debugger.DebuggerState, v::Val{:c}, cmd::SubString{String})
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/commands.jl:56
 [10] (::Debugger.var"#10#19"{REPL.LineEdit.Prompt, Debugger.DebuggerState})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/repl.jl:64
 [11] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [12] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [13] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.aarch64.apple.darwin14/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [14] run_interface
    @ ~/.julia/juliaup/julia-1.11.5+0.aarch64.apple.darwin14/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2749 [inlined]
 [15] RunDebugger(frame::JuliaInterpreter.Frame, repl::Nothing, terminal::Nothing; initial_continue::Bool)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/repl.jl:167
 [16] RunDebugger
    @ ~/.julia/packages/Debugger/wueAn/src/repl.jl:12 [inlined]
 [17] RunDebugger(frame::JuliaInterpreter.Frame)
    @ Debugger ~/.julia/packages/Debugger/wueAn/src/repl.jl:12
 [18] macro expansion
    @ ~/.julia/packages/Debugger/wueAn/src/Debugger.jl:127 [inlined]
 [19] top-level scope
    @ REPL[3]:1

I tried to debug the debugger with @run @run ... but it just gave me a different error:

Breaking for error:
ERROR: ArgumentError: _deleteend! requires delta in 0:length(a)
Stacktrace:
 [1] _deleteend!(a::Vector{JuliaInterpreter.FrameData}, delta::Int64)
   @ Base array.jl:1204
 [2] empty!(a::Vector{JuliaInterpreter.FrameData})
   @ Base array.jl:2029
 [3] clear_caches()
   @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/construct.jl:59
 [4] enter_call_expr(expr::Expr; enter_generated::Bool)
   @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/construct.jl:630
 [5] enter_call_expr(expr::Expr)
   @ JuliaInterpreter ~/.julia/packages/JuliaInterpreter/ZNccU/src/construct.jl:629
 [6] var"##thunk#270"()
   @ Main ~/.julia/packages/Debugger/wueAn/src/Debugger.jl:91

In _deleteend!(a, delta) at array.jl:1201
 1201  function _deleteend!(a::Vector, delta::Integer)
 1202      delta = Int(delta)
 1203      len = length(a)
>1204      0 <= delta <= len || throw(ArgumentError("_deleteend! requires delta in 0:length(a)"))
 1205      newlen = len - delta
 1206      for i in newlen+1:len
 1207          @inbounds _unsetindex!(a, i)
 1208      end

About to run: throw(ArgumentError("_deleteend! requires delta in 0:length(a)"))
1|debug> bt
[1] _deleteend!(a, delta) at array.jl:1204
  | a::Vector{JuliaInterpreter.FrameData} = <JuliaInterpreter.FrameData[JuliaInterpreter.FrameData(Union{Nothing, Some{Any}}[Some(Core.toInt64), S...>
  | delta::Int64 = 29
  | len::Int64 = 28
  | ::Bool = false
[2] empty!(a) at array.jl:2029
  | a::Vector{JuliaInterpreter.FrameData} = <JuliaInterpreter.FrameData[JuliaInterpreter.FrameData(Union{Nothing, Some{Any}}[Some(Core.toInt64), S...>
[3] clear_caches() at /Users/akriegma/.julia/packages/JuliaInterpreter/ZNccU/src/construct.jl:59
[4] #enter_call_expr#46(enter_generated, , expr) at /Users/akriegma/.julia/packages/JuliaInterpreter/ZNccU/src/construct.jl:630
  | enter_generated::Bool = false
  | ::typeof(JuliaInterpreter.enter_call_expr) = JuliaInterpreter.enter_call_expr
  | expr::Expr = <:((VM(Float32[-0.06815089 0.027055124 0.046305846 -0.02320608 0.0076302057 -0.035288677 0.073490456 -...>
[5] enter_call_expr(expr) at /Users/akriegma/.julia/packages/JuliaInterpreter/ZNccU/src/construct.jl:629
  | expr::Expr = <:((VM(Float32[-0.06815089 0.027055124 0.046305846 -0.02320608 0.0076302057 -0.035288677 0.073490456 -...>
[6] ##thunk#270() at REPL[4]:91
  | theargs::Tuple{VM, Matrix{Float64}} = <(VM(Float32[-0.06815089 0.027055124 0.046305846 -0.02320608 0.0076302057 -0.035288677 0.073490456 -0....>

So with that being the state of things I'm not sure how to gather more information about this error.

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