at_jl_exit sometimes crashes
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 10/100
Piste de recherche
Examinez jl_atexit_hook(0), Base._atexit(0) et jl_gc_run_all_finalizers pour comprendre la séquence d’arrêt décrite dans le rapport. Comparez le comportement et les tests disponibles avec la correction du pull request 763 de PythonCall.jl ; cette issue y est déjà marquée comme corrigée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Julia
- Étoiles
- 1.1k
- Forks
- 89
- Merge moyen
- 1 j 22 h
- PR mergées (30 j)
- 5
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de JuliaPy/PythonCall.jl
-
Python 3.15 from conda-forge: "Could not find Python library" because libpython is not installedOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
JuliaPy/PythonCall.jl#838 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
JuliaPy/PythonCall.jl#828 · 7 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
JuliaPy/PythonCall.jl#809 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Locking julia dependenciesOuverteenhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
JuliaPy/PythonCall.jl#805 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
JuliaPy/PythonCall.jl#796 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de JuliaPy/PythonCall.jl
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
SciML/PETScDiffEq.jl#196 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 84/100
SciML/Catalyst.jl#1571 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
SciML/Optimization.jl#1414 ·
Les mainteneurs répondent en général sous 1 jour