FluxML / IRTools.jl

Mike's Little Intermediate Representation
MIT License
111 stars 36 forks source link

IRTools 0.2.3 breaks Zygote precompilation #22

Closed under-Peter closed 5 years ago

under-Peter commented 5 years ago

MWE (new session)

julia> using Zygote
[ Info: Precompiling Zygote [e88e6eb3-aa80-5325-afca-941959d7151f]
ERROR: LoadError: LoadError: MethodError: no method matching update!(::IRTools.Meta, ::Core.Compiler.IRCode)
Closest candidates are:
  update!(::Core.CodeInfo, ::Core.Compiler.IRCode) at /home/andreas/.julia/packages/IRTools/pgYVw/src/reflection/utils.jl:95
  update!(::Any, ::IRTools.IR) at /home/andreas/.julia/packages/IRTools/pgYVw/src/reflection/utils.jl:103
Stacktrace:
 [1] update!(::IRTools.Meta, ::IRTools.IR) at /home/andreas/.julia/packages/IRTools/pgYVw/src/reflection/utils.jl:103
 [2] #s2387#1311 at /home/andreas/.julia/packages/Zygote/3ozJm/src/compiler/interface2.jl:15 [inlined]
 [3] #s2387#1311(::Any, ::Any, ::Any, ::Any) at ./none:0
 [4] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any,N} where N) at ./boot.jl:522
 [5] _forward(::Function, ::Int64, ::Int64) at /home/andreas/.julia/packages/Zygote/3ozJm/src/compiler/interface.jl:31
 [6] forward(::Function, ::Int64, ::Int64) at /home/andreas/.julia/packages/Zygote/3ozJm/src/compiler/interface.jl:37
 [7] gradient(::Function, ::Int64, ::Vararg{Int64,N} where N) at /home/andreas/.julia/packages/Zygote/3ozJm/src/compiler/interface.jl:46
 [8] top-level scope at none:0
 [9] include at ./boot.jl:326 [inlined]
 [10] include_relative(::Module, ::String) at ./loading.jl:1038
 [11] include at ./sysimg.jl:29 [inlined]
 [12] include(::String) at /home/andreas/.julia/packages/Zygote/3ozJm/src/Zygote.jl:1
 [13] top-level scope at none:0
 [14] include at ./boot.jl:326 [inlined]
 [15] include_relative(::Module, ::String) at ./loading.jl:1038
 [16] include(::Module, ::String) at ./sysimg.jl:29
 [17] top-level scope at none:2
 [18] eval at ./boot.jl:328 [inlined]
 [19] eval(::Expr) at ./client.jl:404
 [20] top-level scope at ./none:3
in expression starting at /home/andreas/.julia/packages/Zygote/3ozJm/src/precompile.jl:19
in expression starting at /home/andreas/.julia/packages/Zygote/3ozJm/src/Zygote.jl:45
ERROR: Failed to precompile Zygote [e88e6eb3-aa80-5325-afca-941959d7151f] to /home/andreas/.julia/compiled/v1.1/Zygote/4kbLI.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1197
 [3] _require(::Base.PkgId) at ./loading.jl:960
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853

details:

julia> versioninfo()
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
(v1.1) pkg> st
    Status `~/.julia/environments/v1.1/Project.toml`
  [7869d1d1] IRTools v0.2.3
  [e88e6eb3] Zygote v0.3.3

Downgrading to 0.2.2 fixes this.

xukai92 commented 5 years ago

Same issue here.

MikeInnes commented 5 years ago

New release is tagged.