at_jl_exit sometimes crashes
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 10/100
Rechercherichtung
Überprüfe jl_atexit_hook(0), Base._atexit(0) und jl_gc_run_all_finalizers, um die im Bericht beschriebene Shutdown-Sequenz zu verstehen. Vergleiche das Verhalten und die verfügbaren Tests mit dem Fix im PythonCall.jl Pull Request 763; dieses Issue ist dort bereits als behoben markiert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Julia
- Sterne
- 1.1k
- Forks
- 89
- Ø Merge
- 2 T. 15 Std.
- Gemergte PRs (30 T.)
- 7
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus JuliaPy/PythonCall.jl
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
JuliaPy/PythonCall.jl#828 · 7 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
JuliaPy/PythonCall.jl#809 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
JuliaPy/PythonCall.jl#805 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
JuliaPy/PythonCall.jl#796 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
JuliaPy/PythonCall.jl#790 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in JuliaPy/PythonCall.jl
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 60/100
EnzymeAD/ReactantServer.jl#103 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
ClapeyronThermo/Clapeyron.jl#649 ·
-
Add DocStringExtensionsOffendocumentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
ohno/Antique.jl#165 ·
-
`UnitLowerTriangular(transpose(M')) \ b` returns a wrong solutionEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
JuliaLang/LinearAlgebra.jl#1749 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100