Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Illegal instruction: 4 in NormalFormGame(players::Player{N,T}...) with Julia 1.0 #92

Closed
oyamad opened this issue Oct 2, 2018 · 2 comments

Comments

@oyamad
Copy link
Member

oyamad commented Oct 2, 2018

using Games
p1 = Player(zeros(2, 2))
p2 = Player(zeros(2, 2))
g = NormalFormGame(p1, p2)
Unreachable reached at 0x12a56f6ff

signal (4): Illegal instruction: 4
in expression starting at no file:0
Type at /Users/oyama/Development/Games.jl/src/normal_form_game.jl:436
jl_fptr_trampoline at /Users/osx/buildbot/slave/package_osx64/build/src/gf.c:1843
do_call at /Users/osx/buildbot/slave/package_osx64/build/src/interpreter.c:324
eval_stmt_value at /Users/osx/buildbot/slave/package_osx64/build/src/interpreter.c:363 [inlined]
eval_body at /Users/osx/buildbot/slave/package_osx64/build/src/interpreter.c:682
jl_interpret_toplevel_thunk_callback at /Users/osx/buildbot/slave/package_osx64/build/src/interpreter.c:808
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x117991eff)
unknown function (ip: 0xffffffffffffffff)
jl_interpret_toplevel_thunk at /Users/osx/buildbot/slave/package_osx64/build/src/interpreter.c:817
jl_toplevel_eval_flex at /Users/osx/buildbot/slave/package_osx64/build/src/toplevel.c:818
jl_toplevel_eval_in at /Users/osx/buildbot/slave/package_osx64/build/src/builtins.c:622
eval at ./boot.jl:319
eval_user_input at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/REPL/src/REPL.jl:85
macro expansion at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/REPL/src/REPL.jl:117 [inlined]
#28 at ./task.jl:259
jl_apply at /Users/osx/buildbot/slave/package_osx64/build/src/./julia.h:1559 [inlined]
start_task at /Users/osx/buildbot/slave/package_osx64/build/src/task.c:271
Allocations: 22400045 (Pool: 22397618; Big: 2427); GC: 38
Illegal instruction: 4
julia> versioninfo()
Julia Version 1.0.0
Commit 5d4eaca0c9 (2018-08-08 20:58 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, ivybridge)

Same error also with Julia 1.1 (Nightly):

julia> versioninfo()
Julia Version 1.1.0-DEV.352
Commit 4851fab9b4 (2018-10-01 13:53 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, ivybridge)

This does work with Julia 0.7:

julia> versioninfo()
Julia Version 0.7.0
Commit a4cb80f3ed (2018-08-08 06:46 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, ivybridge)
@oyamad
Copy link
Member Author

oyamad commented Oct 2, 2018

Small reproducer:

struct A{N,T}
    arr::Array{T,N}
end

struct B{N,T}
    as::NTuple{N,A{N,T}}
end

B(as::A{N,T}...) where {N,T} = B(as)
a1 = A(zeros(2, 2))
a2 = A(zeros(2, 2))
B(a1, a2)

@oyamad
Copy link
Member Author

oyamad commented Nov 12, 2018

Resolved in Julia 1.0.2.

@oyamad oyamad closed this as completed Nov 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant