JuliaComputing / ScoringEngineDemo.jl

Demo of a scoring engine. From data wrangling to model serving on docker
Other
22 stars 4 forks source link

ERROR: LoadError: InitError: UndefVarError: Pair not defined #4

Closed AbhimanyuAryan closed 2 years ago

AbhimanyuAryan commented 2 years ago

Trying to run the app after a long time. I am trying to replicate this app with Genie Builder. While running the app I get this error. Any idea what went wrong? I looks like a BSON problem but not sure what is it exactly

julia> include("bin/main.jl")
┌ Info: Julia version:
└   VERSION = v"1.6.6"
┌ Info: @__DIR__:
└   #= /Users/abhi/Git/ScoringEngineDemo.jl/bin/main.jl:2 =# @__DIR__ = "/Users/abhi/Git/ScoringEngineDemo.jl/bin"
┌ Info: readdir(@__DIR__):
│   readdir(#= /Users/abhi/Git/ScoringEngineDemo.jl/bin/main.jl:3 =# @__DIR__()) =
│    8-element Vector{String}:
│     "app.jl"
│     "fig"
│     "main.jl"
│     "report.html"
│     "scoring-api.jl"
│     "setup.jl"
│     "stipple-intro.jl"
└     "ui.jl"
[ Info: Initializing packages
ERROR: LoadError: InitError: UndefVarError: Pair not defined
Stacktrace:
  [1] #31
    @ ~/.julia/packages/BSON/rOaki/src/extensions.jl:21 [inlined]
  [2] (::Base.BottomRF{BSON.var"#31#32"})(acc::Module, x::String)
    @ Base ./reduce.jl:81
  [3] _foldl_impl(op::Base.BottomRF{BSON.var"#31#32"}, init::Module, itr::Vector{Any})
    @ Base ./reduce.jl:62
  [4] foldl_impl
    @ ./reduce.jl:48 [inlined]
  [5] mapfoldl_impl
    @ ./reduce.jl:44 [inlined]
  [6] _mapreduce_dim
    @ ./reducedim.jl:315 [inlined]
  [7] #mapreduce#675
    @ ./reducedim.jl:310 [inlined]
  [8] #reduce#677
    @ ./reducedim.jl:359 [inlined]
  [9] resolve(fs::Vector{Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:21
 [10] (::BSON.var"#35#36")(d::Dict{Symbol, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:64
 [11] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [12] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
 [13] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [14] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [15] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [16] (::BSON.var"#17#20"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [17] applychildren!(f::BSON.var"#17#20"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [18] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [19] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
 [20] (::BSON.var"#49#50")(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:167
 [21] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:92
 [22] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [23] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [24] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [25] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [26] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [27] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [28] (::BSON.var"#18#21"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:82
 [29] applychildren!(f::BSON.var"#18#21"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [30] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:82
 [31] (::BSON.var"#49#50")(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:168
 [32] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:92
 [33] (::BSON.var"#19#22"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:86
 [34] applychildren!(f::BSON.var"#19#22"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [35] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:86
 [36] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
 [37] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:103 [inlined]
 [38] load
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:108 [inlined]
 [39] __init__()
    @ ScoringEngineDemo ~/Git/ScoringEngineDemo.jl/src/inference.jl:7
 [40] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:696
 [41] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:782
 [42] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1020
 [43] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
 [44] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
 [45] include(fname::String)
    @ Base.MainInclude ./client.jl:444
 [46] top-level scope
    @ REPL[1]:1
during initialization of module ScoringEngineDemo
in expression starting at /Users/abhi/Git/ScoringEngineDemo.jl/bin/main.jl:10
jeremiedb commented 2 years ago

Thanks for reporting the issue. It effectively looks associated with BSON compatibility. I've encountered this when using Julia 1.6, while the models used in the demo were built using Julia 1.7. Could you test on Julia 1.7 to confirm whether it is now working? I've opened a PR to set compat to Julia 1.7 and avoid this issue: https://github.com/JuliaComputing/ScoringEngineDemo.jl/pull/5.

AbhimanyuAryan commented 2 years ago

It does work with Julia 1.7.2. Thanks :)

AbhimanyuAryan commented 2 years ago

also @jeremiedb any way we can fix this demo for Julia 1.8.0-beta3 I am trying to rebuild this demo with GenieBuilder(which is using Julia 1.8) but this looks like something to with const being changed

If I am not wrong should use Refs with const? Or it's something else because I also see BSON here in error stack

ERROR: LoadError: setfield!: const field .names of type TypeName cannot be changed
Stacktrace:
  [1] setproperty!(x::Core.TypeName, f::Symbol, v::Core.SimpleVector)
    @ Base ./Base.jl:39
  [2] newstruct_raw(cache::IdDict{Any, Any}, #unused#::Type{Core.TypeName}, d::Dict{Symbol, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/anonymous.jl:136
  [3] (::BSON.var"#49#50")(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:169
  [4] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:92
  [5] (::BSON.var"#18#21"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:82
  [6] applychildren!(f::BSON.var"#18#21"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
  [7] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:82
  [8] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
  [9] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [10] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [11] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [12] (::BSON.var"#17#20"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [13] applychildren!(f::BSON.var"#17#20"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [14] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [15] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
 [16] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [17] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [18] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [19] (::BSON.var"#17#20"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [20] applychildren!(f::BSON.var"#17#20"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [21] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:80
 [22] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
 [23] (::BSON.var"#49#50")(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:167
 [24] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:92
 [25] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [26] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [27] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [28] (::BSON.var"#23#24"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:98
 [29] applychildren!(f::BSON.var"#23#24"{IdDict{Any, Any}, Module}, x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:26
 [30] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:98 [inlined]
 [31] (::BSON.var"#18#21"{IdDict{Any, Any}, Module})(x::Vector{Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:82
 [32] applychildren!(f::BSON.var"#18#21"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [33] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:82
 [34] (::BSON.var"#49#50")(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/extensions.jl:168
 [35] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:92
 [36] (::BSON.var"#19#22"{IdDict{Any, Any}, Module})(x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:86
 [37] applychildren!(f::BSON.var"#19#22"{IdDict{Any, Any}, Module}, x::Dict{Symbol, Any})
    @ BSON ~/.julia/packages/BSON/rOaki/src/BSON.jl:19
 [38] _raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:86
 [39] raise_recursive(d::Dict{Symbol, Any}, cache::IdDict{Any, Any}, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:93
 [40] raise_recursive
    @ ~/.julia/packages/BSON/rOaki/src/read.jl:103 [inlined]
 [41] load(x::String, init::Module)
    @ BSON ~/.julia/packages/BSON/rOaki/src/read.jl:108
 [42] top-level scope
    @ ~/Git/ScoringEngineDemo.jl/bin/setup.jl:18
 [43] include(fname::String)
    @ Base.MainInclude ./client.jl:476
 [44] top-level scope
    @ ~/Git/ScoringEngineDemo.jl/bin/main.jl:29
 [45] include(fname::String)
    @ Base.MainInclude ./client.jl:476
 [46] top-level scope
    @ REPL[3]:1
in expression starting at /Users/abhi/Git/ScoringEngineDemo.jl/bin/setup.jl:18
in expression starting at /Users/abhi/Git/ScoringEngineDemo.jl/bin/main.jl:29