Traceur.jl icon indicating copy to clipboard operation
Traceur.jl copied to clipboard

`Set{String}()` causes a regression in Traceur on Julia master

Open DilumAluthge opened this issue 3 years ago • 1 comments

The below code works fine on Julia 1.5, but gives an error on the latest Julia master.

Code:

Click to expand
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

DilumAluthge avatar Aug 17 '20 01:08 DilumAluthge

Okay, I have a MWE:

julia> import Traceur

julia> @inline function bar()
       b = Set{String}()
       return b
       end
bar (generic function with 1 method)

julia> Traceur.@trace bar()
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[2]: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] #1
    @ ~/.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"#1#2")
    @ 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

DilumAluthge avatar Aug 17 '20 01:08 DilumAluthge