JuliaAI / CatBoost.jl

Julia wrapper of the python library CatBoost for boosted decision trees
MIT License
11 stars 3 forks source link

Tests failing #37

Closed ablaom closed 2 weeks ago

ablaom commented 2 weeks ago

Tests are now failing (without a change to source code):

Python Wrapper: Error During Test at /Users/anthony/.julia/packages/CatBoost/TiqIz/test/wrapper.jl:2
  Got exception outside of a @test
  InitError: Python: ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
  Python stacktrace:
   [1] init _catboost
     @ _catboost.pyx:1
   [2] <module>
     @ /var/folders/4n/gvbmlhdc8xj973001s6vdyw00000gq/T/jl_if9yQK/.CondaPkg/env/lib/python3.12/site-packages/catboost/plot_helpers.py:5
   [3] <module>
     @ /var/folders/4n/gvbmlhdc8xj973001s6vdyw00000gq/T/jl_if9yQK/.CondaPkg/env/lib/python3.12/site-packages/catboost/core.py:45
   [4] <module>
     @ /var/folders/4n/gvbmlhdc8xj973001s6vdyw00000gq/T/jl_if9yQK/.CondaPkg/env/lib/python3.12/site-packages/catboost/__init__.py:1
Rest of stack trace ``` Stacktrace: [1] pythrow() @ PythonCall.Core ~/.julia/packages/PythonCall/S5MOg/src/Core/err.jl:92 [2] errcheck @ ~/.julia/packages/PythonCall/S5MOg/src/Core/err.jl:10 [inlined] [3] pyimport(m::String) @ PythonCall.Core ~/.julia/packages/PythonCall/S5MOg/src/Core/builtins.jl:1444 [4] __init__() @ CatBoost ~/.julia/packages/CatBoost/TiqIz/src/CatBoost.jl:16 [5] run_module_init(mod::Module, i::Int64) @ Base ./loading.jl:1134 [6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String) @ Base ./loading.jl:1122 [7] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any}) @ Base ./loading.jl:1067 [8] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128) @ Base ./loading.jl:1581 [9] _require(pkg::Base.PkgId, env::String) @ Base ./loading.jl:1938 [10] __require_prelocked(uuidkey::Base.PkgId, env::String) @ Base ./loading.jl:1812 [11] #invoke_in_world#3 @ ./essentials.jl:926 [inlined] [12] invoke_in_world @ ./essentials.jl:923 [inlined] [13] _require_prelocked(uuidkey::Base.PkgId, env::String) @ Base ./loading.jl:1803 [14] macro expansion @ ./loading.jl:1790 [inlined] [15] macro expansion @ ./lock.jl:267 [inlined] [16] __require(into::Module, mod::Symbol) @ Base ./loading.jl:1753 [17] #invoke_in_world#3 @ ./essentials.jl:926 [inlined] [18] invoke_in_world @ ./essentials.jl:923 [inlined] [19] require(into::Module, mod::Symbol) @ Base ./loading.jl:1746 [20] macro expansion @ ~/.julia/packages/CatBoost/TiqIz/test/wrapper.jl:3 [inlined] [21] macro expansion @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined] [22] top-level scope @ ~/.julia/packages/CatBoost/TiqIz/test/wrapper.jl:3 [23] include(fname::String) @ Base.MainInclude ./client.jl:489 [24] top-level scope @ ~/.julia/packages/CatBoost/TiqIz/test/runtests.jl:11 [25] include(fname::String) @ Base.MainInclude ./client.jl:489 [26] top-level scope @ none:6 [27] eval @ ./boot.jl:385 [inlined] [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:291 [29] _start() @ Base ./client.jl:552 during initialization of module CatBoost Test Summary: | Error Total Time Python Wrapper | 1 1 37.6s ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken. in expression starting at /Users/anthony/.julia/packages/CatBoost/TiqIz/test/wrapper.jl:2 in expression starting at /Users/anthony/.julia/packages/CatBoost/TiqIz/test/runtests.jl:11 ERROR: Package CatBoost errored during testing (jl_ab4igX) pkg> ```
julia> versioninfo()
Julia Version 1.10.3
Commit 0b4590a5507 (2024-04-30 10:59 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
  DYLD_LIBRARY_PATH = /usr/local/homebrew/Cellar/libomp/9.0.1/lib/
  JULIA_NIGHTLY_PATH = /Applications/Julia-1.10.app/Contents/Resources/julia/bin

But also failing on other hardware, eg. here

cc @tylerjthomas9

tylerjthomas9 commented 2 weeks ago

I wonder if this is a numpy 2.0 issue. I will look into it.

ablaom commented 2 weeks ago

related ? https://github.com/JuliaPy/PythonCall.jl/issues/510