Skip to content
This repository has been archived by the owner on Apr 18, 2023. It is now read-only.

Precompilation broken #208

Closed
oxinabox opened this issue Aug 17, 2021 · 0 comments · Fixed by JuliaDiff/ChainRules.jl#503
Closed

Precompilation broken #208

oxinabox opened this issue Aug 17, 2021 · 0 comments · Fixed by JuliaDiff/ChainRules.jl#503

Comments

@oxinabox
Copy link
Member

Precompilation is very unhappy.
I think for two different reasons.

  1. Something is happening with Type. (Did we define a bad ChainRules somewhere?)
  2. Duplicate methods for a bunch of things in FastMath. (Did something go into fastmath_able that shouldn't have?
julia> using Nabla
[ Info: Precompiling Nabla [49c96f43-aa6d-5a04-a506-44c7070ebe78]
WARNING: Method definition rrule(typeof(Base.copysign), Number, Number) in module ChainRules at /home/oxinabox/.julia/packages/ChainRules/5iZFH/src/rulesets/Base/fastmath_able.jl:187 overwritten on the same line (check for duplicate calls to `include`).
  ** incremental compilation may be fatally broken for this module **

WARNING: Method definition rrule(typeof(Base.Math.sincospi), Number) in module ChainRules at /home/oxinabox/.julia/packages/ChainRules/5iZFH/src/rulesets/Base/fastmath_able.jl:53 overwritten on the same line (check for duplicate calls to `include`).
  ** incremental compilation may be fatally broken for this module **

WARNING: Method definition frule(Any, typeof(Base.copysign), Number, Number) in module ChainRules at /home/oxinabox/.julia/packages/ChainRules/5iZFH/src/rulesets/Base/fastmath_able.jl:187 overwritten on the same line (check for duplicate calls to `include`).
  ** incremental compilation may be fatally broken for this module **

WARNING: Method definition frule(Any, typeof(Base.Math.sincospi), Number) in module ChainRules at /home/oxinabox/.julia/packages/ChainRules/5iZFH/src/rulesets/Base/fastmath_able.jl:53 overwritten on the same line (check for duplicate calls to `include`).
  ** incremental compilation may be fatally broken for this module **

┌ Error: Error triggering hook
│   hook_fun = generate_overload (generic function with 1 method)
│   sig = Tuple{Type{T}, AbstractArray} where T<:Array
│   exception =
│    ArgumentError: method definition for preprocess at /home/oxinabox/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/sensitivities/chainrules.jl:228 has free type variables
│    Stacktrace:
│      [1] top-level scope
│        @ ~/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/sensitivities/chainrules.jl:56
│      [2] eval
│        @ ./boot.jl:360 [inlined]
│      [3] eval
│        @ ~/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/Nabla.jl:3 [inlined]
│      [4] generate_overload(sig::Type)
│        @ Nabla ~/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/sensitivities/chainrules.jl:60
│      [5] _safe_hook_fun(hook_fun::typeof(Nabla.generate_overload), sig::Type)
│        @ ChainRulesOverloadGeneration ~/.julia/packages/ChainRulesOverloadGeneration/shNba/src/ruleset_loading.jl:155
│      [6] (::ChainRulesOverloadGeneration.var"#1#2"{typeof(Nabla.generate_overload), typeof(ChainRulesCore.rrule)})(method::Method)
│        @ ChainRulesOverloadGeneration ~/.julia/packages/ChainRulesOverloadGeneration/shNba/src/ruleset_loading.jl:30
│      [7] iterate
│        @ ./generator.jl:47 [inlined]
│      [8] grow_to!(dest::Vector{Bool}, itr::Base.Generator{Base.Iterators.Filter{ChainRulesOverloadGeneration.var"#4#6"{Set{DataType}}, Base.MethodList}, ChainRulesOverloadGeneration.var"#1#2"{typeof(Nabla.generate_overload), typeof(ChainRulesCore.rrule)}}, st::Int64)
│        @ Base ./array.jl:770
│      [9] grow_to!(dest::Vector{Union{Nothing, Bool}}, itr::Base.Generator{Base.Iterators.Filter{ChainRulesOverloadGeneration.var"#4#6"{Set{DataType}}, Base.MethodList}, ChainRulesOverloadGeneration.var"#1#2"{typeof(Nabla.generate_overload), typeof(ChainRulesCore.rrule)}})
│        @ Base ./array.jl:743
│     [10] collect(itr::Base.Generator{Base.Iterators.Filter{ChainRulesOverloadGeneration.var"#4#6"{Set{DataType}}, Base.MethodList}, ChainRulesOverloadGeneration.var"#1#2"{typeof(Nabla.generate_overload), typeof(ChainRulesCore.rrule)}})
│        @ Base ./array.jl:676
│     [11] map(f::Function, A::Base.Iterators.Filter{ChainRulesOverloadGeneration.var"#4#6"{Set{DataType}}, Base.MethodList})
│        @ Base ./abstractarray.jl:2323
│     [12] on_new_rule(hook_fun::Function, rule_kind::Function)
│        @ ChainRulesOverloadGeneration ~/.julia/packages/ChainRulesOverloadGeneration/shNba/src/ruleset_loading.jl:28
│     [13] top-level scope
│        @ ~/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/Nabla.jl:76
│     [14] include
│        @ ./Base.jl:386 [inlined]
│     [15] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
│        @ Base ./loading.jl:1235
│     [16] top-level scope
│        @ none:1
│     [17] eval
│        @ ./boot.jl:360 [inlined]
│     [18] eval(x::Expr)
│        @ Base.MainInclude ./client.jl:446
│     [19] top-level scope
│        @ none:1
│     [20] eval
│        @ ./boot.jl:360 [inlined]
│     [21] exec_options(opts::Base.JLOptions)
│        @ Base ./client.jl:261
│     [22] _start()
│        @ Base ./client.jl:485
└ @ ChainRulesOverloadGeneration ~/.julia/packages/ChainRulesOverloadGeneration/shNba/src/ruleset_loading.jl:157
WARNING: Method definition vect(Nabla.Node{var"#s8700"} where var"#s8700"...) where {var"##N#1270"} in module Nabla at /home/oxinabox/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/sensitivities/chainrules.jl:173 overwritten on the same line (check for duplicate calls to `include`).
  ** incremental compilation may be fatally broken for this module **

WARNING: Method definition vect##kw(Any, typeof(Base.vect), Nabla.Node{var"#s8699"} where var"#s8699"...) where {var"##N#1270"} in module Nabla at /home/oxinabox/JuliaEnvs/ChainRulesWorld/Nabla.jl/src/sensitivities/chainrules.jl:173 overwritten on the same line (check for duplicate calls to `include`).
  ** incremental compilation may be fatally broken for this module **
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant