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

What causes the Distributed.ProcessExitedException(3) error in Julia and how can I resolve it in my Pluto notebook? #1018

Closed
marthinkondjeni opened this issue Apr 27, 2023 · 6 comments

Comments

@marthinkondjeni
Copy link

I am encountering the Distributed.ProcessExitedException(3) error in my Julia Pluto notebook. I am not sure what is causing this error or how to resolve it. I have tried updating Julia and the Pluto package, as well as restarting the kernel, but the error persists.

Here is an example of the code that is causing the error:

MLJ.fit!(xgb_regressor, rows=train)
Can anyone help me understand what is causing this error and how I can resolve it? Thank you!

@ablaom
Copy link
Member

ablaom commented Apr 30, 2023

Thanks for reporting your problem, @marthinkondjeni .

I cannot really guess what the cause of your problem is. Can you please provide as much of the following as possible:

  • the error message (with fulll stack trace)
  • self-contained script to reproduce the fail, including data. Ideally you should be able to reproduce the error with a small synthetic data set, such as generated by these methods.
  • the output of versioninfo()
  • the output of using Pkg; Pkg.status()

Also, you can reproduce the error outside of Pluto? E.g, from the julia REPL?

@marthinkondjeni
Copy link
Author

marthinkondjeni commented Apr 30, 2023

below is a full stack trace

Worker 2 terminated.
Unhandled Task ERROR: IOError: read: connection reset by peer (ECONNRESET)
Stacktrace:
  [1] wait_readnb(x::Sockets.TCPSocket, nb::Int64)
    @ Base .\stream.jl:410
  [2] (::Base.var"#wait_locked#680")(s::Sockets.TCPSocket, buf::IOBuffer, nb::Int64)
    @ Base .\stream.jl:947
  [3] unsafe_read(s::Sockets.TCPSocket, p::Ptr{UInt8}, nb::UInt64)
    @ Base .\stream.jl:953
  [4] unsafe_read
    @ .\io.jl:759 [inlined]
  [5] unsafe_read(s::Sockets.TCPSocket, p::Base.RefValue{NTuple{4, Int64}}, n::Int64)
    @ Base .\io.jl:758
  [6] read!
    @ .\io.jl:760 [inlined]
  [7] deserialize_hdr_raw
    @ C:\Users\martthomas\AppData\Local\Programs\Julia-1.8.5\share\julia\stdlib\v1.8\Distributed\src\messages.jl:167 [inlined]
  [8] message_handler_loop(r_stream::Sockets.TCPSocket, w_stream::Sockets.TCPSocket, incoming::Bool)
    @ Distributed C:\Users\martthomas\AppData\Local\Programs\Julia-1.8.5\share\julia\stdlib\v1.8\Distributed\src\process_messages.jl:172
  [9] process_tcp_streams(r_stream::Sockets.TCPSocket, w_stream::Sockets.TCPSocket, incoming::Bool)
    @ Distributed C:\Users\martthomas\AppData\Local\Programs\Julia-1.8.5\share\julia\stdlib\v1.8\Distributed\src\process_messages.jl:133
 [10] (::Distributed.var"#103#104"{Sockets.TCPSocket, Sockets.TCPSocket, Bool})()
    @ Distributed .\task.jl:484

the output of using Pkg; Pkg.status()

Status `C:\Users\marth\.julia\environments\v1.8\Project.toml`
  [c3e4b0f8] Pluto v0.19.25

the output of versioninfo()

Julia Version 1.8.5
Commit 17cfb8e65e (2023-01-08 06:45 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 12 × Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
  Threads: 1 on 12 virtual cores

self-contained script to reproduce the fail, including data
the code could be found at Gitlab.

The file name is week4_svm_classifier.jl

@OkonSamuel
Copy link
Member

@marthinkondjeni I looked into your issue and its due to a bug from Julia itself for versions >=1.8.4.
For these versions of Julia, the bug causes the Julia terminal to close abruptly when training LBSVM and XGBoost models on Windows PC.
This issue doesn't show up on Mac and Linux builds of Julia.
The temporary solution for now is downgrading to Julia <=v1.8.3.

Below are the linked issues:
JuliaLang/julia#48187
JuliaML/LIBSVM.jl#95
dmlc/XGBoost.jl#153

@OkonSamuel
Copy link
Member

To help you manage several Julia versions seamlessly, you can checkout Juliaup

@ablaom ablaom closed this as completed May 10, 2023
@marthinkondjeni
Copy link
Author

@OkonSamuel, @ablaom Thank you so much

@ablaom
Copy link
Member

ablaom commented May 12, 2023

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

3 participants