JuliaPy / JuliaPy/PythonCall.jl

Segfaults with frequent python calls from thread 1 on multithreaded Julia

Ouverte
#201 18 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Julia
Étoiles
1.1k
Forks
86
Merge moyen
1 j 22 h
PR mergées (30 j)
3

Description

In a complex application with high-frequency python calls I always run into

```
signal (11): Segmentation fault
in expression starting at REPL[41]:2
_PyTrash_begin at /opt/conda/conda-bld/python-split_1649141344976/work/Objects/object.c:2125
```

segfaults when Julia has multiple threads (e.g. `JULIA_NUM_THREADS=4`). I do make sure to only use PythonCall from thread 1 (and I use asserts to verify that) but somehow that doesn't seem to be enough. When running with `JULIA_NUM_THREADS=1`, all is fine. Is PythonCall incompatible with multi-threaded Julia in general?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Start by reducing the reported high-frequency PythonCall workload and compare it with JULIA_NUM_THREADS=1 and JULIA_NUM_THREADS=4, while retaining the thread-1 assertion. Use the reported _PyTrash_begin segmentation fault as the initial failure to investigate. Done means establishing whether multithreaded Julia is generally incompatible here or identifying a reproducible condition and its fix.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
julia, python
Domaine
backend
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.