# Unreachable reached at 0x13929e935

**URL:** <https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528>\
**Category:** Internals & Design\
**Tags:** question\
**Created:** [May 1, 2020, 5:18am UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528 "2020-05-01T05:18:16Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![schlichtanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schlichtanders/32/32145_2.png) [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Post date:** [May 1, 2020, 5:18am UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/1 "2020-05-01T05:18:16Z")

</div>

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)

```julia
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)

```julia
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

```

---

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [May 1, 2020, 5:55am UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/2 "2020-05-01T05:55:32Z")

</div>

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

[https://github.com/JuliaLang/julia/pull/35494](https://github.com/JuliaLang/julia/pull/35494)

---

<div class="post-metadata">

**Author:** ![schlichtanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schlichtanders/32/32145_2.png) [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Post date:** [May 1, 2020, 1:34pm UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/3 "2020-05-01T13:34:17Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![schlichtanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schlichtanders/32/32145_2.png) [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Post date:** [May 1, 2020, 1:44pm UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/4 "2020-05-01T13:44:18Z")

</div>

unfortunately also with julia 1.4.1 I get an Unreachable Reached

```julia
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

```

---

<div class="post-metadata">

**Author:** ![tlienart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tlienart/32/7640_2.png) [@tlienart](https://discourse.julialang.org/u/tlienart)\
**Post date:** [May 1, 2020, 1:46pm UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/5 "2020-05-01T13:46:39Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [May 1, 2020, 3:22pm UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/6 "2020-05-01T15:22:25Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![schlichtanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schlichtanders/32/32145_2.png) [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Post date:** [May 2, 2020, 3:37pm UTC](https://discourse.julialang.org/t/unreachable-reached-at-0x13929e935/38528/7 "2020-05-02T15:37:57Z")

</div>

I created a bug report and actually was able to minify the case to pure Julia,  
[https://github.com/JuliaLang/julia/issues/35698#issuecomment-622947669](https://github.com/JuliaLang/julia/issues/35698#issuecomment-622947669)

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

```julia
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.
