Interference with Distributed.jl on Windows
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- julia
- Área
- distributed-systems
Línea de trabajo
Comienza con la reproducción proporcionada en Windows usando Distributed.addprocs, Pkg.activate y @everywhere import ReverseDiff; después, compárala con Ubuntu y macOS. Inspecciona el registro de errores de GitHub Actions enlazado para encontrar el primer fallo y determina si la importación de ReverseDiff lo causa; el trabajo estará terminado cuando la configuración de los workers y las pruebas afectadas de Windows pasen sin romper otras plataformas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Following some detective work with the help of @rikhuijzer and @ChrisRackauckas on https://discourse.julialang.org/t/github-action-mysteriously-starts-breaking-on-windows/86048, it seems as though ReverseDiff.jl is interfering with Distributed.jl and causing some issues.
When I import ReverseDiff.jl into SymbolicRegression.jl (either directly, or if it is imported in a dependency of a dependency) the unit tests on Windows break. These unit tests use Distributed.jl to dynamically allocate worker processes. No other operating systems are affected.
This bug can reproduced with the following code, which dynamically allocates some worker processes, activates the current environment on each, and then imports ReverseDiff.jl on each.
using Pkg
using Distributed
import ReverseDiff
procs = addprocs(4)
# Activate env on workers:
project_path = splitdir(Pkg.project().path)[1]
@everywhere procs begin
Base.MainInclude.eval(
quote
using Pkg
Pkg.activate($$project_path)
end,
)
end
# Import package on workers:
@everywhere procs begin
Base.MainInclude.eval(import ReverseDiff)
end
This code will work on Ubuntu and macOS, and works for every other package I've tested it on (all the dependencies of SymbolicRegression.jl are loaded this way). It is just the combination of Windows + ReverseDiff.jl that produce an error for some weird reason. You can see the error log here: https://github.com/MilesCranmer/SymbolicRegression.jl/runs/7943853737?check_suite_focus=true#step:6:232.
I really have no idea what could be causing this. Any clue? Does ReverseDiff.jl change any core functions in any way that would impact this?
Thanks!
Miles
- Lenguaje dominante
- Julia
- Estrellas
- 395
- Forks
- 61
- Merge medio
- 23 h 18 min
- PR fusionados (30 d)
- 16
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaDiff/ReverseDiff.jl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
JuliaDiff/ReverseDiff.jl#318 ·
Los mantenedores suelen responder en 1 día
-
`@grad`/`@grad_from_chainrules` silently reuse a tangent if a pullback returns too few tangentsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
JuliaDiff/ReverseDiff.jl#315 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
JuliaDiff/ReverseDiff.jl#314 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
JuliaDiff/ReverseDiff.jl#321 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
JuliaDiff/ReverseDiff.jl#320 ·
Los mantenedores suelen responder en 1 día
Todos los issues de JuliaDiff/ReverseDiff.jl
Issues similares
-
found-by-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
exanauts/SparseDirectSolver.jl#92 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
lu_instance/qr_instance run a full factorization for FixedSizeArraysPosiblemente ocupada @devmotion la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaArrays/ArrayInterface.jl#510 ·
-
Segfault on x86_64 with AVX: over-aligned vector storePosiblemente ocupada @vchuravy la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
EnzymeAD/Enzyme.jl#3775 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día