dmlc / XGBoost.jl

XGBoost Julia Package
Other
288 stars 110 forks source link

crash with Julia >= 1.8.4 under Windows 11 #153

Closed mlesnoff closed 1 year ago

mlesnoff commented 1 year ago

Another point. I am using XGBoost.jl v2.2.0, under Windows 11.

It works fine with Julia 1.8.3:

julia> versioninfo()
Julia Version 1.8.3
Commit 0434deb161 (2022-11-14 20:14 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 16 × Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
Threads: 8 on 16 virtual cores
Environment:
JULIA_EDITOR = code
JULIA_NUM_THREADS = 8

But when I uses Julia 1.8.4:

julia> versioninfo()
Julia Version 1.8.4
Commit 00177ebc4f (2022-12-23 21:32 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 16 × Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
Threads: 8 on 16 virtual cores
Environment:
JULIA_EDITOR = code
JULIA_NUM_THREADS = 8

running any function of XGBoost.jl kills my Julia session, for instance after doing:

using XGBoost
(X, y) = (randn(100,4), randn(100))

then the command below; bst = xgboost((X, y)) kills the process and closes directly Julia without any printed error in the terminal.

I created a thread at Discourse, but got no answer. I have the same problem with LIBSVM.jl (that also uses an external library, as does XGBoost; this may be linked). I created an issue there but the problem was not solved.

Did somebody observe the same problem and know what is happening?

ExpandingMan commented 1 year ago

Haven't seen anything like this on linux.

We are also seeing an unexplained error in windows in CI/CD right now. Last time a PR was merged windows was passing CI/CD, so it might be a dependency causing the issue, or it might be a Julia bug.

Help from somebody with windows would be appreciated, there's nothing I can do here.

devmotion commented 1 year ago

We are also seeing an unexplained error in windows in CI/CD right now. Last time a PR was merged windows was passing CI/CD, so it might be a dependency causing the issue, or it might be a Julia bug.

The passing tests in the PR (I assume you were referring to #142) used Julia 1.8.3: https://github.com/dmlc/XGBoost.jl/actions/runs/3742381823/jobs/6353253840#step:3:12 Whereas the merge commit on master failed on Julia 1.8.4 (https://github.com/dmlc/XGBoost.jl/actions/runs/3794879068/jobs/6453416312#step:3:12). Based on the OP the Julia version alone might explain the test failure on the master branch.

mlesnoff commented 1 year ago

The issue is still observed on v1.9.0-beta3 under Windows11: Julia crashes when using any function of XGBoost.jl (same for LIBSVM.jl, which is also a C/C++ wrapper)

See Discourse

OkonSamuel commented 1 year ago

Another point. I am using XGBoost.jl v2.2.0, under Windows 11.

It works fine with Julia 1.8.3:

julia> versioninfo()
Julia Version 1.8.3
Commit 0434deb161 (2022-11-14 20:14 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 16 × Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
Threads: 8 on 16 virtual cores
Environment:
JULIA_EDITOR = code
JULIA_NUM_THREADS = 8

But when I uses Julia 1.8.4:

julia> versioninfo()
Julia Version 1.8.4
Commit 00177ebc4f (2022-12-23 21:32 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 16 × Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
Threads: 8 on 16 virtual cores
Environment:
JULIA_EDITOR = code
JULIA_NUM_THREADS = 8

running any function of XGBoost.jl kills my Julia session, for instance after doing:

using XGBoost
(X, y) = (randn(100,4), randn(100))

then the command below; bst = xgboost((X, y)) kills the process and closes directly Julia without any printed error in the terminal.

I created a thread at Discourse, but got no answer. I have the same problem with LIBSVM.jl (that also uses an external library, as does XGBoost; this may be linked). I created an issue there but the problem was not solved.

Did somebody observe the same problem and know what is happening?

I just experienced this error on my Windows PC running Julia 1.8.4

mlesnoff commented 1 year ago

I just experienced this error on my Windows PC running Julia 1.8.4

Do you also observe this problem with LIBSVM.jl?

OkonSamuel commented 1 year ago

I just experienced this error on my Windows PC running Julia 1.8.4

Do you also observe this problem with LIBSVM.jl?

Yes, it's a similar problem with LIBSVM.jl

mlesnoff commented 1 year ago

Yes, it's a similar problem with LIBSVM.jl

Under Windows11, both packages do not work even with v1.9.0-beta3. At present, to use XGboost.jl or LIBSVM.jl, I don't see other solution than staying on Julia 1.8.3

tylerjthomas9 commented 1 year ago

The issue is on the Julia side. I know that it's being actively investigated, but it's quite difficult to debug the exact cause and fix it, so it could take a while before it's resolved.

mlesnoff commented 1 year ago

The issue is on the Julia side. I know that it's being actively investigated, but it's quite difficult to debug the exact cause and fix it, so it could take a while before it's resolved.

Thanks for the info. Good news it is investigated

mlesnoff commented 1 year ago

The issue is on the Julia side. I know that it's being actively investigated, but it's quite difficult to debug the exact cause and fix it, so it could take a while before it's resolved.

If I well understood, it seems that the issue is not exactly on the Julia side, as explained by @mkitti here

ExpandingMan commented 1 year ago

I have zero ability to diagnose or test windows issues, so I should state for posterity that we could use a windows maintainer.

mkitti commented 1 year ago

To summarize findings, there is an extraneous free somewhere. Mose is wondering if this is because we disabled TLS on Windows for gcc 12.

giordano commented 1 year ago

Fixed in Julia master by https://github.com/JuliaLang/julia/pull/50135

ExpandingMan commented 1 year ago

My understanding is that this was fixed with Julia 1.9.2, so I'm going to close this issue. Of course, please re-open if I'm mistaken.

mlesnoff commented 1 year ago

My understanding is that this was fixed with Julia 1.9.2, so I'm going to close this issue. Of course, please re-open if I'm mistaken.

yes, on my side, it works now Thanks for your help