ReverseDiff.jl interference with Distributed.jl (GitHub action mysteriously starts breaking on Windows)

Thanks for taking the time to isolate it. That will definitely be helpful.

2 Likes

No problem!

If someone has access to a Windows machine, it might be useful to run a git bisect on the entire version history of ReverseDiff.jl using the below MWE. Since it depends only on the standard library, you should be able to test older versions of ReverseDiff.jl just fine.

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

You might need to make the number of procs greater than the number of cores you have. For some reason, the error goes away if num_procs < cores. (But still, this error only occurs for ReverseDiff.jl)