Closed
Description
Here's a bug we're struggling with over at JuliaInterpreter. We've recently set up a test harness to run Julia's own tests under the interpreter (JuliaDebug/JuliaInterpreter.jl#13). Several of the tests are marked with ☠️, which we're using to indicate that running that test kills Julia. For one particular case we have a MWE in JuliaDebug/JuliaInterpreter.jl#28.
This particular bug can be triggered even without JuliaInterpreter:
julia> a, b = ['0'], ['a'];
julia> arr = Vector{Char}(undef, 2)
2-element Array{Char,1}:
'\x74\xd8\x61\xf0'
'\x00\x00\x7f\x60'
julia> ptr = pointer(arr)
Ptr{Char} @0x00007f6075562330
julia> elsz = sizeof(Char)
4
julia> na = length(a)
1
julia> nba = na * elsz
4
julia> ccall(:memcpy, Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cvoid}, UInt), arr, a, nba)
Unreachable reached at 0x7f606c259cae
signal (4): Illegal instruction
in expression starting at REPL[7]:1
top-level scope at ./REPL[7]:1
jl_fptr_args at /home/tim/src/julia-master/src/gf.c:1906
jl_fptr_trampoline at /home/tim/src/julia-master/src/gf.c:1896
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:791
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:746
jl_toplevel_eval at /home/tim/src/julia-master/src/toplevel.c:806
jl_toplevel_eval_in at /home/tim/src/julia-master/src/toplevel.c:826
eval at ./boot.jl:328
jl_fptr_args at /home/tim/src/julia-master/src/gf.c:1906
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2251
eval_user_input at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.2/REPL/src/REPL.jl:86
run_backend at /home/tim/.julia/dev/Revise/src/Revise.jl:773
#61 at ./task.jl:261
jl_fptr_args at /home/tim/src/julia-master/src/gf.c:1906
jl_fptr_trampoline at /home/tim/src/julia-master/src/gf.c:1896
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2251
jl_apply at /home/tim/src/julia-master/src/julia.h:1578
start_task at /home/tim/src/julia-master/src/task.c:572
unknown function (ip: 0xffffffffffffffff)
Allocations: 9313301 (Pool: 9311285; Big: 2016); GC: 20
/home/tim/bin/julia-master: line 2: 14664 Illegal instruction (core dumped) ~/src/julia-master/julia "$@"