Skip to content

Potential interference with Distributed.jl on Windows #34

@MilesCranmer

Description

@MilesCranmer

Hi all,

I was wondering if you could help me solve the following mystery. As described in detail on discourse, my GitHub action for SymbolicRegression.jl started breaking about 10 days ago on Windows systems. Following some detective work with the help of @rikhuijzer, I did a binary search over all changed dependencies. It seems as though adding a compat entry:

PreallocationTools = "=0.4.0"

solves this issue. i.e., it seems like the change from 0.4.0 to 0.4.2 is, for whatever reason, breaking SymbolicRegression.jl's distributed tests on Windows.

The weird thing is that PreallocationTools is not a direct dependency (dependency of LabelledArrays.jl which is itself a dependency of SymbolicUtils.jl), but it seems like it is causing something to break when worker processes try to activate the environment.

The diff between 0.4.0 and 0.4.2 doesn't raise any red flags, so I also tried to rule out some other things. Since ReverseDiff.jl and FunctionWrappers.jl are newly-introduced requirements by 0.4.2, I tried installing them manually. This doesn't recreate the bug - it only seems to be from PreallocationTools.jl for some reason. All other packages can have their exact same versions, but when PreallocationTools.jl is updated, it seems to cause the bug.

In terms of actual interaction with PreallocationTools, the only thing I can think of is through SymbolicUtils.jl. Is there perhaps any code in SymbolicUtils.jl that would behave differently if the newer version of PreallocationTools.jl is installed?

You can view an example of this error here: https://github.com/MilesCranmer/SymbolicRegression.jl/actions/runs/2896116572 - (I pasted the error message on the discourse thread) - sometimes the jobs hang, and sometimes they crash.

I also realized that the reason the job appears to work on Julia 1.5 on Windows is because PreallocationTools.jl requires Julia 1.6, so it doesn't get installed on the Julia 1.5 runs.

Thanks!
Miles

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions