Yes, it has been a long-standing issue with KernelFunctions.jl to get those distance computations implemented in a way that is performant, AD-friendly, and GPU-friendly. So for the last hours I’ve been trying to rewrite them using broadcast.
And with this monkey patch put into the module SnoopCompileMWE above, the precompilation statement actually gives results as one would expect for x, y
of type Vector{Float64}
:
yields a quite nasty error (some parts skipped to make it fit the character limit, but you get the idea):
Summary
Internal error: encountered unexpected error in runtime:
BoundsError(a=Array{Core.Compiler.VarState, (56,)}[Core.Compiler.VarState(typ=Zygote.Pullback{Tuple{typeof(Distances._evaluate), Distances.SqEuclidean, Base.SubArray{Float64, 1, Array{Float64, 2}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}, LinearAlgebra.Adjoint{Float64, Base.SubArray{Float64, 1, Array{Float64, 2}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}}, Nothing}, Any}, undef=false), Core.Compiler.VarState(typ=Float64, undef=false), Core.Compiler.VarState(typ=Core.Const(val=nothing), undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=true), Core.Compiler.VarState(typ=Any, undef=false), Core.Compiler.VarState(typ=Any, undef=false), Core.Compiler.VarState(typ=Any, undef=false), Core.Compiler.VarState(typ=Any, undef=false), Core.Compiler.VarState(typ=Any, undef=false), Core.Compiler.VarState(typ=Any, undef=false)], i=(57,))
ijl_bounds_error_ints at /cache/build/default-amdci4-7/julialang/julia-release-1-dot-9/src/rtutils.c:194
setindex! at ./array.jl:969 [inlined]
stoverwrite1! at ./compiler/typelattice.jl:599
typeinf_local at ./compiler/abstractinterpretation.jl:2742
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call_known at ./compiler/abstractinterpretation.jl:1916
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_apply at ./compiler/abstractinterpretation.jl:1545
abstract_call_known at ./compiler/abstractinterpretation.jl:1830
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call_known at ./compiler/abstractinterpretation.jl:1916
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call_known at ./compiler/abstractinterpretation.jl:1916
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2536
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call_known at ./compiler/abstractinterpretation.jl:1916
abstract_call at ./compiler/abstractinterpretation.jl:1987
jfptr_abstract_call_13817.clone_1 at /home/simone_a/.julia/juliaup/julia-1.9.0-beta3+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-7/julialang/julia-release-1-dot-9/src/gf.c:2681 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-7/julialang/julia-release-1-dot-9/src/gf.c:2863
return_type_tfunc at ./compiler/tfuncs.jl:2317
abstract_call_known at ./compiler/abstractinterpretation.jl:1867
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2536
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call_known at ./compiler/abstractinterpretation.jl:1916
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call_known at ./compiler/abstractinterpretation.jl:1916
abstract_call at ./compiler/abstractinterpretation.jl:1987
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2536
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2536
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_edge at ./compiler/typeinfer.jl:947
abstract_call_method at ./compiler/abstractinterpretation.jl:609
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:153
abstract_call at ./compiler/abstractinterpretation.jl:1984
abstract_call at ./compiler/abstractinterpretation.jl:1966
abstract_eval_statement_expr at ./compiler/abstractinterpretation.jl:2133
abstract_eval_statement at ./compiler/abstractinterpretation.jl:2347
abstract_eval_basic_statement at ./compiler/abstractinterpretation.jl:2560
typeinf_local at ./compiler/abstractinterpretation.jl:2735
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2841
_typeinf at ./compiler/typeinfer.jl:244
typeinf at ./compiler/typeinfer.jl:215
typeinf_ext at ./compiler/typeinfer.jl:1072
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1105
typeinf_ext_toplevel at ./compiler/typeinfer.jl:1101
jfptr_typeinf_ext_toplevel_16609.clone_1 at /home/simone_a/.julia/juliaup/julia-1.9.0-beta3+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
...
ERROR: BoundsError: attempt to access 56-element Vector{Core.Compiler.VarState} at index [57]
Stacktrace:
[1] setindex!
@ ./array.jl:969 [inlined]
[2] stoverwrite1!(state::Vector{Core.Compiler.VarState}, change::Core.Compiler.StateUpdate)
@ Core.Compiler ./compiler/typelattice.jl:599
[3] typeinf_local(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2742
[4] typeinf_nocycle(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2841
[5] _typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:244
[6] typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:215
[7] typeinf_edge(interp::Core.Compiler.NativeInterpreter, method::Method, atype::Any, sparams::Core.SimpleVector, caller::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:947
[8] abstract_call_method(interp::Core.Compiler.NativeInterpreter, method::Method, sig::Any, sparams::Core.SimpleVector, hardlimit::Bool, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:609
[9] abstract_call_gf_by_type(interp::Core.Compiler.NativeInterpreter, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, atype::Any, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:153
[10] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Nothing)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1984
[11] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1966
[12] abstract_eval_statement_expr(interp::Core.Compiler.NativeInterpreter, e::Expr, vtypes::Vector{Core.Compiler.VarState}, sv::Core.Compiler.InferenceState, mi::Nothing)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2133
[13] abstract_eval_statement(interp::Core.Compiler.NativeInterpreter, e::Any, vtypes::Vector{Core.Compiler.VarState}, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2347
[14] abstract_eval_basic_statement(interp::Core.Compiler.NativeInterpreter, stmt::Any, pc_vartable::Vector{Core.Compiler.VarState}, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2560
[15] typeinf_local(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2735
--- the last 12 lines are repeated 1 more time ---
[28] typeinf_nocycle(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2841
[29] _typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:244
[30] typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:215
[31] typeinf_edge(interp::Core.Compiler.NativeInterpreter, method::Method, atype::Any, sparams::Core.SimpleVector, caller::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:947
[32] abstract_call_method(interp::Core.Compiler.NativeInterpreter, method::Method, sig::Any, sparams::Core.SimpleVector, hardlimit::Bool, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:609
[33] abstract_call_gf_by_type(interp::Core.Compiler.NativeInterpreter, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, atype::Any, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:153
[34] abstract_call_known(interp::Core.Compiler.NativeInterpreter, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1916
[35] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1987
[36] abstract_apply(interp::Core.Compiler.NativeInterpreter, argtypes::Vector{Any}, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1545
[37] abstract_call_known(interp::Core.Compiler.NativeInterpreter, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1830
[38] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Nothing)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1987
[39] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1966
[40] abstract_eval_statement_expr(interp::Core.Compiler.NativeInterpreter, e::Expr, vtypes::Vector{Core.Compiler.VarState}, sv::Core.Compiler.InferenceState, mi::Nothing)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2133
[41] abstract_eval_statement(interp::Core.Compiler.NativeInterpreter, e::Any, vtypes::Vector{Core.Compiler.VarState}, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2347
[42] abstract_eval_basic_statement(interp::Core.Compiler.NativeInterpreter, stmt::Any, pc_vartable::Vector{Core.Compiler.VarState}, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2560
[43] typeinf_local(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2735
[44] typeinf_nocycle(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2841
[45] _typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:244
[46] typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:215
[47] typeinf_edge(interp::Core.Compiler.NativeInterpreter, method::Method, atype::Any, sparams::Core.SimpleVector, caller::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:947
[48] abstract_call_method(interp::Core.Compiler.NativeInterpreter, method::Method, sig::Any, sparams::Core.SimpleVector, hardlimit::Bool, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:609
[49] abstract_call_gf_by_type(interp::Core.Compiler.NativeInterpreter, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, atype::Any, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:153
[50] abstract_call_known(interp::Core.Compiler.NativeInterpreter, f::Any, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1916
--- the last 13 lines are repeated 1 more time ---
[64] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Nothing)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1987
[65] abstract_call(interp::Core.Compiler.NativeInterpreter, arginfo::Core.Compiler.ArgInfo, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:1966
[66] abstract_eval_statement_expr(interp::Core.Compiler.NativeInterpreter, e::Expr, vtypes::Vector{Core.Compiler.VarState}, sv::Core.Compiler.InferenceState, mi::Nothing)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2133
[67] abstract_eval_statement(interp::Core.Compiler.NativeInterpreter, e::Any, vtypes::Vector{Core.Compiler.VarState}, sv::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2347
[68] abstract_eval_basic_statement(interp::Core.Compiler.NativeInterpreter, stmt::Any, pc_vartable::Vector{Core.Compiler.VarState}, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2536
[69] typeinf_local(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2735
[70] typeinf_nocycle(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/abstractinterpretation.jl:2841
[71] _typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:244
[72] typeinf(interp::Core.Compiler.NativeInterpreter, frame::Core.Compiler.InferenceState)
@ Core.Compiler ./compiler/typeinfer.jl:215
[73] typeinf
@ ./compiler/typeinfer.jl:12 [inlined]
[74] typeinf_type(interp::Core.Compiler.NativeInterpreter, method::Method, atype::Any, sparams::Core.SimpleVector)
@ Core.Compiler ./compiler/typeinfer.jl:1094
[75] return_type(interp::Core.Compiler.NativeInterpreter, t::DataType)
@ Core.Compiler ./compiler/typeinfer.jl:1155
[76] return_type(f::Any, t::DataType)
@ Core.Compiler ./compiler/typeinfer.jl:1127
[77] collect(itr::Base.Generator)
@ Base ./array.jl:757
[78] map(::Function, ::Matrix{Tuple{Float64, typeof(∂(λ))}}, ::Matrix{Float64})
@ Base ./abstractarray.jl:3377
[79] (::Zygote.var"#∇broadcasted#943")(ȳ::Any)
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/lib/broadcast.jl:205
[80] (::Zygote.var"#3903#back#947")(Δ::Any)
@ Zygote ~/.julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:67
[81] (::Zygote.var"#208#209")(Δ::Any)
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/lib/lib.jl:206
[82] (::Zygote.var"#2084#back#210")(Δ::Any)
@ Zygote ~/.julia/packages/ZygoteRules/AIbCs/src/adjoint.jl:67
[83] Pullback
@ ./broadcast.jl:1317 [inlined]
[84] (::typeof(∂(broadcasted)))(Δ::Matrix{Float64})
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface2.jl:0
[85] Pullback
@ ~/Documents/projects/n/SnoopPrecompileMWE/src/SnoopPrecompileMWE.jl:14 [inlined]
[86] (::typeof(∂(kernelmatrix)))(Δ::FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}})
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface2.jl:0
[87] Pullback
@ ~/.julia/dev/KernelFunctions/src/kernels/scaledkernel.jl:29 [inlined]
[88] (::typeof(∂(kernelmatrix)))(Δ::FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}})
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface2.jl:0
[89] Pullback
@ ~/.julia/dev/KernelFunctions/src/kernels/transformedkernel.jl:117 [inlined]
[90] (::typeof(∂(kernelmatrix)))(Δ::FillArrays.Fill{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}})
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface2.jl:0
[91] Pullback
@ ~/Documents/projects/n/SnoopPrecompileMWE/src/SnoopPrecompileMWE.jl:47 [inlined]
[92] (::typeof(∂(λ)))(Δ::Float64)
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface2.jl:0
[93] (::Zygote.var"#60#61")(Δ::Any)
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface.jl:45
[94] gradient(f::Loss{RowVecs{Float64, Matrix{Float64}, SubArray{Float64, 1, Matrix{Float64}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}}, RowVecs{Float64, Matrix{Float64}, SubArray{Float64, 1, Matrix{Float64}, Tuple{Int64, Base.Slice{Base.OneTo{Int64}}}, true}}}, args::NamedTuple{(:variance, :lengthscale), Tuple{Float64, Float64}})
@ Zygote ~/.julia/packages/Zygote/g2w9o/src/compiler/interface.jl:97
...