Error when trying to showerror: TypeError: in specializations, expected DataType, got Type{Union{}}
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia riproducendo lo scenario annidato @run segnalato e ispeziona gli stack trace in JuliaInterpreter/src/utils.jl e src/construct.jl. Poi segui i percorsi del debugger in Debugger/src/repl.jl e src/commands.jl. Il lavoro è completato quando la visualizzazione dell'errore originale e la cancellazione delle cache dell'interprete non producono più TypeErrors secondari né errori di _deleteend!.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Julia
- Stelle
- 515
- Fork
- 50
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaDebug/Debugger.jl
-
tagbot-manual
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaDebug/Debugger.jl#410 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
JuliaDebug/Debugger.jl#423 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
JuliaDebug/Debugger.jl#422 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
JuliaDebug/Debugger.jl#418 · 1 commento ·
-
Syntax highlighting warningAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
JuliaDebug/Debugger.jl#417 · 1 commento ·
Tutte le issue di JuliaDebug/Debugger.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaDebug/Cthulhu.jl#716 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Review dependenciesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
rafaqz/DimensionalData.jl#1253 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
osrep/Runes2P.jl#283 ·
I maintainer di solito rispondono entro 1 giorno