-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Distributed.jl worker processes crash on Windows when importing ReverseDiff.jl #46441
Comments
Thr Github action output is likely to disappear after sometime. Could you copy or otherwise attach the relevant output here? |
Here is the copied output (Windows test):
|
A more minimal example if one just wants to test ReverseDiff.jl alone is: using Pkg, Distributed
import ReverseDiff
procs = addprocs(4)
project_path = splitdir(Pkg.project().path)[1]
@everywhere procs begin
Base.MainInclude.eval(
quote
using Pkg
Pkg.activate($$project_path)
import ReverseDiff
end,
)
end |
Since the issue is currently specific to ReverseDiff, should that be mentioned in the title? |
Done. Do you have access to a Windows machine? If so, it would be interesting to run a |
I do have a Windows machine. Let's handle this on the package issue. |
Distributed.jl worker processes crash when importing ReverseDiff.jl, and only on Windows. I haven't been able to find any explanation in ReverseDiff.jl itself, so I was hoping I could receive some assistance or clues here.
This bug has been observed on Julia 1.5 through 1.8. It only occurs on Windows (including$^{[1]}$ .)
windows-2019
,windows-2022
, andwindows-latest
. Ubuntu and macOS are unaffected, although seeOther posts on this issue:
This bug can reproduced with the following code, which dynamically allocates some worker processes, activates the current environment on each, and then imports a given package on each worker:
The only reliable$^{[1]}$ failure case here is Windows + ReverseDiff.jl. All other combinations of packages and operating systems work fine. I also note that the first import must occur. If the package is only imported on the worker processes, but not on the head worker, the error does not occur.
You can see an example of this error here: https://github.com/MilesCranmer/SymbolicRegression.jl/runs/7957291344?check_suite_focus=true#step:6:296. All packages are successfully imported, except when it comes to ReverseDiff.jl, and only on Windows.
cc @rikhuijzer @ChrisRackauckas @mohamed82008
The text was updated successfully, but these errors were encountered: