Unreachable reached at 0x13929e935

just run into this when developing my package Traits.jl further, maybe someone recognizes this
(it is quite difficult to get a minimal working example, but of course I will try as this blocks me currently)

(running the key code block on its own)

Unreachable reached at 0x13929e935

signal (4): Illegal instruction: 4
in expression starting at /Users/s.sahm/.julia/dev/Traits/test/syntax.jl:33
Type at ./none:0
normalize_func at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:203
#parse_traitsfunction#2 at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:106
parse_traitsfunction at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:16 [inlined]
_traits_parsed at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:38
_traits at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:32
@traits at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:22
jl_invoke_julia_macro at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1040
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1102
jl_parse_eval_all at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:857
include_string at ./loading.jl:1075
include_string at /Users/s.sahm/.julia/packages/CodeTools/kosGY/src/eval.jl:30
unknown function (ip: 0x119575c92)
#188 at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:111
withpath at /Users/s.sahm/.julia/packages/CodeTools/kosGY/src/utils.jl:30
withpath at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:9
#187 at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:110 [inlined]
with_logstate at ./logging.jl:395
with_logger at ./logging.jl:491 [inlined]
#186 at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:109 [inlined]
hideprompt at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/repl.jl:141
macro expansion at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:108 [inlined]
macro expansion at /Users/s.sahm/.julia/packages/Media/ItEPc/src/dynamic.jl:24 [inlined]
eval at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:104
unknown function (ip: 0x11956acba)
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1631 [inlined]
jl_f__apply at /Users/julia/buildbot/worker/package_macos64/build/src/builtins.c:627
macro expansion at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:36 [inlined]
#172 at ./task.jl:333
unknown function (ip: 0x1195254fc)
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1631 [inlined]
start_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:659
Allocations: 73733351 (Pool: 73717314; Big: 16037); GC: 80

or here another version (running the key code blog as part of @test/@testset)

Unreachable reached at 0x13d1f9095

signal (4): Illegal instruction: 4
in expression starting at /Users/s.sahm/.julia/dev/Traits/test/syntax.jl:25
Type at ./none:0
normalize_func at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:203
#parse_traitsfunction#2 at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:106
parse_traitsfunction at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:16 [inlined]
_traits_parsed at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:38
_traits at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:32
@traits_test at /Users/s.sahm/.julia/dev/Traits/src/ExtraHelpers.jl:17
jl_invoke_julia_macro at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1040
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1102
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1145
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1145
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1145
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1145
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1145
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1145
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1112
jl_parse_eval_all at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:857
include_string at ./loading.jl:1075
include_string at /Users/s.sahm/.julia/packages/CodeTools/kosGY/src/eval.jl:30
unknown function (ip: 0x13d197ab2)
#188 at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:111
withpath at /Users/s.sahm/.julia/packages/CodeTools/kosGY/src/utils.jl:30
withpath at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:9
#187 at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:110 [inlined]
with_logstate at ./logging.jl:395
with_logger at ./logging.jl:491 [inlined]
#186 at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:109 [inlined]
hideprompt at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/repl.jl:141
macro expansion at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:108 [inlined]
macro expansion at /Users/s.sahm/.julia/packages/Media/ItEPc/src/dynamic.jl:24 [inlined]
eval at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:104
unknown function (ip: 0x13d19259a)
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1631 [inlined]
jl_f__apply at /Users/julia/buildbot/worker/package_macos64/build/src/builtins.c:627
macro expansion at /Users/s.sahm/.julia/packages/Atom/cYxbS/src/eval.jl:36 [inlined]
#172 at ./task.jl:333
unknown function (ip: 0x1167444fc)
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1631 [inlined]
start_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:659
Allocations: 59821895 (Pool: 59808242; Big: 13653); GC: 65

If you have Julia master and have access to Linux, maybe you can try the new bug reporting API julia --bug-report=rr:

2 Likes

running on mac, and julia 1.3.1, now giving it a try with most recent stable julia, and will think about trying it thereafter with julia master

thanks for the pointer!

1 Like

unfortunately also with julia 1.4.1 I get an Unreachable Reached

Unreachable reached at 0x1192773d5

signal (4): Illegal instruction: 4
in expression starting at REPL[15]:1
Type##kw at ./util.jl:753
normalize_func at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:203
#parse_traitsfunction#2 at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:106
parse_traitsfunction at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Parsing.jl:16 [inlined]
_traits_parsed at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:38
_traits at /Users/s.sahm/.julia/dev/Traits/src/Syntax/Syntax.jl:32
@traits_test at /Users/s.sahm/.julia/dev/Traits/src/ExtraHelpers.jl:17
jl_invoke_julia_macro at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1039
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1101
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1144
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1144
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1144
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1144
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1144
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1144
jl_expand_macros at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1111
jl_expand_with_loc at /Users/julia/buildbot/worker/package_macos64/build/src/ast.c:1179
jl_toplevel_eval_flex at /Users/julia/buildbot/worker/package_macos64/build/src/toplevel.c:634
jl_toplevel_eval_flex at /Users/julia/buildbot/worker/package_macos64/build/src/toplevel.c:764
jl_toplevel_eval at /Users/julia/buildbot/worker/package_macos64/build/src/toplevel.c:823 [inlined]
jl_toplevel_eval_in at /Users/julia/buildbot/worker/package_macos64/build/src/toplevel.c:843
eval at ./boot.jl:331
eval_user_input at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:86
macro expansion at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:118 [inlined]
#26 at ./task.jl:358
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1700 [inlined]
start_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:687
Allocations: 49211149 (Pool: 49204206; Big: 6943); GC: 54
1 Like

People should get a special medal when they get that error, like a badge of honour or something. :medal_military: /end of non-constructive comment.

5 Likes

Any time you reach the unreachable, it is a time for celebration. And a bug report, pls.

7 Likes

I created a bug report and actually was able to minify the case to pure Julia,

here the key piece of code with which you can replicate the Unreachable reached error

Base.@kwdef struct UnreachableReached{T}
    type::Type{T}
end

type1 = Tuple{Array{T1,1} where T1}
UnreachableReached{type1}(type = type1)

type2 = Tuple{Array{T2,1}} where T2
UnreachableReached{type2}(type = type2)

There is actually a simple workaround in such situations: Using positional arguments instead of named arguments seems to work fine.

2 Likes