Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
DilumAluthge opened this issue Aug 17, 2020 · 1 comment
Open
Labels
bug Something isn't working

Comments

@DilumAluthge
Copy link
Contributor

DilumAluthge commented Aug 17, 2020

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
Copy link
Contributor Author

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 DilumAluthge changed the title Regression in Traceur on Julia master Set{String}() causes a regression in Traceur on Julia master Aug 17, 2020
@pfitzseb pfitzseb added the bug Something isn't working label Aug 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants