Open
Description
Affects: JuliaCall
Describe the bug
If I run this in a jupyter notebook
from juliacall import Main as jl
jl.println._jl_call_nogil("foo") # segfaus
I get a segfault.
It goes away if I disable the extension:
import os
os.environ["PYTHON_JULIACALL_AUTOLOAD_IPYTHON_EXTENSION"] = "no"
from juliacall import Main as jl
jl.println._jl_call_nogil("foo") # works
Also I get segfaults if I pass a python type that I would expect to be converted, e.g.
import os
os.environ["PYTHON_JULIACALL_AUTOLOAD_IPYTHON_EXTENSION"] = "no"
from juliacall import Main as jl
jl.println._jl_call_nogil({}) # segfaults
This goes away if I manually convert
import os
os.environ["PYTHON_JULIACALL_AUTOLOAD_IPYTHON_EXTENSION"] = "no"
from juliacall import Main as jl
jl.println._jl_call_nogil(jl.pyconvert(jl.Dict, {})) # works
Your system
- macos 13.6.8, M2
- Julia 1.10.4, with PythonCall 0.9.22
versioninfo()
Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: macOS (arm64-apple-darwin22.4.0)
CPU: 12 × Apple M2 Pro
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, apple-m1)
Threads: 1 default, 0 interactive, 1 GC (on 8 virtual cores)
Environment:
JULIA_PKG_USE_CLI_GIT = true
JULIA_PYTHONCALL_EXE = /Users/pcrein/.pyenv/versions/3.11.4/envs/test-juliacall/bin/python3.11
Pkg.status()
Status `~/.pyenv/versions/3.11.4/envs/test-juliacall/julia_env/Project.toml`
[6099a3de] PythonCall v0.9.22`
CondaPkg.status()
I don't seem to have condapkg