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

AssertionError from Core.Compiler #559

Closed
ablaom opened this issue Mar 22, 2024 · 2 comments
Closed

AssertionError from Core.Compiler #559

ablaom opened this issue Mar 22, 2024 · 2 comments

Comments

@ablaom
Copy link

ablaom commented Mar 22, 2024

Sorry I don't have a MWE, but the example in the readme works fine.

using SymbolicRegression, MLJBase, Random

rng = Random.MersenneTwister(0)
X = randn(rng, 30, 3)
y = @. cos(X[:, 1] * 2.1 - 0.9) * X[:, 2] - X[:, 3]

model = SRRegressor(deterministic=true, seed=0, parallelism=:serial, maxsize=10)
mach = machine(model, X, y)
fit!(mach)

julia> @descend predict(mach, X)
ERROR: AssertionError: label > 0
Stacktrace:
   [1] 
     @ Core.Compiler ./compiler/ssair/ir.jl:1321
   [2] cfg_simplify!(ir::Core.Compiler.IRCode)
     @ Core.Compiler ./compiler/ssair/passes.jl:2220
   [3] create_cthulhu_source
     @ ~/.julia/packages/Cthulhu/AlQim/src/interpreter.jl:126 [inlined]
   [4] transform_result_for_cache
     @ ~/.julia/packages/Cthulhu/AlQim/src/interpreter.jl:142 [inlined]
   [5] cache_result!(interp::Cthulhu.CthulhuInterpreter, result::Core.Compiler.InferenceResult)                                                              
     @ Core.Compiler ./compiler/typeinfer.jl:405
   [6] _typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:283
   [7] typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:219
   [8] 
     @ Core.Compiler ./compiler/typeinfer.jl:930
   [9] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:629
  [10] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:95
  [11] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2087
  [12] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2169
  [13] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2162
  [14] abstract_call(interp::Cthulhu.CthulhuInterpreter, arginfo::Core.Compiler.ArgInfo, sv::Core.Compiler.InferenceState)                                                             
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2354
  [15] abstract_eval_call(interp::Cthulhu.CthulhuInterpreter, e::Expr, vtypes::Vector{…}, sv
::Core.Compiler.InferenceState)                                                            
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2370
  [16] abstract_eval_statement_expr(interp::Cthulhu.CthulhuInterpreter, e::Expr, vtypes::Vector{…}, sv::Core.Compiler.InferenceState)                                                
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2380
  [17] abstract_eval_statement(interp::Cthulhu.CthulhuInterpreter, e::Any, vtypes::Vector{…}
, sv::Core.Compiler.InferenceState)                                                        
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2624
  [18] abstract_eval_basic_statement(interp::Cthulhu.CthulhuInterpreter, stmt::Any, pc_vartable::Vector{…}, frame::Core.Compiler.InferenceState)                                
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2913
  [19] typeinf_local(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState
)                                                                                          
     @ Core.Compiler ./compiler/abstractinterpretation.jl:3098
  [20] typeinf_nocycle(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)                                                               
     @ Core.Compiler ./compiler/abstractinterpretation.jl:3186
  [21] _typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:247
--- the last 15 lines are repeated 11 more times ---
 [187] typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:219
 [188] 
     @ Core.Compiler ./compiler/typeinfer.jl:930
 [189] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:629
 [190] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:95
 [191] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2087
 [192] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2169
 [193] abstract_apply(interp::Cthulhu.CthulhuInterpreter, argtypes::Vector{…}, si::Core.Compiler.StmtInfo, sv::Core.Compiler.InferenceState, max_methods::Int64)               
     @ Core.Compiler ./compiler/abstractinterpretation.jl:1612
 [194] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2004
 [195] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2169
 [196] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2162
 [197] abstract_call(interp::Cthulhu.CthulhuInterpreter, arginfo::Core.Compiler.ArgInfo, sv::Core.Compiler.InferenceState)                                                             
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2354
 [198] abstract_eval_call(interp::Cthulhu.CthulhuInterpreter, e::Expr, vtypes::Vector{…}, sv
::Core.Compiler.InferenceState)                                                            
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2370
 [199] abstract_eval_statement_expr(interp::Cthulhu.CthulhuInterpreter, e::Expr, vtypes::Vector{…}, sv::Core.Compiler.InferenceState)                                                
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2380
 [200] abstract_eval_statement(interp::Cthulhu.CthulhuInterpreter, e::Any, vtypes::Vector{…}
, sv::Core.Compiler.InferenceState)                                                        
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2624
 [201] abstract_eval_basic_statement(interp::Cthulhu.CthulhuInterpreter, stmt::Any, pc_vartable::Vector{…}, frame::Core.Compiler.InferenceState)                                
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2889
 [202] typeinf_local(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState
)                                                                                          
     @ Core.Compiler ./compiler/abstractinterpretation.jl:3098
 [203] typeinf_nocycle(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)                                                               
     @ Core.Compiler ./compiler/abstractinterpretation.jl:3186
 [204] _typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:247
 [205] typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:219
 [206] 
     @ Core.Compiler ./compiler/typeinfer.jl:930
 [207] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:629
 [208] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:95
 [209] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2087
 [210] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2169
 [211] 
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2162
 [212] abstract_call(interp::Cthulhu.CthulhuInterpreter, arginfo::Core.Compiler.ArgInfo, sv::Core.Compiler.InferenceState)                                                             
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2354
 [213] abstract_eval_call(interp::Cthulhu.CthulhuInterpreter, e::Expr, vtypes::Vector{…}, sv
::Core.Compiler.InferenceState)                                                            
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2370
 [214] abstract_eval_statement_expr(interp::Cthulhu.CthulhuInterpreter, e::Expr, vtypes::Vector{…}, sv::Core.Compiler.InferenceState)                                                
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2380
 [215] abstract_eval_statement(interp::Cthulhu.CthulhuInterpreter, e::Any, vtypes::Vector{…}
, sv::Core.Compiler.InferenceState)                                                        
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2624
 [216] abstract_eval_basic_statement(interp::Cthulhu.CthulhuInterpreter, stmt::Any, pc_vartable::Vector{…}, frame::Core.Compiler.InferenceState)                                
     @ Core.Compiler ./compiler/abstractinterpretation.jl:2913
--- the last 15 lines are repeated 4 more times ---
 [277] typeinf_local(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState
)                                                                                          
     @ Core.Compiler ./compiler/abstractinterpretation.jl:3098
 [278] typeinf_nocycle(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)                                                               
     @ Core.Compiler ./compiler/abstractinterpretation.jl:3186
 [279] _typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:247
 [280] typeinf(interp::Cthulhu.CthulhuInterpreter, frame::Core.Compiler.InferenceState)
     @ Core.Compiler ./compiler/typeinfer.jl:219
 [281] do_typeinf!(interp::Cthulhu.CthulhuInterpreter, mi::Core.MethodInstance)
     @ Cthulhu ~/.julia/packages/Cthulhu/AlQim/src/Cthulhu.jl:772
 [282] mkinterp(interp::Core.Compiler.NativeInterpreter, args::Any)
     @ Cthulhu ~/.julia/packages/Cthulhu/AlQim/src/Cthulhu.jl:784
 [283] _descend(term::REPL.Terminals.TTYTerminal, args::Any; interp::Core.Compiler.NativeInterpreter, kwargs::@Kwargs{…})                                        
     @ Cthulhu ~/.julia/packages/Cthulhu/AlQim/src/Cthulhu.jl:806
 [284] __descend_with_error_handling(args::Any; terminal::Any, kwargs...)
     @ Cthulhu ~/.julia/packages/Cthulhu/AlQim/src/Cthulhu.jl:222
 [285] _descend_with_error_handling(f::Any, argtypes::Any; kwargs::@Kwargs{iswarn::Bool})
     @ Cthulhu ~/.julia/packages/Cthulhu/AlQim/src/Cthulhu.jl:211
 [286] descend_code_typed(::Any, ::Vararg{Any}; kwargs::@Kwargs{})
     @ Cthulhu ~/.julia/packages/Cthulhu/AlQim/src/Cthulhu.jl:169
Some type information was truncated. Use `show(err)` to see complete types.
(jl_5EyzES) pkg> st
Status `/private/var/folders/4n/gvbmlhdc8xj973001s6vdyw00000gq/T/jl_5EyzES/Project.toml`
  [f68482b8] Cthulhu v2.12.0
  [a7f614a8] MLJBase v1.2.1
⌃ [8254be44] SymbolicRegression v0.23.3

julia> versioninfo()
Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: macOS (x86_64-apple-darwin22.4.0)
  CPU: 12 × Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
Threads: 12 default, 0 interactive, 6 GC (on 12 virtual cores)
Environment:
  JULIA_LTS_PATH = /Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
  JULIA_PATH = /Applications/Julia-1.10.app/Contents/Resources/julia/bin/julia
  JULIA_EGLOT_PATH = /Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia
  JULIA_NUM_THREADS = 12
  JULIA_NIGHTLY_PATH = /Applications/Julia-1.10.app/Contents/Resources/julia/bin/julia
@ablaom
Copy link
Author

ablaom commented Mar 22, 2024

Okay, this probably a duplicate of #523 and I'm just waiting for a new release to be tagged.

aviatesk added a commit that referenced this issue Mar 23, 2024
The previous version check wasn't strict enough.
@aviatesk
Copy link
Member

Will be fixed in v2.12.1.

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

2 participants