Skip to content

[release-1.6] Illegal instruction (simple test case) #38971

Closed
@timholy

Description

@timholy

I tried uploading an rr bug report but that seems broken (some JSON error), so...

julia> colmajorstrides(sz) = isempty(sz) ? () : (1,cumprod(Int[sz[1:end-1]...])...)::typeof(sz)
colmajorstrides (generic function with 1 method)

julia> colmajorstrides((3,3,3))
Unreachable reached at 0x7f1214e969d8

signal (4): Illegal instruction
in expression starting at REPL[2]:1
colmajorstrides at ./REPL[1]:1
unknown function (ip: 0x7f1214e96a50)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2224 [inlined]
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2406
jl_apply at /home/tim/src/julia-master/src/julia.h:1701 [inlined]
do_call at /home/tim/src/julia-master/src/interpreter.c:115
eval_value at /home/tim/src/julia-master/src/interpreter.c:204
eval_stmt_value at /home/tim/src/julia-master/src/interpreter.c:155 [inlined]
eval_body at /home/tim/src/julia-master/src/interpreter.c:557
jl_interpret_toplevel_thunk at /home/tim/src/julia-master/src/interpreter.c:669
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:879
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:827
jl_toplevel_eval_flex at /home/tim/src/julia-master/src/toplevel.c:827
jl_toplevel_eval_in at /home/tim/src/julia-master/src/toplevel.c:931
eval at ./boot.jl:360
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2224 [inlined]
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2406
eval_user_input at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:139
repl_backend_loop at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:200
start_repl_backend at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:185
#run_repl#42 at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:317
run_repl at /home/tim/src/julia-master/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:305
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2224 [inlined]
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2406
#872 at ./client.jl:387
jfptr_YY.872_44432 at /home/tim/src/julia-master/usr/lib/julia/sys.so (unknown line)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2224 [inlined]
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2406
jl_apply at /home/tim/src/julia-master/src/julia.h:1701 [inlined]
do_apply at /home/tim/src/julia-master/src/builtins.c:672
jl_f__apply_latest at /home/tim/src/julia-master/src/builtins.c:722
#invokelatest#2 at ./essentials.jl:707 [inlined]
invokelatest at ./essentials.jl:706 [inlined]
run_main_repl at ./client.jl:372
exec_options at ./client.jl:302
_start at ./client.jl:485
jfptr__start_43916 at /home/tim/src/julia-master/usr/lib/julia/sys.so (unknown line)
_jl_invoke at /home/tim/src/julia-master/src/gf.c:2224 [inlined]
jl_apply_generic at /home/tim/src/julia-master/src/gf.c:2406
jl_apply at /home/tim/src/julia-master/src/julia.h:1701 [inlined]
true_main at /home/tim/src/julia-master/src/jlapi.c:569
repl_entrypoint at /home/tim/src/julia-master/src/jlapi.c:688
main at /home/tim/src/julia-master/cli/loader_exe.c:51
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at /home/tim/src/julia-master/usr/bin/julia (unknown line)
Allocations: 630837 (Pool: 630467; Big: 370); GC: 1

Without the ::typeof(sz) there is no crash. Conversely, colmajorstrides(sz::Dims{N}) where N = (1,cumprod(Int[sz[1:end-1]...])...)::Dims{N} does crash.

julia> versioninfo()
Julia Version 1.6.0-DEV.1780
Commit de69b02a48* (2020-12-19 19:43 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.0 (ORCJIT, skylake)
Environment:
  JULIA_CPU_THREADS = 4

Metadata

Metadata

Assignees

Labels

bugIndicates an unexpected problem or unintended behaviorcompiler:inferenceType inferenceregressionRegression in behavior compared to a previous version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions