JuliaPy / JuliaPy/PythonCall.jl

juliacall segfaults when loading a package that uses PythonCall

オープン
#211 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Julia
スター
1.1k
フォーク
86
平均マージ
1日 22時間
マージ済み PR(30日)
3

説明

juliacall always segfaults on me when I try to load a package that uses PythonCall.

This should reproduce the error:

```python
import juliapkg

juliapkg.add("BATPythonCall", "dc6699a0-bee0-4ed4-84d6-ad34e0e2513f", rev = "loaddebug", url = "https://github.com/bat/BATPythonCall.jl.git")

juliapkg.resolve()
juliapkg.status()

from juliacall import Main as jl

jl.seval("using BATPythonCall")
```

results in

```
free(): invalid pointer

signal (6): Aborted
in expression starting at none:1
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
```

BATPythonCall.jl (on branch "loaddebug") is basically an empty package that only does `using PythonCall`. Removing `using PythonCall` makes the segfault disappear.

CC @philippeller

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start by running the Python reproduction with juliacall, juliapkg, and BATPythonCall on its loaddebug branch, then compare it with the case where using PythonCall is removed. Trace the package-loading entry point involved in `jl.seval("using BATPythonCall")`; done means the package loads without the invalid-pointer abort.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
julia, python
領域
backend
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。