at_jl_exit sometimes crashes
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
- 10/100
Línea de trabajo
Revisa jl_atexit_hook(0), Base._atexit(0) y jl_gc_run_all_finalizers para entender la secuencia de apagado descrita en el informe. Compara el comportamiento y las pruebas disponibles con la corrección en la pull request 763 de PythonCall.jl; este issue ya está marcado como corregido allí.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Affects: JuliaCall
Describe the bug
When running multithreaded julia, python sometimes causes segmentation fault at exit.
Your system
Please provide detailed information about your system:
- Ubuntu 25.10
- Julia 1.12.6, Python 3.14.4, PythonCall 0.9.31, JuliaCall 0.9.31
Additional context
jl_atexit_hook(0) does three things in sequence:
- Run user atexit hooks (Base._atexit(0)).
- Schedule + run ALL registered finalizers (jl_gc_run_all_finalizers).
- Tear down threads, set jl_gc_disable_counter = 1.
Finalizers are best-effort, and running them during shutdown with multiple threads is probably where the crashes come from. Since the process is exiting, the finalizers don't semantically need to run — they're unsafe and not useful.
I tested that with only Base._atexit(0), my custom julia atexit` lambdas are executed
- Lenguaje dominante
- Julia
- Estrellas
- 1.1k
- Forks
- 89
- Merge medio
- 2 d 15 h
- PR fusionados (30 d)
- 7
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 JuliaPy/PythonCall.jl
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
JuliaPy/PythonCall.jl#828 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
JuliaPy/PythonCall.jl#809 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Locking julia dependenciesAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
JuliaPy/PythonCall.jl#805 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
JuliaPy/PythonCall.jl#796 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
JuliaPy/PythonCall.jl#790 ·
Los mantenedores suelen responder en 1 día
Todos los issues de JuliaPy/PythonCall.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
SciML/Optimization.jl#1414 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
SciML/OrdinaryDiffEq.jl#4831 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
SciML/ModelingToolkitStandardLibrary.jl#529 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
EnzymeAD/ReactantServer.jl#103 ·
Los mantenedores suelen responder en 1 día