junolab / traceur.jl Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
As seen on PkgEval
Internal error: encountered unexpected error in runtime:
AssertionError(msg="argextype only works on argument-position values")
Since this seems like a package issue (Cassette generating invalid IR) I'm going to disable testing of Traceur on PkgEval for now, but it'd be good to fix this of course. Please ping me when that happens so that I can re-enable testing for this packages.
The below code works fine on Julia 1.5, but gives an error on the latest Julia master.
Code:
julia> import InteractiveUtils
julia> InteractiveUtils.versioninfo(; verbose = true)
Julia Version 1.6.0-DEV.646
Commit d47f7d0827 (2020-08-15 10:34 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin19.6.0)
uname: Darwin 19.6.0 Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020; root:xnu-6153.141.1~1/RELEASE_X86_64 x86_64 i386
CPU: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz:
speed user nice sys idle irq
#1 2600 MHz 42521 s 0 s 16711 s 212873 s 0 s
#2 2600 MHz 13730 s 0 s 5743 s 252625 s 0 s
#3 2600 MHz 49955 s 0 s 13417 s 208726 s 0 s
#4 2600 MHz 12401 s 0 s 5100 s 254597 s 0 s
Memory: 8.0 GB (1156.25 MB free)
Uptime: 30906.0 sec
Load Avg: 1.98486328125 2.29150390625 2.04931640625
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-9.0.1 (ORCJIT, haswell)
Environment:
TERM = xterm-256color
PATH = /Users/dilum/.cargo/bin:/Users/dilum/.cargo/bin:/Users/dilum/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/Library/Apple/usr/bin
XPC_FLAGS = 0x0
HOME = /Users/dilum
julia> import GZip
julia> import Random
julia> import Traceur
julia> @inline function foo(output_filename::AbstractString)
GZip.open(output_filename, "w") do output_io
println(output_io, join(["X1", "X2"], "\t"))
for i = 1:100_000
cols = [
Random.randstring(16),
Random.randstring(16),
]
line = join(cols, "\t")
println(output_io, line)
end
end
return output_filename
end
foo (generic function with 1 method)
julia> @inline function bar()
b = Set{String}()
for i = 1:10_000
push!(b, Random.randstring(16))
end
return b
end
bar (generic function with 1 method)
julia> @inline function baz(input_filename::AbstractString,
b::AbstractSet{<:AbstractString};
preallocate::Integer = 1_000_000)
temp = BitVector(undef, preallocate)
input_line_counter = 0
GZip.open(input_filename) do input_io
for line in eachline(input_io)
input_line_counter += 1
cols = split(line, "\t")
snp_col = cols[2]
if input_line_counter != 1
temp[input_line_counter] = snp_col in b
else
end
end
end
result = findall(temp[1:input_line_counter])::Vector{Int}
return result
end
baz (generic function with 1 method)
julia> foo("foo.gz")
"foo.gz"
julia> baz("foo.gz", bar())
Int64[]
julia> Traceur.@trace baz("foo.gz", bar())
Internal error: encountered unexpected error in runtime:
BoundsError(a=Array{Any, (0,)}[], i=(1,))
jl_bounds_error_ints at /Users/dilum/dev/repos/aluthge-forks/julia/src/rtutils.c:183
getindex at ./array.jl:809
jfptr_getindex_8179 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
ssa_substitute_op! at ./compiler/ssair/inlining.jl:1318
ssa_substitute_op! at ./compiler/ssair/inlining.jl:1351
ssa_substitute! at ./compiler/ssair/inlining.jl:1306 [inlined]
ir_inline_item! at ./compiler/ssair/inlining.jl:338
batch_inline! at ./compiler/ssair/inlining.jl:553
ssa_inlining_pass! at ./compiler/ssair/inlining.jl:77 [inlined]
run_passes at ./compiler/ssair/driver.jl:127
optimize at ./compiler/optimize.jl:172
typeinf at ./compiler/typeinfer.jl:35
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
jfptr_typeinf_edge_7514 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
invoke_tfunc at ./compiler/tfuncs.jl:1246
builtin_tfunction at ./compiler/tfuncs.jl:1436
abstract_call_builtin at ./compiler/abstractinterpretation.jl:794
unknown function (ip: 0x12349ad13)
abstract_call_known at ./compiler/abstractinterpretation.jl:924
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_apply at ./compiler/abstractinterpretation.jl:714
abstract_call_known at ./compiler/abstractinterpretation.jl:922
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:536
abstract_call_method at ./compiler/abstractinterpretation.jl:465
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:129
abstract_call_known at ./compiler/abstractinterpretation.jl:1003
abstract_call at ./compiler/abstractinterpretation.jl:1026
abstract_call at ./compiler/abstractinterpretation.jl:1010
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1132
typeinf_local at ./compiler/abstractinterpretation.jl:1388
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1444
typeinf at ./compiler/typeinfer.jl:12
typeinf_ext at ./compiler/typeinfer.jl:623
typeinf_ext_toplevel at ./compiler/typeinfer.jl:656
typeinf_ext_toplevel at ./compiler/typeinfer.jl:652
jfptr_typeinf_ext_toplevel_12048 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
jl_apply at /Users/dilum/dev/repos/aluthge-forks/julia/src/./julia.h:1752 [inlined]
jl_type_infer at /Users/dilum/dev/repos/aluthge-forks/julia/src/gf.c:300
jl_generate_fptr at /Users/dilum/dev/repos/aluthge-forks/julia/src/jitlayers.cpp:301
jl_compile_method_internal at /Users/dilum/dev/repos/aluthge-forks/julia/src/gf.c:1890
_jl_invoke at /Users/dilum/dev/repos/aluthge-forks/julia/src/gf.c:2145 [inlined]
jl_apply_generic at /Users/dilum/dev/repos/aluthge-forks/julia/src/gf.c:2336
#trace#20 at /Users/dilum/.julia/packages/Traceur/ajxdS/src/trace.jl:51
trace at /Users/dilum/.julia/packages/Traceur/ajxdS/src/trace.jl:51 [inlined]
#warntrace#21 at /Users/dilum/.julia/packages/Traceur/ajxdS/src/trace.jl:54 [inlined]
warntrace at /Users/dilum/.julia/packages/Traceur/ajxdS/src/trace.jl:54
jl_apply at /Users/dilum/dev/repos/aluthge-forks/julia/src/./julia.h:1752 [inlined]
do_call at /Users/dilum/dev/repos/aluthge-forks/julia/src/interpreter.c:117
eval_body at /Users/dilum/dev/repos/aluthge-forks/julia/src/interpreter.c:0
jl_interpret_toplevel_thunk at /Users/dilum/dev/repos/aluthge-forks/julia/src/interpreter.c:659
top-level scope at /Users/dilum/.julia/packages/Traceur/ajxdS/src/trace.jl:88
jl_toplevel_eval_flex at /Users/dilum/dev/repos/aluthge-forks/julia/src/toplevel.c:838
jl_toplevel_eval_flex at /Users/dilum/dev/repos/aluthge-forks/julia/src/toplevel.c:788
jl_toplevel_eval at /Users/dilum/dev/repos/aluthge-forks/julia/src/toplevel.c:847 [inlined]
jl_toplevel_eval_in at /Users/dilum/dev/repos/aluthge-forks/julia/src/toplevel.c:881
eval at ./boot.jl:344
eval_user_input at /Users/dilum/dev/repos/aluthge-forks/julia/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:134
repl_backend_loop at /Users/dilum/dev/repos/aluthge-forks/julia/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:195
start_repl_backend at /Users/dilum/dev/repos/aluthge-forks/julia/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:180
#run_repl#41 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:311
run_repl at /Users/dilum/dev/repos/aluthge-forks/julia/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:299
#840 at ./client.jl:386
jfptr_YY.840_41092 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
jl_apply at /Users/dilum/dev/repos/aluthge-forks/julia/src/./julia.h:1752 [inlined]
do_apply at /Users/dilum/dev/repos/aluthge-forks/julia/src/builtins.c:655
jl_f__apply at /Users/dilum/dev/repos/aluthge-forks/julia/src/builtins.c:669 [inlined]
jl_f__apply_latest at /Users/dilum/dev/repos/aluthge-forks/julia/src/builtins.c:705
#invokelatest#2 at ./essentials.jl:718 [inlined]
invokelatest at ./essentials.jl:717 [inlined]
run_main_repl at ./client.jl:371
exec_options at ./client.jl:301
_start at ./client.jl:484
jfptr__start_25300 at /Users/dilum/dev/repos/aluthge-forks/julia/usr/lib/julia/sys.dylib (unknown line)
true_main at /Users/dilum/bin/julia (unknown line)
main at /Users/dilum/bin/julia (unknown line)
ERROR: MethodError: no method matching unsafe_convert(::Type{Int64}, ::typeof(Core.cconvert))
Closest candidates are:
unsafe_convert(::Type{T}, ::T) where T at boot.jl:424
Stacktrace:
[1] call(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Function, ::Type, ::Function)
@ Cassette ~/.julia/packages/Cassette/158rp/src/context.jl:456
[2] fallback(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Function, ::Vararg{Any,N} where N)
@ Cassette ~/.julia/packages/Cassette/158rp/src/context.jl:454
[3] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::typeof(Core.unsafe_convert), ::Type{Int64}, ::typeof(Core.cconvert))
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:536
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Function, ::Type, ::Function)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[5] Array
@ ./boot.jl:433 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Type{Vector{UInt8}}, ::UndefInitializer, ::Int64)
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[7] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Type, ::UndefInitializer, ::Int64)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[8] Array
@ ./boot.jl:442 [inlined]
[9] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Type{Vector{UInt8}}, ::UndefInitializer, ::Tuple{Int64})
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[10] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Type, ::UndefInitializer, ::Tuple{Int64})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[11] zeros
@ ./array.jl:525 [inlined]
[12] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::typeof(zeros), ::Type{UInt8}, ::Tuple{Int64})
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[13] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Function, ::Type, ::Tuple{Int64})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[14] zeros
@ ./array.jl:521 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::typeof(zeros), ::Type{UInt8}, ::Int64)
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[16] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Function, ::Type, ::Int64)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[17] Dict
@ ./dict.jl:90 [inlined]
[18] overdub(overdub_context#256::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, overdub_arguments#257::Type{Dict{String,Nothing}})
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[19] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Type)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[20] Set
@ ./set.jl:6 [inlined]
[21] overdub(overdub_context#256::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, overdub_arguments#257::Type{Set{String}})
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[22] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Type)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[23] bar
@ ./REPL[7]:2 [inlined]
[24] overdub(overdub_context#256::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, overdub_arguments#257::typeof(bar))
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[25] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, ::Function)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[26] #6
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
[27] recurse(overdub_context#256::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#258",Nothing,Nothing}, overdub_arguments#257::var"#6#7")
@ Cassette ~/.julia/packages/Cassette/158rp/src/overdub.jl:0
[28] trace(w::Function, f::Function; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51
[29] trace
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51 [inlined]
[30] #warntrace#21
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:54 [inlined]
[31] warntrace(f::Function)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:54
[32] top-level scope
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88
To edit a specific method, type the corresponding number into the REPL and press Ctrl+Q
Traceur + Zygote + nested differentiation = :(
I've tested this on Julia 1.2.0-rc2.0
and 1.3.0-alpha.0
.
Julia 1.2:
julia> using InteractiveUtils, Pkg
julia> InteractiveUtils.versioninfo()
Julia Version 1.2.0-rc2.0
Commit 9248bf7687 (2019-07-08 19:42 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.6.0)
CPU: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, haswell)
julia> Pkg.status()
Status `~/.julia/environments/v1.2/Project.toml`
[37b6cedf] Traceur v0.3.0
[e88e6eb3] Zygote v0.3.2
julia> using Traceur, Zygote
julia> g(x) = 7x^2 + 5x + 3
g (generic function with 1 method)
julia> g(10)
753
julia> g'(10)
145
julia> g''(10)
14
julia> @trace g(10)
753
julia> @trace g'(10)
┌ Warning: getindex returns Union{Val{2}, getfield(Zygote, Symbol("##118#back#86")){getfield(Zygote, Symbol("##84#85"))}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Int64, getfield(Zygote, Symbol("##1504#back#572")){getfield(Zygote, Symbol("##570#571")){Int64,Int64}}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Int64, typeof(∂(literal_pow))}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Int64, getfield(Zygote, Symbol("##1708#back#642")){getfield(Zygote, Symbol("##638#640")){Tuple{Int64,Int64,Int64}}}}
└ @ tuple.jl:24
┌ Warning: getindex returns Any
└ @ tuple.jl:24
145
julia> @trace g''(10)
┌ Warning: getindex returns Union{typeof(g), getfield(Zygote, Symbol("##251#back#144")){getfield(Zygote, Symbol("#back#143")){:f,Zygote.Context,getfield(Zygote, Symbol("##34#35")){typeof(g)},typeof(g)}}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Tuple{typeof(g)}, getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{typeof(∂(Zygote.Context)), Zygote.Context}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}, Tuple{Zygote.Context,typeof(g)}}
└ @ tuple.jl:24
┌ Warning: dynamic dispatch to (Core.apply_type(Base.Val, x))()
└ @ essentials.jl:-1
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##190#back#111")){getfield(Zygote, Symbol("##107#109")){1,1}}, Int64}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}, Tuple{Zygote.Context,DataType}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Val{2}, getfield(Zygote, Symbol("##238#back#137")){getfield(Zygote, Symbol("##135#136")){getfield(Zygote, Symbol("##118#back#86")){getfield(Zygote, Symbol("##84#85"))},Tuple{Tuple{}}}}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##273#back#154")){Zygote.Jnew{getfield(Zygote, Symbol("##84#85")),Nothing,false}}, getfield(Zygote, Symbol("##84#85"))}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Tuple{Val{2},getfield(Zygote, Symbol("##84#85"))}, getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Tuple{}, Tuple{Zygote.Context,DataType}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{DataType, Zygote.Context}
└ @ tuple.jl:24
┌ Warning: dynamic dispatch to (Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2))
└ @ ~/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:-1
┌ Warning: dynamic dispatch to Base.indexed_iterate((Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2)), 1)
└ @ ~/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:-1
┌ Warning: dynamic dispatch to Base.indexed_iterate((Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2)), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2)), 1), 2))
└ @ ~/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:-1
┌ Warning: dynamic dispatch to (Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2))
└ @ ~/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:-1
┌ Warning: dynamic dispatch to Base.indexed_iterate((Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2)), 1)
└ @ ~/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:-1
┌ Warning: dynamic dispatch to Base.indexed_iterate((Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2)), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(__context__, Zygote.adjoint, (getfield)((getfield)(args, 1), 1), (getfield)((getfield)(args, 1), 2)), 1), 2))
└ @ ~/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:-1
┌ Warning: getindex returns Union{Tuple{Val{2},getfield(Zygote, Symbol("##84#85"))}, getfield(Zygote, Symbol("##238#back#137")){getfield(Zygote, Symbol("##135#136")){typeof(∂(adjoint)),Tuple{Tuple{Nothing,Nothing},Tuple{}}}}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Val{2}, getfield(Zygote, Symbol("##84#85"))}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("#back#119")){getfield(Zygote, Symbol("##190#back#111")){getfield(Zygote, Symbol("##107#109")){2,1}}}, Tuple{Val{2},Int64}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##190#back#111")){getfield(Zygote, Symbol("##107#109")){2,1}}, Core.Compiler.UseRef}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("#back#120")){getfield(Zygote, Symbol("##190#back#111")){getfield(Zygote, Symbol("##107#109")){2,2}}}, Tuple{getfield(Zygote, Symbol("##84#85")),Int64}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##273#back#154")){Zygote.Jnew{getfield(Zygote, Symbol("##118#back#86")){Core.Compiler.UseRef},Nothing,false}}, getfield(Zygote, Symbol("##118#back#86")){Core.Compiler.UseRef}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}, Tuple{Core.Compiler.UseRef,getfield(Zygote, Symbol("##118#back#86")){Core.Compiler.UseRef}}}
└ @ tuple.jl:24
┌ Warning: dynamic dispatch to (Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2})
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1)
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 2))
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}())
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1)
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 2)
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{1}())
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}())
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true))
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1)
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 2)
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}())
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: dynamic dispatch to Zygote.adjoint(ctx, Zygote.__new__, Core.apply_type(Zygote.:(##118#back#86), Core.typeof(Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 1, true))), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 1, true))
└ @ ~/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:-1
ERROR: ┌ Warning: dynamic dispatch to (typeof(∂(_forward)))(Base.tuple(Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{1}()), 2, true), %new(Core.apply_type(Zygote.:(##238#back#137), Core.typeof(%new(Core.apply_type(Zygote.:(##135#136), Core.typeof(Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 2)), 1)), Tuple{Tuple{Nothing,Nothing},Tuple{}}), Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 2)), 1), ((nothing, nothing), ())))), %new(CMethodError: no method matching literal_pow(::typeof(^), ::Int64, ::Core.Compiler.UseRef)
Closest candidates are:
literal_pow(::typeof(^), ::Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Complex{#s75} where #s75<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}, Rational{#s74} where #s74<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}}, ::Val{0}) at intfuncs.jl:242
literal_pow(::typeof(^), ::Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Complex{#s75} where #s75<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}, Rational{#s74} where #s74<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}}, ::Val{1}) at intfuncs.jl:243
literal_pow(::typeof(^), ::Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Complex{#s75} where #s75<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}, Rational{#s74} where #s74<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}}, ::Val{2}) at intfuncs.jl:244
...ore.apply_type(Zygote.:(##135#136), Core.typeof(Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 2)), 1)), Tuple{Tuple{Nothing,Nothing},Tuple{}}), Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 2, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 2)), 1), ((nothing, nothing), ()))), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_
Stacktrace:iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 2, true), %new(Core.apply_type(Zygote.:(##273#back#154), Core.typeof(Base.getfield(Zygote.adjoint(ctx, Zygote.__new__, Core.apply_type(Zygote.:(##118#back#86), Core.typeof(Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Z
ygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 1, true))), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 1, true)), 2))), Base.getfield(Zygote.adjoint(ctx, Zygote.__new__, Core.apply_type(Zygote.:(##118#back#86), Core.typeof(Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Va [1] l{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 1, true))), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 1), Val{1}()), 1, true)), 2)), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indecallxed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 2, true), Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 2), getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}(identity), getfield(Zygote, Symbol("##178#back#105")){typeof(identity)}(identity), Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{2}(), Base.getfield(Zygote._forward(ctx, Zygote.literal_getproperty, Base.getindex(Zygote._forward(ctx, Zygote.literal_indexed_iterate, Core.getfield(Base.indexed_iterate((Zygote._forward)(ctx, Zygote.adjoint, Base.getfield(args, 1), Val{2}), 1), 1), Val{1}()), 1), Val{2}()), 1, true)), 2)))
└ @ ~/.julia/packages/Zy at gote/fuj2C/src/compiler/interface2.jl:-1
┌ Warning: getindex returns Union{typeof(∂(_forward)), Tuple{Core.Compiler.UseRef,getfield(Zygote, Symbol("##118#back#86")){Core.Compiler.UseRef}}}
└ @ tuple.jl:24
┌ Warning: getindex returns Union{Core.Compiler.UseRef, getfield(Zygote, Symbol("##118#back#86")){Core.Compiler.UseRef}}
└ @ tuple.jl:24
/Users/dilum/.julia/packages/Cassette/IwsFs/src/context.jl:447┌ Warning: getindex returns Union{getfield(Zygote, Symbol("##190#back#111")){getfield(Zygote, Symbol("##107#109")){2,2}}, getfield(Zygote, Symbol("##118#back#86")){Core.Compiler.UseRef}}
└ @ tuple.jl:24
[inlined]
[2] fallback at /Users/dilum/.julia/packages/Cassette/IwsFs/src/context.jl:445 [inlined]
[3] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Base.literal_pow), ::typeof(^), ::Int64, ::Core.Compiler.UseRef) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:481
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Function, ::Int64, ::Core.Compiler.UseRef) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[5] macro expansion at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:0 [inlined]
[6] _forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:6 [inlined]
[7] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Base.literal_pow), ::typeof(^), ::Int64, ::Core.Compiler.UseRef) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[8] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Int64, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[9] overdub at /Users/dilum/.julia/packages/Cassette/IwsFs/src/context.jl:260 [inlined]
[10] adjoint at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:126 [inlined]
[11] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote.adjoint), ::Zygote.Context, ::typeof(Core._apply), ::typeof(Base.literal_pow), ::Tuple{typeof(^),Int64,Core.Compiler.UseRef}) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[12] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{typeof(^),Int64,Core.Compiler.UseRef}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[13] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Core._apply), ::typeof(Base.literal_pow), ::Tuple{typeof(^),Int64,Core.Compiler.UseRef}) at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:44
[14] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{typeof(^),Int64,Core.Compiler.UseRef}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[15] macro expansion at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:0 [inlined]
[16] _forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface2.jl:6 [inlined]
[17] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Base.literal_pow), ::typeof(^), ::Int64, ::Core.Compiler.UseRef) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[18] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Zygote.Context, ::Function, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[19] g at ./REPL[5]:1 [inlined]
[20] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[21] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Zygote.Context, ::Function, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[22] overdub at /Users/dilum/.julia/packages/Cassette/IwsFs/src/context.jl:260 [inlined]
[23] adjoint at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:126 [inlined]
[24] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote.adjoint), ::Zygote.Context, ::typeof(Core._apply), ::typeof(Zygote._forward), ::Tuple{Zygote.Context,typeof(g)}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[25] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{Zygote.Context,typeof(g)}, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[26] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Core._apply), ::typeof(Zygote._forward), ::Tuple{Zygote.Context,typeof(g)}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:44
[27] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{Zygote.Context,typeof(g)}, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[28] _forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:31 [inlined]
[29] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Zygote._forward), ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[30] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[31] overdub at /Users/dilum/.julia/packages/Cassette/IwsFs/src/context.jl:260 [inlined]
[32] adjoint at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:126 [inlined]
[33] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote.adjoint), ::Zygote.Context, ::typeof(Core._apply), ::typeof(Zygote._forward), ::Tuple{typeof(g)}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[34] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{typeof(g)}, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[35] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Core._apply), ::typeof(Zygote._forward), ::Tuple{typeof(g)}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:44
[36] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{typeof(g)}, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[37] forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:37 [inlined]
[38] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(forward), ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[39] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[40] overdub at /Users/dilum/.julia/packages/Cassette/IwsFs/src/context.jl:260 [inlined]
[41] adjoint at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/lib.jl:126 [inlined]
[42] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote.adjoint), ::Zygote.Context, ::typeof(Core._apply), ::typeof(forward), ::Tuple{typeof(g)}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[43] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{typeof(g)}, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[44] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(Core._apply), ::typeof(forward), ::Tuple{typeof(g)}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Zygote/fuj2C/src/lib/grad.jl:44
[45] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Tuple{typeof(g)}, ::Vararg{Any,N} where N) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[46] gradient at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:46 [inlined]
[47] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(gradient), ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[48] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Zygote.Context, ::Function, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[49] #34 at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:50 [inlined]
[50] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[51] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[52] _forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:31 [inlined]
[53] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(Zygote._forward), ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[54] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[55] forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:37 [inlined]
[56] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(forward), ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[57] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[58] gradient at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:46 [inlined]
[59] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::typeof(gradient), ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[60] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[61] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::getfield(Zygote, Symbol("##34#35")){getfield(Zygote, Symbol("##34#35")){typeof(g)}}, ::Int64) at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:50
[62] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[63] #7 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[64] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#373")),Nothing,Nothing}, ::getfield(Main, Symbol("##7#8"))) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[65] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[66] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[67] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
Julia 1.3:
julia> using InteractiveUtils, Pkg
julia> InteractiveUtils.versioninfo()
Julia Version 1.3.0-alpha.0
Commit 6c11e7c2c4 (2019-07-23 01:46 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.6.0)
CPU: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, haswell)
julia> Pkg.status()
Status `~/.julia/environments/v1.3/Project.toml`
[37b6cedf] Traceur v0.3.0
[e88e6eb3] Zygote v0.3.2
julia> using Traceur, Zygote
[ Info: Precompiling Traceur [37b6cedf-1f77-55f8-9503-c64b63398394]
[ Info: Precompiling Zygote [e88e6eb3-aa80-5325-afca-941959d7151f]
julia> g(x) = 7x^2 + 5x + 3
g (generic function with 1 method)
julia> g(10)
753
julia> g'(10)
145
julia> g''(10)
14
julia> @trace g(10)
753
julia> @trace g'(10)
ERROR: ERROR COMPILING (typeof(Zygote._forward), Zygote.Context, typeof(g), Int64) IN CONTEXT Cassette.Context{getfield(Traceur, Symbol("##TraceurCtx#Name")),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}:
AssertionError: code_info.edges === nothing
118-element Array{Base.StackTraces.StackFrame,1}:
reflect(::Tuple, ::UInt64) at overdub.jl:83
reflect at overdub.jl:46 [inlined]
__overdub_generator__(::Type, ::Type, ::NTuple{4,DataType}) at overdub.jl:497
(::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any,N} where N) at boot.jl:524
get_staged(::Core.MethodInstance) at utilities.jl:92
retrieve_code_info at utilities.jl:103 [inlined]
Core.Compiler.InferenceState(::Core.Compiler.InferenceResult, ::Bool, ::Core.Compiler.Params) at inferencestate.jl:113
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:482
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_ext(::Core.MethodInstance, ::Core.Compiler.Params) at typeinfer.jl:577
typeinf_ext(::Core.MethodInstance, ::UInt64) at typeinfer.jl:608
overdub(::Cassette.Context{getfield(Traceur, Symbol("##TraceurCtx#Name")),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::Function, ::Int64) at trace.jl:47
#5 at trace.jl:88 [inlined]
recurse(::Cassette.Context{getfield(Traceur, Symbol("##TraceurCtx#Name")),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::getfield(Main, Symbol("##5#6"))) at overdub.jl:0
#trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at trace.jl:51
#warntrace#21 at trace.jl:51 [inlined]
warntrace(::Function) at trace.jl:54
top-level scope at trace.jl:88
eval(::Module, ::Any) at boot.jl:330
eval_user_input(::Any, ::REPL.REPLBackend) at REPL.jl:86
macro expansion at REPL.jl:118 [inlined]
(::getfield(REPL, Symbol("##26#27")){REPL.REPLBackend})() at task.jl:292
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] macro expansion at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:507 [inlined]
[3] macro expansion at /Users/dilum/.julia/packages/Cassette/IwsFs/src/Cassette.jl:0 [inlined]
[4] overdub at /Users/dilum/.julia/packages/Cassette/IwsFs/src/Cassette.jl:11 [inlined]
[5] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[6] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[7] _forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:31 [inlined]
[8] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(Zygote._forward), ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[9] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[10] forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:37 [inlined]
[11] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(forward), ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[12] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[13] gradient at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:46 [inlined]
[14] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(gradient), ::typeof(g), ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[15] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[16] #34 at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:50 [inlined]
[17] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[18] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[19] #5 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[20] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::getfield(Main, Symbol("##5#6"))) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[21] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[22] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[23] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
[24] top-level scope at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88
julia> @trace g''(10)
ERROR: ERROR COMPILING (typeof(Zygote._forward), Zygote.Context, getfield(Zygote, Symbol("##34#35")){typeof(g)}, Int64) IN CONTEXT Cassette.Context{getfield(Traceur, Symbol("##TraceurCtx#Name")),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}:
AssertionError: code_info.edges === nothing
118-element Array{Base.StackTraces.StackFrame,1}:
reflect(::Tuple, ::UInt64) at overdub.jl:83
reflect at overdub.jl:46 [inlined]
__overdub_generator__(::Type, ::Type, ::NTuple{4,DataType}) at overdub.jl:497
(::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any,N} where N) at boot.jl:524
get_staged(::Core.MethodInstance) at utilities.jl:92
retrieve_code_info at utilities.jl:103 [inlined]
Core.Compiler.InferenceState(::Core.Compiler.InferenceResult, ::Bool, ::Core.Compiler.Params) at inferencestate.jl:113
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:482
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
invoke_tfunc(::Any, ::Any, ::Any, ::Core.Compiler.InferenceState) at tfuncs.jl:1144
builtin_tfunction(::Any, ::Array{Any,1}, ::Union{Nothing, Core.Compiler.InferenceState}, ::Core.Compiler.Params) at tfuncs.jl:1334
builtin_tfunction at tfuncs.jl:1283 [inlined]
abstract_call(::Any, ::Nothing, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:663
abstract_apply(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:581
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:637
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_edge(::Method, ::Any, ::Core.SimpleVector, ::Core.Compiler.InferenceState) at typeinfer.jl:491
abstract_call_method(::Method, ::Any, ::Core.SimpleVector, ::Bool, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:396
abstract_call_gf_by_type(::Any, ::Array{Any,1}, ::Any, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:93
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState, ::Int64) at abstractinterpretation.jl:846
abstract_call(::Any, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:636
abstract_eval_call(::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:875
abstract_eval(::Any, ::Array{Any,1}, ::Core.Compiler.InferenceState) at abstractinterpretation.jl:945
typeinf_local(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1202
typeinf_nocycle(::Core.Compiler.InferenceState) at abstractinterpretation.jl:1258
typeinf(::Core.Compiler.InferenceState) at typeinfer.jl:12
typeinf_ext(::Core.MethodInstance, ::Core.Compiler.Params) at typeinfer.jl:577
typeinf_ext(::Core.MethodInstance, ::UInt64) at typeinfer.jl:608
overdub(::Cassette.Context{getfield(Traceur, Symbol("##TraceurCtx#Name")),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::Function, ::Int64) at trace.jl:47
#7 at trace.jl:88 [inlined]
recurse(::Cassette.Context{getfield(Traceur, Symbol("##TraceurCtx#Name")),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::getfield(Main, Symbol("##7#8"))) at overdub.jl:0
#trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at trace.jl:51
#warntrace#21 at trace.jl:51 [inlined]
warntrace(::Function) at trace.jl:54
top-level scope at trace.jl:88
eval(::Module, ::Any) at boot.jl:330
eval_user_input(::Any, ::REPL.REPLBackend) at REPL.jl:86
macro expansion at REPL.jl:118 [inlined]
(::getfield(REPL, Symbol("##26#27")){REPL.REPLBackend})() at task.jl:292
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] macro expansion at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:507 [inlined]
[3] macro expansion at /Users/dilum/.julia/packages/Cassette/IwsFs/src/Cassette.jl:0 [inlined]
[4] overdub at /Users/dilum/.julia/packages/Cassette/IwsFs/src/Cassette.jl:11 [inlined]
[5] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(Zygote._forward), ::Zygote.Context, ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[6] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[7] _forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:31 [inlined]
[8] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(Zygote._forward), ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[9] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[10] forward at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:37 [inlined]
[11] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(forward), ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[12] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[13] gradient at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:46 [inlined]
[14] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::typeof(gradient), ::getfield(Zygote, Symbol("##34#35")){typeof(g)}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[15] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[16] #34 at /Users/dilum/.julia/packages/Zygote/fuj2C/src/compiler/interface.jl:50 [inlined]
[17] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::getfield(Zygote, Symbol("##34#35")){getfield(Zygote, Symbol("##34#35")){typeof(g)}}, ::Int64) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[18] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[19] #7 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[20] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#401")),Nothing,Nothing}, ::getfield(Main, Symbol("##7#8"))) at /Users/dilum/.julia/packages/Cassette/IwsFs/src/overdub.jl:0
[21] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[22] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[23] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
[24] top-level scope at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88
e.g. each warning should have a type and data, rather than being a string. We need this both for better display and to more declaratively test for presence/absence of warnings.
Traceur is substantially more useful for me when I use the modules
keyword from #24 , otherwise I'm flooded with warnings from Base and other modules I didn't develop. For example, @trace naive_sum([1.]) modules = [Main]
.
I think the default behavior should be to not show warnings from these modules. New users of Traceur aren't likely to know about the modules keyword, so their initial experience is currently not very good. Experienced users can provide whatever modules they like.
Options:
modules = [Main]
. For simple interactive use, this would be a big improvement. Package developers could manually list their packages.I've been looking for a way to list all available modules so I could compute a set difference of that minus Base + stdlib to be default argument, but I haven't found a way to list them.
If this does not exist, one option would be to add a second keyword argument, skipmodules = []
. The default could be skipmodules = [Base, (list stdlib here)]
. Traceur would skip any warnings from modules in skipmodules
.
The min_level
property is not part of a logger standard interface (found only as a keyword argument).
Using .min_level
caused an issue with Pluto custom logger ( fonsp/Pluto.jl#1038).
Perhaps one should use Logging.min_enabled_level() instead ?
I get this error:
julia> using Traceur
julia> a = 1
1
julia> @trace true && (a += 1)
ERROR: NullException()
Stacktrace:
[1] get at ./nullable.jl:92 [inlined]
[2] lookup_var(::ASTInterpreter2.JuliaStackFrame, ::SlotNumber) at /Users/james/.julia/v0.6/ASTInterpreter2/src/interpret.jl:5
[3] lookup_var_if_var at /Users/james/.julia/v0.6/ASTInterpreter2/src/ASTInterpreter2.jl:147 [inlined]
[4] lookup(::ASTInterpreter2.JuliaStackFrame, ::SlotNumber) at /Users/james/.julia/v0.6/Vinyl/src/interpret.jl:21
[5] macro expansion at ./broadcast.jl:232 [inlined]
[6] _broadcast!(::Vinyl.#lookup, ::Array{Base.#+,1}, ::Tuple{Tuple{},Tuple{Bool}}, ::Tuple{Tuple{},Tuple{Int64}}, ::Tuple{ASTInterpreter2.JuliaStackFrame,Array{Any,1}}, ::Type{Val{2}}, ::CartesianRange{CartesianIndex{1}}, ::CartesianIndex{1}, ::Int64) at ./broadcast.jl:219
[7] broadcast_t(::Function, ::Type{Any}, ::Tuple{Base.OneTo{Int64}}, ::CartesianRange{CartesianIndex{1}}, ::ASTInterpreter2.JuliaStackFrame, ::Array{Any,1}) at ./broadcast.jl:265
[8] broadcast_c at ./broadcast.jl:321 [inlined]
[9] broadcast(::Function, ::ASTInterpreter2.JuliaStackFrame, ::Array{Any,1}) at ./broadcast.jl:455
[10] callargs(::DebuggerFramework.DebuggerState) at /Users/james/.julia/v0.6/Vinyl/src/interpret.jl:29
[11] runall(::Traceur.Trace, ::DebuggerFramework.DebuggerState) at /Users/james/.julia/v0.6/Vinyl/src/interpret.jl:34
[12] overdub(::Traceur.Trace, ::Function) at /Users/james/.julia/v0.6/Vinyl/src/interpret.jl:53
[13] warntrace(::Function) at /Users/james/.julia/v0.6/Traceur/src/trace.jl:36
when using
Version 0.6.3-pre.0 (2017-12-18 07:11 UTC)
Commit 93168a6826* (80 days old release-0.6)
x86_64-apple-darwin17.4.0
I do not understand the following warnings, the variable names seems to be left out and is it really a problem if something is assigned as Nothing
or a Tuple
?
┌ Warning: is assigned as Tuple{Int64,Int64}
└ @ broadcast.jl:-1
┌ Warning: is assigned as Nothing
└ @ broadcast.jl:-1
┌ Warning: is assigne
Running @trace
on Cubature.jl
's hcubature
errors out, with error compiling ... in context Cassette.Context...
(full output below). This also happens when called in a module, even if I explicitly trace only the module:
module MyModule
using Cubature
export findout
findout() = hcubature(x -> x[1]^2, [-1, -1], [2, 1])
end
julia> using MyModule, Traceur
julia> @trace findout() modules=[MyModule]
ERROR ...
julia> @trace hcubature(x -> x[1]^2, [-1, -1], [2, 1])
┌ Warning: is assigned as Tuple{Int64, Int64}
└ @ array.jl:108
┌ Warning: is assigned as Union{Nothing, Tuple{Int64, Int64}}
└ @ array.jl:108
ERROR: ERROR COMPILING (typeof(Cubature.integrands), Cubature.IntegrandData{var"#20#22"}, Bool, Bool, Bool) IN CONTEXT Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}:
UndefVarError: spvals not defined
43-element Vector{Base.StackTraces.StackFrame}:
_partially_inline!(x::Any, slot_replacements::Vector{Any}, type_signature::Any, static_param_values::Vector{Any}, slot_offset::Int64, statement_offset::Int64, boundscheck::Symbol) at meta.jl:365
partially_inline!(code::Vector{Any}, slot_replacements::Vector{Any}, type_signature::Any, static_param_values::Vector{Any}, slot_offset::Int64, statement_offset::Int64, boundscheck::Symbol) at meta.jl:312
overdub_pass!(reflection::Cassette.Reflection, context_type::DataType, is_invoke::Bool) at overdub.jl:262
__overdub_generator__(self::Type, context_type::Type, args::NTuple{5, DataType}) at overdub.jl:594
(::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any, N} where N) at boot.jl:571
get_staged(li::Core.MethodInstance) at utilities.jl:111
retrieve_code_info at utilities.jl:122 [inlined]
Core.Compiler.InferenceState(result::Core.Compiler.InferenceResult, cached::Bool, interp::Core.Compiler.NativeInterpreter) at inferencestate.jl:131
typeinf_ext(interp::Core.Compiler.NativeInterpreter, mi::Core.MethodInstance) at typeinfer.jl:890
typeinf_ext_toplevel(interp::Core.Compiler.NativeInterpreter, linfo::Core.MethodInstance) at typeinfer.jl:925
typeinf_ext_toplevel(mi::Core.MethodInstance, world::UInt64) at typeinfer.jl:921
overdub(::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Function, ::Cubature.IntegrandData{var"#20#22"}, ::Bool, ::Bool, ::Bool) at trace.jl:47
overdub at Cubature.jl:165 [inlined]
overdub(::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(Cubature.cubature), ::Bool, ::Bool, ::Bool, ::Bool, ::Int64, ::var"#20#22", ::Vector{Int64}, ::Vector{Int64}, ::Float64, ::Int64, ::Int64, ::Int32) at overdub.jl:0
overdub(::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Function, ::Bool, ::Bool, ::Bool, ::Bool, ::Vararg{Any, N} where N) at trace.jl:47
var" at Cubature.jl:230 [inlined]
overdub at Cubature.jl:230 [inlined]
overdub(::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Cubature.var"##hcubature#22", ::Float64, ::Int64, ::Int64, ::typeof(hcubature), ::var"#20#22", ::Vector{Int64}, ::Vector{Int64}) at overdub.jl:0
overdub at trace.jl:47 [inlined]
hcubature(::var" at Cubature.jl:230 [inlined]
overdub at Cubature.jl:230 [inlined]
overdub(::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(hcubature), ::var"#20#22", ::Vector{Int64}, ::Vector{Int64}) at overdub.jl:0
overdub(::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Function, ::Function, ::Vector{Int64}, ::Vector{Int64}) at trace.jl:47
(::var" at trace.jl:88 [inlined]
recurse at trace.jl:88 [inlined]
recurse(overdub_context#257::Cassette.Context{Traceur.var"##TraceurCtx#Name", Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, overdub_arguments#258::var"#19#21") at overdub.jl:0
trace(w::Function, f::Function; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) at trace.jl:51
trace at trace.jl:51 [inlined]
#warntrace#21 at trace.jl:54 [inlined]
warntrace(f::Function) at trace.jl:54
top-level scope at trace.jl:88
eval at boot.jl:360 [inlined]
eval_user_input(ast::Any, backend::REPL.REPLBackend) at REPL.jl:139
repl_backend_loop(backend::REPL.REPLBackend) at REPL.jl:200
start_repl_backend(backend::REPL.REPLBackend, consumer::Any) at REPL.jl:185
run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool) at REPL.jl:317
run_repl(repl::REPL.AbstractREPL, consumer::Any) at REPL.jl:305
(::Base.var"#874#876"{Bool, Bool, Bool})(REPL::Module) at client.jl:387
#invokelatest#2 at essentials.jl:708 [inlined]
invokelatest at essentials.jl:706 [inlined]
run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool) at client.jl:372
exec_options(opts::Base.JLOptions) at client.jl:302
_start() at client.jl:485
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] macro expansion
@ ~/.julia/packages/Cassette/jxIEh/src/overdub.jl:602 [inlined]
[3] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(Cubature.integrands), ::Cubature.IntegrandData{var"#20#22"}, ::Bool, ::Bool, ::Bool)
@ Cassette ~/.julia/packages/Cassette/jxIEh/src/overdub.jl:654
[4] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Function, ::Cubature.IntegrandData{var"#20#22"}, ::Bool, ::Bool, ::Bool)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[5] overdub
@ ~/.julia/packages/Cubature/5zwuu/src/Cubature.jl:165 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(Cubature.cubature), ::Bool, ::Bool, ::Bool, ::Bool, ::Int64, ::var"#20#22", ::Vector{Int64}, ::Vector{Int64}, ::Float64, ::Int64, ::Int64, ::Int32)
@ Cassette ~/.julia/packages/Cassette/jxIEh/src/overdub.jl:0
[7] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Function, ::Bool, ::Bool, ::Bool, ::Bool, ::Vararg{Any, N} where N)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[8] var"
@ ~/.julia/packages/Cubature/5zwuu/src/Cubature.jl:230 [inlined]
[9] overdub
@ ~/.julia/packages/Cubature/5zwuu/src/Cubature.jl:230 [inlined]
[10] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Cubature.var"##hcubature#22", ::Float64, ::Int64, ::Int64, ::typeof(hcubature), ::var"#20#22", ::Vector{Int64}, ::Vector{Int64})
@ Cassette ~/.julia/packages/Cassette/jxIEh/src/overdub.jl:0
[11] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[12] hcubature(::var"
@ ~/.julia/packages/Cubature/5zwuu/src/Cubature.jl:230 [inlined]
[13] overdub
@ ~/.julia/packages/Cubature/5zwuu/src/Cubature.jl:230 [inlined]
[14] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(hcubature), ::var"#20#22", ::Vector{Int64}, ::Vector{Int64})
@ Cassette ~/.julia/packages/Cassette/jxIEh/src/overdub.jl:0
[15] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::Function, ::Function, ::Vector{Int64}, ::Vector{Int64})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[16] (::var"
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
[17] recurse
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
[18] recurse(overdub_context#257::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, overdub_arguments#258::var"#19#21")
@ Cassette ~/.julia/packages/Cassette/jxIEh/src/overdub.jl:0
[19] trace(w::Function, f::Function; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51
[20] trace
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51 [inlined]
[21] #warntrace#21
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:54 [inlined]
[22] warntrace(f::Function)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:54
[23] top-level scope
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88
System:
Julia v1.6
Traceur v0.3.1
Cubature v1.5.1
Cassette v0.3.5
If one defines a method, uses @trace
on that method and then redefines the method and runs @trace
on it again, it will give the output from the old method definition, not the new one. This seems to be a pretty major bug.
julia> using Traceur
julia> foo() = -10.0:10.0
foo (generic function with 1 method)
julia> foo()
-10.0:1.0:10.0
julia> @trace foo()
-10.0:1.0:10.0
julia> foo() = -10:10
foo (generic function with 1 method)
julia> foo()
-10:10
julia> @trace foo()
-10.0:1.0:10.0
This warning surprised me:
julia> struct Test
a::Int64
b::Float64
end
julia> f(t) = t.a
f (generic function with 1 method)
julia> @trace f(Test(1, 1.))
┌ Warning: getproperty returns Union{Float64, Int64}
└ @ sysimg.jl:18
1
Traceur appears to install correctly, and I see no error messages either when using
or when invoking the @trace
macro, but I also see no trace output, just the returned value of the function.
ASTInterpreter2 seems to be working normally.
[Thanks for developing Traceur! Looks great. Hope to get it working.]
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: https://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.6.3 (2018-05-28 20:20 UTC)
_/ |\__'_|_|_|\__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin14.5.0
julia> Pkg.status("Traceur")
- Traceur 0.1.1
julia> Pkg.status("ASTInterpreter2")
- ASTInterpreter2 0.1.1
julia> using Traceur
julia> f(n) = n < 0 ? 0 : n
f (generic function with 1 method)
julia> f(8)
8
julia> @trace f(8)
8
julia> using ASTInterpreter2
julia> @enter f(8)
In f(n) at REPL[5]:1
1 f(n) = n < 0 ? 0 : n
About to run: (<)(8, 0)
1|debug > n
In f(n) at REPL[5]:1
1 f(n) = n < 0 ? 0 : n
About to run: return 8
1|debug > n
8
julia> @trace 2^4
(Base.power_by_squaring)(::Int64, ::Int64) at intfuncs.jl:163
p is assigned as SlotNumber at line 163
p is assigned as Int64 at line 176
p is assigned as Int64 at line 183
y is assigned as SlotNumber at line 180
y is assigned as Int64 at line 187
16
Just need to handle this when looking up expression types.
For some reason my program seem to be stuck at the very beginning (reading in a corpus, before training can be performed on that corpus) when I prepend the train
function with @trace
. For an hour there is no output, while normally the corpus reading should be done very fast. The following are the stacktrace after I interrupted the program with Ctrl+C
:
^CERROR: InterruptException:
Stacktrace:
[1] Traceur.DynamicCall(::Function, ::Int64, ::Vararg{Int64,N} where N) at /home/jx/.julia/packages/Traceur/bKqVY/src/analysis.jl:17
[2] posthook(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::Bool, ::Function, ::Int64, ::Vararg{Int64,N} where N) at /home/jx/.julia/packages/Traceur/bKqVY/src/trace.jl:18
[3] ismalformed at ./char.jl:79 [inlined]
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Base.ismalformed), ::Char) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[5] category_code at ./strings/unicode.jl:250 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Base.Unicode.category_code), ::Char) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[7] isspace at ./strings/unicode.jl:460 [inlined]
[8] #3 at ./none:0 [inlined]
[9] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::getfield(Main.HPYLM, Symbol("##3#7")), ::Char) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[10] iterate at ./iterators.jl:434 [inlined]
[11] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(iterate), ::Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##3#7")),String}, ::Int64) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[12] overdub at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:430 [inlined]
[13] iterate at ./generator.jl:44 [inlined]
[14] grow_to! at ./array.jl:700 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Base.grow_to!), ::Array{Int64,1}, ::Base.Generator{Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##3#7")),String},getfield(Main.HPYLM, Symbol("##2#6")){Main.HPYLM.Vocabulary}}, ::Int64) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[16] grow_to! at ./array.jl:678 [inlined]
[17] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Base.grow_to!), ::Array{Int64,1}, ::Base.Generator{Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##3#7")),String},getfield(Main.HPYLM, Symbol("##2#6")){Main.HPYLM.Vocabulary}}) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[18] collect at ./array.jl:617 [inlined]
[19] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(collect), ::Base.Generator{Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##3#7")),String},getfield(Main.HPYLM, Symbol("##2#6")){Main.HPYLM.Vocabulary}}) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[20] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::getfield(Main.HPYLM, Symbol("##1#5")){Main.HPYLM.Vocabulary}, ::String) at ./none:0
[21] iterate at ./generator.jl:47 [inlined]
[22] grow_to! at ./array.jl:700 [inlined]
[23] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Base.grow_to!), ::Array{Array{Int64,1},1}, ::Base.Generator{Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##4#8")),Array{String,1}},getfield(Main.HPYLM, Symbol("##1#5")){Main.HPYLM.Vocabulary}}, ::Int64) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[24] grow_to! at ./array.jl:678 [inlined]
[25] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Base.grow_to!), ::Array{Array{Int64,1},1}, ::Base.Generator{Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##4#8")),Array{String,1}},getfield(Main.HPYLM, Symbol("##1#5")){Main.HPYLM.Vocabulary}}) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[26] collect at ./array.jl:617 [inlined]
[27] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(collect), ::Base.Generator{Base.Iterators.Filter{getfield(Main.HPYLM, Symbol("##4#8")),Array{String,1}},getfield(Main.HPYLM, Symbol("##1#5")){Main.HPYLM.Vocabulary}}) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[28] read_corpus at /home/julia-hpylm/Corpus.jl:107 [inlined]
[29] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Main.HPYLM.read_corpus), ::IOStream, ::Main.HPYLM.Vocabulary) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[30] train at /home/jx/Dropbox/Tuebingen1819WS/thesis/repo/julia-hpylm/HPYLM.jl:65 [inlined]
[31] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::typeof(Main.HPYLM.train), ::String, ::Int64, ::Int64, ::String) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[32] #7 at /home/jx/.julia/packages/Traceur/bKqVY/src/trace.jl:39 [inlined]
[33] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Cassette.NoPass,Nothing,Nothing}, ::getfield(Main, Symbol("##7#8"))) at /home/jx/.julia/packages/Cassette/XwZ3M/src/overdub.jl:0
[34] trace(::Function, ::Function) at /home/jx/.julia/packages/Traceur/bKqVY/src/trace.jl:28
[35] warntrace(::Function) at /home/jx/.julia/packages/Traceur/bKqVY/src/trace.jl:30
[36] top-level scope at none:0
The URL of this package does not match that stored in METADATA.jl.
cc: @pfitzseb
julia> struct Foo; x; end
julia> f(foo) = foo.x^2
julia> @trace f(Foo(1))
(f)(::Foo) at /Users/mike/.julia/v0.6/Traceur/test.jl:7
dynamic dispatch to (Base.literal_pow)(Main.^, (Core.getfield)(foo, :x), Val{2}) at line 7
returns Any
We should probably intercept getfield
and make sure that field types are concrete.
It would be very useful (and perhaps improve performance) if only code within the current module or some such definition would be tested and all deeper code would just be ignored... The thing is that users don't want to get warnings on things they can't do anything about, just their own code. This might be hard to implement...
Trying to trace a function that calls rand()
or randn()
leads to the following error: this intrinsic must be compiled to be called
.
DMBP:~ dilum$ julia
julia> using Traceur
julia> f() = rand() > 0.5 ? 100 : "100"
f (generic function with 1 method)
julia> @trace f()
┌ Warning: is assigned as Union{Nothing, Tuple{Int64,Int64}}
└ @ array.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Int64,Int64}}
└ @ array.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: getindex returns Union{Bool, Int64}
└ @ namedtuple.jl:105
┌ Warning: vs is assigned as Union{Nothing, Tuple{Char,Int64}}
└ @ iterators.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Int64}}
└ @ operators.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Int64}}
└ @ operators.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Nothing}}
└ @ strings/io.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Nothing}}
└ @ strings/io.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(φ (%143 => %139, %949 => %943), 1)
└ @ strings/io.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(φ (%143 => %139, %949 => %943), 1)
└ @ strings/io.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(φ (%143 => %139, %949 => %943), 1)
└ @ strings/io.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: dynamic dispatch to Base.getproperty(Base.Main, Base)
└ @ error.jl:-1
┌ Warning: dynamic dispatch to Base.getproperty(Base.getproperty(Base.Main, Base), SystemError)
└ @ error.jl:-1
┌ Warning: dynamic dispatch to (Base.getproperty(Base.getproperty(Base.Main, Base), SystemError))(p, $(Expr(:foreigncall, :jl_errno, Int32, svec(), 0, :ccall)), extrainfo)
└ @ error.jl:-1
┌ Warning: dynamic dispatch to (Core.apply_type(Base.Val, x))()
└ @ essentials.jl:-1
ERROR: this intrinsic must be compiled to be called
Stacktrace:
[1] call at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:447 [inlined]
[2] fallback at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:445 [inlined]
[3] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Core.IntrinsicFunction, ::String, ::Type{Int64}, ::Type{Tuple{Ptr{Int64}}}, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:481
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::String, ::Type, ::Type, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[5] getindex at ./atomics.jl:347 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(getindex), ::Base.Threads.Atomic{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[7] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[8] lock at ./locks-mt.jl:35 [inlined]
[9] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.Threads.SpinLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[10] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[11] lock at ./condition.jl:74 [inlined]
[12] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.GenericCondition{Base.Threads.SpinLock}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[13] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[14] lock at ./lock.jl:68 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::ReentrantLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[16] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[17] lock at ./stream.jl:224 [inlined]
[18] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.TTY) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[19] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[20] print at ./strings/io.jl:45 [inlined]
[21] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(print), ::Base.TTY, ::String, ::Char) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[22] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[23] println at ./strings/io.jl:75 [inlined]
[24] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(println), ::Base.TTY, ::String) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[25] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Base.TTY, ::String) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[26] make_seed at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:251 [inlined]
[27] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.make_seed)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[28] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[29] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:288 [inlined]
[30] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[31] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[32] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:412 [inlined]
[33] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[34] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[35] MersenneTwister at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:137 [inlined]
[36] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Type{Random.MersenneTwister}, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[37] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
... (the last 3 lines are repeated 1 more time)
[41] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:302 [inlined]
[42] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng), ::Int64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[43] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[44] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:296 [inlined]
[45] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[46] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[47] rand at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:253 [inlined]
[48] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(rand)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[49] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[50] f at ./REPL[1]:1 [inlined]
[51] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(f)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[52] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[53] #3 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[54] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::var"##3#4") at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[55] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[56] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[57] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
caused by [exception 1]
this intrinsic must be compiled to be called
Stacktrace:
[1] call at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:447 [inlined]
[2] fallback at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:445 [inlined]
[3] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Core.IntrinsicFunction, ::String, ::Type{Int64}, ::Type{Tuple{Ptr{Int64}}}, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:481
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::String, ::Type, ::Type, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[5] getindex at ./atomics.jl:347 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(getindex), ::Base.Threads.Atomic{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[7] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[8] lock at ./locks-mt.jl:35 [inlined]
[9] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.Threads.SpinLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[10] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[11] lock at ./condition.jl:74 [inlined]
[12] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.GenericCondition{Base.Threads.SpinLock}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[13] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[14] lock at ./lock.jl:68 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::ReentrantLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[16] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[17] macro expansion at ./lock.jl:182 [inlined]
[18] unsafe_read at ./iostream.jl:374 [inlined]
[19] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(unsafe_read), ::IOStream, ::Ptr{UInt8}, ::UInt64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[20] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::IOStream, ::Ptr{UInt8}, ::UInt64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[21] unsafe_read at ./io.jl:669 [inlined]
[22] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(unsafe_read), ::IOStream, ::Ptr{UInt32}, ::Int64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[23] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::IOStream, ::Ptr{UInt32}, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[24] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(read!), ::IOStream, ::Array{UInt32,1}) at ./gcutils.jl:91
[25] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[26] rand! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:51 [inlined]
[27] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.rand!), ::Random.RandomDevice, ::Array{UInt32,1}, ::Random.SamplerType{UInt32}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[28] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Array{UInt32,1}, ::Random.SamplerType{UInt32}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[29] rand! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:264 [inlined]
[30] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.rand!), ::Random.RandomDevice, ::Array{UInt32,1}, ::Type{UInt32}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[31] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Array{UInt32,1}, ::Type) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[32] rand at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:285 [inlined]
[33] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(rand), ::Random.RandomDevice, ::Type{UInt32}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[34] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Type, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[35] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(rand), ::Random.RandomDevice, ::Type{UInt32}, ::Int64) at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:288
[36] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Type, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[37] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.make_seed)) at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:249
[38] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[39] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:288 [inlined]
[40] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[41] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[42] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:412 [inlined]
[43] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[44] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[45] MersenneTwister at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:137 [inlined]
[46] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Type{Random.MersenneTwister}, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[47] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
... (the last 3 lines are repeated 1 more time)
[51] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:302 [inlined]
[52] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng), ::Int64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[53] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[54] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:296 [inlined]
[55] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[56] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[57] rand at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:253 [inlined]
[58] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(rand)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[59] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[60] f at ./REPL[1]:1 [inlined]
[61] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(f)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[62] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[63] #3 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[64] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::var"##3#4") at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[65] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[66] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[67] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
julia> using Traceur
julia> g() = randn() > 0 ? 1234 : 56.78
g (generic function with 1 method)
julia> @trace g()
┌ Warning: is assigned as Union{Nothing, Tuple{Int64,Int64}}
└ @ array.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Int64,Int64}}
└ @ array.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: getindex returns Union{Bool, Int64}
└ @ namedtuple.jl:105
┌ Warning: vs is assigned as Union{Nothing, Tuple{Char,Int64}}
└ @ iterators.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Int64}}
└ @ operators.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Int64}}
└ @ operators.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Nothing}}
└ @ strings/io.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{Char,Nothing}}
└ @ strings/io.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(φ (%143 => %139, %949 => %943), 1)
└ @ strings/io.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(φ (%143 => %139, %949 => %943), 1)
└ @ strings/io.jl:-1
┌ Warning: dynamic dispatch to Base.getindex(φ (%143 => %139, %949 => %943), 1)
└ @ strings/io.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: is assigned as Union{Nothing, Tuple{String,Int64}}
└ @ strings/substring.jl:-1
┌ Warning: dynamic dispatch to Base.getproperty(Base.Main, Base)
└ @ error.jl:-1
┌ Warning: dynamic dispatch to Base.getproperty(Base.getproperty(Base.Main, Base), SystemError)
└ @ error.jl:-1
┌ Warning: dynamic dispatch to (Base.getproperty(Base.getproperty(Base.Main, Base), SystemError))(p, $(Expr(:foreigncall, :jl_errno, Int32, svec(), 0, :ccall)), extrainfo)
└ @ error.jl:-1
┌ Warning: dynamic dispatch to (Core.apply_type(Base.Val, x))()
└ @ essentials.jl:-1
ERROR: this intrinsic must be compiled to be called
Stacktrace:
[1] call at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:447 [inlined]
[2] fallback at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:445 [inlined]
[3] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Core.IntrinsicFunction, ::String, ::Type{Int64}, ::Type{Tuple{Ptr{Int64}}}, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:481
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::String, ::Type, ::Type, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[5] getindex at ./atomics.jl:347 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(getindex), ::Base.Threads.Atomic{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[7] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[8] lock at ./locks-mt.jl:35 [inlined]
[9] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.Threads.SpinLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[10] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[11] lock at ./condition.jl:74 [inlined]
[12] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.GenericCondition{Base.Threads.SpinLock}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[13] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[14] lock at ./lock.jl:68 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::ReentrantLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[16] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[17] lock at ./stream.jl:224 [inlined]
[18] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.TTY) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[19] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[20] print at ./strings/io.jl:45 [inlined]
[21] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(print), ::Base.TTY, ::String, ::Char) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[22] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[23] println at ./strings/io.jl:75 [inlined]
[24] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(println), ::Base.TTY, ::String) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[25] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Base.TTY, ::String) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[26] make_seed at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:251 [inlined]
[27] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.make_seed)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[28] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[29] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:288 [inlined]
[30] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[31] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[32] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:412 [inlined]
[33] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[34] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[35] MersenneTwister at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:137 [inlined]
[36] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Type{Random.MersenneTwister}, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[37] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
... (the last 3 lines are repeated 1 more time)
[41] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:302 [inlined]
[42] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng), ::Int64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[43] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[44] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:296 [inlined]
[45] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[46] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[47] randn at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/normal.jl:39 [inlined]
[48] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(randn)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[49] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[50] g at ./REPL[2]:1 [inlined]
[51] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(g)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[52] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[53] #3 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[54] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::var"##3#4") at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[55] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[56] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[57] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
caused by [exception 1]
this intrinsic must be compiled to be called
Stacktrace:
[1] call at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:447 [inlined]
[2] fallback at /Users/dilum/.julia/packages/Cassette/YCOeN/src/context.jl:445 [inlined]
[3] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Core.IntrinsicFunction, ::String, ::Type{Int64}, ::Type{Tuple{Ptr{Int64}}}, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:481
[4] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::String, ::Type, ::Type, ::Ptr{Int64}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[5] getindex at ./atomics.jl:347 [inlined]
[6] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(getindex), ::Base.Threads.Atomic{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[7] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[8] lock at ./locks-mt.jl:35 [inlined]
[9] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.Threads.SpinLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[10] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[11] lock at ./condition.jl:74 [inlined]
[12] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::Base.GenericCondition{Base.Threads.SpinLock}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[13] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[14] lock at ./lock.jl:68 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(lock), ::ReentrantLock) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[16] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[17] macro expansion at ./lock.jl:182 [inlined]
[18] unsafe_read at ./iostream.jl:374 [inlined]
[19] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(unsafe_read), ::IOStream, ::Ptr{UInt8}, ::UInt64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[20] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::IOStream, ::Ptr{UInt8}, ::UInt64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[21] unsafe_read at ./io.jl:669 [inlined]
[22] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(unsafe_read), ::IOStream, ::Ptr{UInt32}, ::Int64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[23] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::IOStream, ::Ptr{UInt32}, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[24] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(read!), ::IOStream, ::Array{UInt32,1}) at ./gcutils.jl:91
[25] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[26] rand! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:51 [inlined]
[27] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.rand!), ::Random.RandomDevice, ::Array{UInt32,1}, ::Random.SamplerType{UInt32}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[28] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Array{UInt32,1}, ::Random.SamplerType{UInt32}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[29] rand! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:264 [inlined]
[30] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.rand!), ::Random.RandomDevice, ::Array{UInt32,1}, ::Type{UInt32}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[31] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Array{UInt32,1}, ::Type) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[32] rand at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:285 [inlined]
[33] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(rand), ::Random.RandomDevice, ::Type{UInt32}, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[34] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Type, ::Tuple{Int64}) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[35] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(rand), ::Random.RandomDevice, ::Type{UInt32}, ::Int64) at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:288
[36] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.RandomDevice, ::Type, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[37] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.make_seed)) at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:249
[38] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[39] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:288 [inlined]
[40] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[41] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[42] seed! at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/Random.jl:412 [inlined]
[43] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.seed!), ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[44] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Random.MersenneTwister, ::Nothing) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[45] MersenneTwister at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:137 [inlined]
[46] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Type{Random.MersenneTwister}, ::Nothing) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[47] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
... (the last 3 lines are repeated 1 more time)
[51] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:302 [inlined]
[52] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng), ::Int64) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[53] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function, ::Int64) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[54] default_rng at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/RNGs.jl:296 [inlined]
[55] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(Random.default_rng)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[56] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[57] randn at /Users/dilum/dev/forks-DilumAluthge/julia/usr/share/julia/stdlib/v1.4/Random/src/normal.jl:39 [inlined]
[58] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(randn)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[59] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47
[60] g at ./REPL[2]:1 [inlined]
[61] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::typeof(g)) at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[62] overdub at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:47 [inlined]
[63] #3 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:88 [inlined]
[64] recurse(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,Cassette.var"##PassType#404",Nothing,Nothing}, ::var"##3#4") at /Users/dilum/.julia/packages/Cassette/YCOeN/src/overdub.jl:0
[65] #trace#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Traceur.trace), ::Function, ::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51
[66] #warntrace#21 at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:51 [inlined]
[67] warntrace(::Function) at /Users/dilum/.julia/packages/Traceur/OKJwj/src/trace.jl:54
I'm getting this cryptic error when I try and use Traceur to debug my code. It seems to be related to the fact that at some point in the code I make use of LibGit2 (specifically I call LibGit2.head(".")
) as when I remove that line, the error goes away.
ERROR: `llvmcall` must be compiled to be called
Stacktrace:
[1] call
@ ~/.julia/packages/Cassette/4Z3UO/src/context.jl:456 [inlined]
[2] fallback
@ ~/.julia/packages/Cassette/4Z3UO/src/context.jl:454 [inlined]
[3] _overdub_fallback(::Any, ::Vararg{Any})
@ ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:592 [inlined]
[4] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Core.IntrinsicFunction, ::String, ::Type{Int64}, ::Type{Tuple{Ptr{Int64}, Int64, Int64}}, ::Ptr{Int64}, ::Int64, ::Int64)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:592
[5] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Function, ::String, ::Type, ::Type, ::Ptr{Int64}, ::Vararg{Any})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[6] atomic_cas!(::Base.Threads.Atomic{Int64}, ::Int64, ::Int64)
@ ./atomics.jl:373 [inlined]
[7] overdub
@ ./atomics.jl:373 [inlined]
[8] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(Base.Threads.atomic_cas!), ::Base.Threads.Atomic{Int64}, ::Int64, ::Int64)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[9] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[10] (::LibGit2.var"
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:972 [inlined]
[11] overdub
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:972 [inlined]
[12] overdub(overdub_context#300::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, overdub_arguments#301::LibGit2.var"#162#163")
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[13] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[14] overdub
@ ./lock.jl:229 [inlined]
[15] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(lock), ::LibGit2.var"#162#163", ::ReentrantLock)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[16] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[17] ensure_initialized()
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:971 [inlined]
[18] overdub
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:971 [inlined]
[19] overdub(overdub_context#300::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, overdub_arguments#301::typeof(LibGit2.ensure_initialized))
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[20] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Function)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
[21] GitRepo(::String)
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/repository.jl:9 [inlined]
[22] overdub
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/repository.jl:9 [inlined]
[23] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Type{GitRepo}, ::String)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[24] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[25] with(::LibGit2.var"
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/types.jl:1165 [inlined]
[26] overdub
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/types.jl:1165 [inlined]
[27] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(with), ::LibGit2.var"#99#100", ::Type{GitRepo}, ::String)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[28] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[29] head(::String)
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:64 [inlined]
[30] overdub
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:64 [inlined]
[31] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(LibGit2.head), ::String)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[32] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[33] main(::Int64, ::Float64, ::Int64, ::String, ::Nothing)
@ /groups/pal/users/jjeyaretnam/VSCodeProjects/FermionPT/apply_pt.jl:31 [inlined]
[34] overdub
@ /groups/pal/users/jjeyaretnam/VSCodeProjects/FermionPT/apply_pt.jl:31 [inlined]
[35] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(main), ::Int64, ::Float64, ::Int64, ::String, ::Nothing)
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[36] overdub
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
[37] (::var"
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
[38] recurse
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
[39] recurse(overdub_context#300::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, overdub_arguments#301::var"#17#18")
@ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
[40] trace(w::Function, f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51
[41] trace
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51 [inlined]
[42] #warntrace#21
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:54 [inlined]
[43] warntrace(f::Function)
@ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:53
[44] top-level scope
@ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88
[45] top-level scope
@ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:1416
See also: pull request #30
julia> using Traceur
julia> @trace intersect([:a], [:a])
(Base.indexed_next)(::Tuple{Int64,Bool}, ::Int64, ::Int64) at tuple.jl:54
returns Tuple{Union{Bool, Int64},Int64}
ERROR: UndefVarError: a not defined
Stacktrace:
[1] _step_expr(::ASTInterpreter2.JuliaStackFrame, ::ASTInterpreter2.JuliaProgramCounter) at /home/gunnar/.julia/v0.6/ASTInterpreter2/src/interpret.jl:85
[2] next_until!(::ASTInterpreter2.##7#8, ::ASTInterpreter2.JuliaStackFrame, ::ASTInterpreter2.JuliaProgramCounter) at /home/gunnar/.julia/v0.6/ASTInterpreter2/src/interpret.jl:144
[3] next_call!(::ASTInterpreter2.JuliaStackFrame, ::ASTInterpreter2.JuliaProgramCounter) at /home/gunnar/.julia/v0.6/ASTInterpreter2/src/interpret.jl:149
[4] execute_command(::DebuggerFramework.DebuggerState, ::ASTInterpreter2.JuliaStackFrame, ::Val{:nc}, ::String) at /home/gunnar/.julia/v0.6/ASTInterpreter2/src/commands.jl:47
[5] runall(::Traceur.Trace, ::DebuggerFramework.DebuggerState) at /home/gunnar/.julia/v0.6/Vinyl/src/interpret.jl:44
[6] overdub(::Traceur.Trace, ::Function, ::Symbol, ::Vararg{Any,N} where N) at /home/gunnar/.julia/v0.6/Vinyl/src/interpret.jl:53
[7] macro expansion at /home/gunnar/.julia/v0.6/Traceur/src/trace.jl:17 [inlined]
[8] primitive(::Traceur.Trace, ::Function, ::Symbol, ::Vararg{Any,N} where N) at /home/gunnar/.julia/v0.6/Vinyl/src/hooks.jl:24
[9] runall(::Traceur.Trace, ::DebuggerFramework.DebuggerState) at /home/gunnar/.julia/v0.6/Vinyl/src/interpret.jl:37
[10] overdub(::Traceur.Trace, ::Function, ::Array{Symbol,1}, ::Vararg{Array{Symbol,1},N} where N) at /home/gunnar/.julia/v0.6/Vinyl/src/interpret.jl:53
[11] macro expansion at /home/gunnar/.julia/v0.6/Traceur/src/trace.jl:17 [inlined]
[12] primitive(::Traceur.Trace, ::Function, ::Array{Symbol,1}, ::Vararg{Array{Symbol,1},N} where N) at /home/gunnar/.julia/v0.6/Vinyl/src/hooks.jl:24
[13] runall(::Traceur.Trace, ::DebuggerFramework.DebuggerState) at /home/gunnar/.julia/v0.6/Vinyl/src/interpret.jl:37
[14] overdub(::Traceur.Trace, ::Function) at /home/gunnar/.julia/v0.6/Vinyl/src/interpret.jl:53
[15] warntrace(::Function) at /home/gunnar/.julia/v0.6/Traceur/src/trace.jl:35
I have a fairly straightforward piece of code (calculates the shortest distance to a dome according to some criterion):
using StaticArrays, LinearAlgebra
const V3 = SVector{3, Float64}
isgoodz(oz, l, dz, positive::Bool) = oz > -l*dz ? positive : !positive
function distance(orig::V3, dir::V3, positive::Bool)
b = -orig⋅dir
disc = b^2 - orig⋅orig + 1
if disc ≥ 0
d = sqrt(disc)
t2 = b + d
if t2 ≥ 0
t1 = b - d
if t1 > 0
isgoodz(orig[3], t1, dir[3], positive) && return t1
isgoodz(orig[3], t2, dir[3], positive) && return t2
else
isgoodz(orig[3], t2, dir[3], positive) && return t2
end
end
end
nothing
end
z = 0.5
orig = V3(0.,0,z + 1)
dir = V3(0.,0,-1)
pos = true
distance(orig, dir, pos) # works and return 0.5
I wanted to test it but I get this error:
julia> using Traceur
julia> @trace distance(orig, dir, pos)
ERROR: no unique matching method found for the specified argument types
Stacktrace:
[1] which(::Any, ::Any) at ./reflection.jl:926
[2] method at /home/yakir/.julia/packages/Traceur/6a4Uc/src/analysis.jl:21 [inlined]
[3] posthook(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#363")),Nothing,Nothing}, ::Function, ::SArray{Tuple{3},Float64,1,3}, ::SArray{Tuple{3},Float64,1,3}) at /home/yakir/.julia/packages/Traceur/6a4Uc/src/trace.jl:19
[4] same_size at /home/yakir/.julia/packages/StaticArrays/mcf7t/src/traits.jl:193 [inlined]
[5] map at /home/yakir/.julia/packages/StaticArrays/mcf7t/src/mapreduce.jl:11 [inlined]
[6] - at /home/yakir/.julia/packages/StaticArrays/mcf7t/src/linalg.jl:6 [inlined]
[7] distance at ./REPL[4]:2 [inlined]
[8] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#363")),Nothing,Nothing}, ::typeof(distance), ::SArray{Tuple{3},Float64,1,3}, ::SArray{Tuple{3},Float64,1,3}, ::Bool) at /home/yakir/.julia/packages/Cassette/LvKdG/src/overdub.jl:0
[9] #7 at /home/yakir/.julia/packages/Traceur/6a4Uc/src/trace.jl:37 [inlined]
[10] overdub(::Cassette.Context{nametype(TraceurCtx),Traceur.Trace,Nothing,getfield(Cassette, Symbol("##PassType#363")),Nothing,Nothing}, ::getfield(Main, Symbol("##7#8"))) at /home/yakir/.julia/packages/Cassette/LvKdG/src/overdub.jl:0
[11] trace(::Function, ::Function) at /home/yakir/.julia/packages/Traceur/6a4Uc/src/trace.jl:26
[12] warntrace(::Function) at /home/yakir/.julia/packages/Traceur/6a4Uc/src/trace.jl:28
[13] top-level scope at none:0
I'd like to see stack traces for each warning. Often, I have warnings in Julia-owned files like math.jl
or operators.jl
.
I'd like to be able to see, where in my code I am calling those functions (eventually) and thereby determine, if I could call some base function more efficiently.
The following function runs fine by itself, but yields an error when run with @trace
. The line pointed at in the error message unfortunately gives me no clue as to what is wrong
julia> lossfun(w)
195.4677317894379
julia> Traceur.@trace lossfun(w)
(Base.indexed_next)(::Tuple{Int64,Bool}, ::Int64, ::Int64) at tuple.jl:54
returns Tuple{Union{Bool, Int64},Int64}
(Base.indexed_next)(::Tuple{Tuple{Bool},Tuple{Int64}}, ::Int64, ::Int64) at tuple.jl:54
returns Tuple{Tuple{Integer},Int64}
(Base.indexed_next)(::Tuple{Tuple{Tuple{Bool}},Tuple{Tuple{Int64}}}, ::Int64, ::Int64) at tuple.jl:54
returns Tuple{Tuple{Tuple{Integer}},Int64}
Error from:
(::JacProp.##66#67)(::Any) in JacProp
Error from:
_broadcast!(f, B::AbstractArray, keeps::K, Idefaults::ID, A::AT, Bs::BT, ::Type{Val{N}}, iter) where {K, ID, AT, BT, N} in Base.Broadcast at broadcast.jl:141
Error from:
broadcast_t(f, T, shape, iter, A, Bs::Vararg{Any,N}) where N in Base.Broadcast at broadcast.jl:268
Error from:
broadcast_c(f, ::Type{Array}, A, Bs...) in Base.Broadcast at broadcast.jl:312
Error from:
broadcast(f, A, Bs...) in Base.Broadcast at broadcast.jl:455
Error from:
i2m(w, i, sizes) in JacProp at /local/home/fredrikb/.julia/v0.6/JacProp/src/utilities.jl:212
Error from:
predd(w, x, sizes, nx) in JacProp at /local/home/fredrikb/.julia/v0.6/JacProp/src/utilities.jl:99
Error from:
cost(w, sizes, nx, x, y) in JacProp at /local/home/fredrikb/.julia/v0.6/JacProp/src/utilities.jl:186
Error from:
(::JacProp.#lf#62)(w) in JacProp at /local/home/fredrikb/.julia/v0.6/JacProp/src/utilities.jl:196
Error from:
(::##49#50)() in Main at /local/home/fredrikb/.julia/v0.6/Traceur/src/trace.jl:34
ERROR: UndefRefError: access to undefined reference
The function lossfun
is a closure around a bunch of variables and it's creating looks like this, i.e., it contains an internal jacobian calculation with ForwardDiff
function loss(w,x,y,mt::ADModelTrainer)
chunk = Diff.Chunk(x[:,1])
model, λ = mt.model, mt.λ
w, sizes, nx, nu = model.w, model.sizes, model.nx, model.nu
function lf(w)
f(x) = predd(w,x,sizes,nx)
jcfg = Diff.JacobianConfig(f, x[:,1], chunk)
jacobian(x) = Diff.jacobian(f, x, jcfg)
l = cost(w,sizes,nx,x,y)
J2 = zeros(nx+nu, nx)
J1 = jacobian(x[:,1])
for t = 2:size(x,2)
J2 = jacobian(x[:,t])
l += λ*sum(abs2.(J1.-J2))
J1 = J2
end
l
end
end
lossfun = loss(w,x,y,mt)
julia> Pkg.status("Traceur")
- Traceur 0.1.1+ master
julia> VERSION
v"0.6.2"
Installation worked fine, but then when I try to load it, using Traceur
, I get the following error message:
ERROR: LoadError: ArgumentError: Module Vinyl not found in current path.
Run Pkg.add("Vinyl")
to install the Vinyl package.
Running Pkg.add("Vinyl")
tells me there is no such package.
I think a (probably opt-in only) warning for generated @boundscheck
statements would be very helpful.
Sometimes, there is code with multiple (inline) functions and nested control flow. In those cases, it can be quite hard to keep track of @inbounds
propagation rules and I'd like to have a tool that tells me which lines of my code still perform bounds checking.
When you have fixed everything Traceur found to complain about, you want it to stay that way, and you want to have automated tests monitoring it.
I'd love to be able to do something like
@tracetest :no_dynamic_dispatch :no_type_instability run_my_testcase()
or maybe
report = @tracereport run_my_testcase()
@test no_dynamic_dispatch(report)
@test number_allocations(report) <= 1
@test allocated_bytes(report) <= 20000
is this going to be made compatible with v0.7/1.0?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.