JuliaPy / JuliaPy/PythonCall.jl

at_jl_exit sometimes crashes

Aberta
#764 0 comentários 0 reações 0 responsáveis Ver no GitHub
bug
Linguagem predominante
Julia
Estrelas
1.1k
Forks
86
Merge médio
1d 22h
PRs com merge (30d)
3

Descrição

**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:

1. Run user atexit hooks (Base._atexit(0)).
2. Schedule + run ALL registered finalizers (jl_gc_run_all_finalizers).
3. 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

Fixed by https://github.com/JuliaPy/PythonCall.jl/pull/763

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.