JuliaPy / JuliaPy/PythonCall.jl

juliacall segfaults when loading a package that uses PythonCall

Abierto
#211 5 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
1.1k
Forks
86
Merge medio
1 d 22 h
PR fusionados (30 d)
3

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
julia, python
Área
backend
Tipo de issue
Error
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.