JuliaPy / JuliaPy/pyjulia

signal (11): Segmentation fault in PyJulia 0.4.1,Python 2/3,Julia 1.1.0

Open
#306 9 comments 6 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
893
Forks
101
PR merge metrics
No merged PRs in 30d

Description

Running this simple python script

```
from julia import Julia
import numpy as np

ju = Julia()
ju.include("LJ.jl")

for j in range(100000):
e = ju.LJ.energy(np.random.rand(10,3))
if j % 50 == 0:
print(j,e)
```

where LJ.jl is the following Julia script

```
module LJ
using LinearAlgebra

function energy(R::Matrix{T}) where {T}
E = zero(T)
for i = 1:size(R, 2)-1, j = i+1:size(R,2)
r= norm(R[:,i] - R[:,j])
E += r^(-12) - 2 * r^(-6)
end
return E
end
end
```

gives me the following error:

```
signal (11): Segmentation fault
in expression starting at no file:0
ConvParam at /usr/local/src/conda/python-3.7.3/Modules/_ctypes/callproc.c:685 [inlined]
_ctypes_callproc at /usr/local/src/conda/python-3.7.3/Modules/_ctypes/callproc.c:1132
PyCFuncPtr_call at /usr/local/src/conda/python-3.7.3/Modules/_ctypes/_ctypes.c:3969
_PyObject_FastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_Call_Prepend at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_FastCallDict at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
PyObject_CallFunctionObjArgs at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
slot_tp_getattr_hook at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
builtin_getattr at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
function_code_fastcall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_Call_Prepend at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyObject_FastCallDict at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
object_vacall at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
PyObject_CallFunctionObjArgs at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
slot_tp_getattr_hook at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
PyEval_EvalCode at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
builtin_exec at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyMethodDef_RawFastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyCFunction_FastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallKeywords at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
call_function.lto_priv.1536 at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /root/miniconda3/lib/libpython3.7m.so.1.0 (unknown line)
macro expansion at /opt/julia/share/site/packages/PyCall/0jMpb/src/exception.jl:81 [inlined]
__pycall! at /opt/julia/share/site/packages/PyCall/0jMpb/src/pyfncall.jl:44
_pycall! at /opt/julia/share/site/packages/PyCall/0jMpb/src/pyfncall.jl:29
#call#89 at /opt/julia/share/site/packages/PyCall/0jMpb/src/pyfncall.jl:11 [inlined]
PyObject at /opt/julia/share/site/packages/PyCall/0jMpb/src/pyfncall.jl:89
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1864
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:323
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:411
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:625
jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:885
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f7b815ad9af)
unknown function (ip: 0x2)
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:894
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:764
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:713
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:793
eval at ./boot.jl:328
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
exec_options at ./client.jl:243
_start at ./client.jl:436
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2219
unknown function (ip: 0x40191d)
unknown function (ip: 0x401523)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4015c4)
Allocations: 34898355 (Pool: 34895806; Big: 2549); GC: 74
Segmentation fault
```

I've tested this several times and on a range of different machines (Ubuntu, MacOS). The error pops up every time after a several hundred thousand iterations. The error also pops up using Python 2. The Julia version is 1.1.0.

I've also tried using ```python-jl``` and it still gives raise to the segmentation fault.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.