JuliaPy / JuliaPy/PythonCall.jl
Segfaults with frequent python calls from thread 1 on multithreaded Julia
- Ngôn ngữ chính
- Julia
- Star
- 1.1k
- Fork
- 86
- Merge trung bình
- 1 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 3
Mô tả
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?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- julia, python
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100