Unreachable reached with NamedTuple of StaticVector

This is an MWE I isolated tracking down a bug, happens both on master and 1.0.1, and with the latest stable and master of StaticArrays.

I wonder if someone could look at it, and tell me whether I am doing something I shouldn’t, then whether I should report this for julia or StaticArrays (could not make the MWE without it).

This is the code:

using StaticArrays

const Foo{S} = SVector{S, UInt8}

nt = NamedTuple{(:penr,
                 :benr,
                 :jahr,
                 :bmg,
                 :sz,
                 :ef_bmg,
                 :_merge_wage,
                 :lmstat,
                 :fk_akgr,
                 :gebj,
                 :ampLevel,
                 ),
                Tuple{Union{Missing, Int32},
                      Int64,
                      Int16,
                      Union{Missing, Float64},
                      Union{Missing, Float64},
                      Foo{1},
                      Union{Missing, Int8},
                      Int8,
                      Foo{30},
                      Union{Missing, Int16},
                      Int8,
                      }
                }((1,
                   1,
                   2003,
                   missing,
                   missing,
                   zeros(Foo{1}),
                   1,
                   41,
                   zeros(Foo{30}),
                   1915,
                   21,
                   ))

This is the output:

NamedTuple{(:penr, :benr, :jahr, :bmg, :sz, :ef_bmg, :_merge_wage, :lmstat, :fk_akgr, :gebj, :ampLevel),Tuple{Union{Missing, Int32},Int64,Int16,Union{Missing, Float64},Union{Missing, Float64},SArray{Tuple{1},UInt8,1,1},Union{Missing, Int8},Int8,SArray{Tuple{30},UInt8,1,30},Union{Missing, Int16},Int8}}(Unreachable reached at 0x7fda3cb1c146

signal (4): Illegal instruction
in expression starting at no file:0
macro expansion at ./namedtuple.jl:0 [inlined]
Type at ./namedtuple.jl:116 [inlined]
show at ./namedtuple.jl:132
show at ./sysimg.jl:194
unknown function (ip: 0x7fda3cb1b2f6)
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1829
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
display at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:131
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
display at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:135
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
display at ./multimedia.jl:287
unknown function (ip: 0x7fda3cb1b102)
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1829
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1536 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:556
jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:594
#invokelatest#1 at ./essentials.jl:686 [inlined]
invokelatest at ./essentials.jl:685 [inlined]
print_response at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:154
print_response at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:139
unknown function (ip: 0x7fda3cb130db)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
do_respond at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:708
unknown function (ip: 0x7fda3cb06944)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
#55 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:971
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1536 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:556
jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:594
#invokelatest#1 at ./essentials.jl:686 [inlined]
invokelatest at ./essentials.jl:685 [inlined]
#27 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/LineEdit.jl:1319
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
prompt! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/LineEdit.jl:2353
run_interface at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/LineEdit.jl:2256
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1829
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
run_frontend at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:1029
run_repl at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:191
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1829
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
#720 at ./logging.jl:311
unknown function (ip: 0x7fda3cae5835)
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1829
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1536 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:556
jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:594
#invokelatest#1 at ./essentials.jl:686 [inlined]
invokelatest at ./essentials.jl:685 [inlined]
macro expansion at ./logging.jl:308 [inlined]
run_main_repl at ./client.jl:330
exec_options at ./client.jl:242
_start at ./client.jl:421
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2182
unknown function (ip: 0x401ae8)
unknown function (ip: 0x401513)
__libc_start_main at /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
unknown function (ip: 0x4015b4)
Allocations: 12873016 (Pool: 12870598; Big: 2418); GC: 27

Thanks. Any error like this should be filed as a julia bug. The only possible exception might be if a package is doing invalid unsafe operations, but that seems unlikely here.

Thanks for the quick response, reported here:

https://github.com/JuliaLang/julia/issues/29718