-
Notifications
You must be signed in to change notification settings - Fork 59
Open
Description
While working with polynomials in SymPy.jl I encountered segfaults when using Julia threads. MWE:
julia> using SymPy
julia> @syms a
(a,)
julia> p = sympy.Poly(a^2 + 3*a -2, a)
Poly(a**2 + 3*a - 2, a, domain='ZZ')
julia> for i in 0:2; @show p.coeff_monomial(a^i); end
p.coeff_monomial(a ^ i) = -2
p.coeff_monomial(a ^ i) = 3
p.coeff_monomial(a ^ i) = 1
julia> Threads.@threads for i in 0:2; @show p.coeff_monomial(a^i); end
signal (11): Segmentation fault
in expression starting at REPL[12]:1
signal (11): Segmentation fault
in expression starting at REPL[12]:1
PyObject_GC_Del at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_Malloc at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_GC_Malloc at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_GC_New at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyTraceBack_FromFrame at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
PyTraceBack_Here at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_FastCallDict at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_Call_Prepend at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
slot_tp_init at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
function_code_fastcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
type_call.lto_priv.242 at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_MakeTpCall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
function_code_fastcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_FastCall_Prepend at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
slot_tp_richcompare at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
PyObject_RichCompare at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
PyObject_RichCompareBool at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_FastCallDict at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_Call_Prepend at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
tuplerichcompare.lto_priv.211 at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
PyObject_RichCompare at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
slot_tp_init at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
function_code_fastcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
type_call.lto_priv.242 at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_MakeTpCall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
method_vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
function_code_fastcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_FastCallDict at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
method_vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyObject_Call_Prepend at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
PyVectorcall_Call at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
macro expansion at /home/goran/.julia/packages/PyCall/BD546/src/exception.jl:95 [inlined]
#107 at /home/goran/.julia/packages/PyCall/BD546/src/pyfncall.jl:43 [inlined]
disable_sigint at ./c.jl:458 [inlined]
__pycall! at /home/goran/.julia/packages/PyCall/BD546/src/pyfncall.jl:42 [inlined]
_pycall! at /home/goran/.julia/packages/PyCall/BD546/src/pyfncall.jl:29
_pycall! at /home/goran/.julia/packages/PyCall/BD546/src/pyfncall.jl:11
unknown function (ip: 0x7f8fd7194263)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
#_#114 at /home/goran/.julia/packages/PyCall/BD546/src/pyfncall.jl:86
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
slot_tp_init at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
do_apply at /buildworker/worker/package_linux64/build/src/builtins.c:670
PyObject at /home/goran/.julia/packages/PyCall/BD546/src/pyfncall.jl:86
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
macro expansion at ./show.jl:955 [inlined]
macro expansion at ./REPL[12]:1 [inlined]
#21#threadsfor_fun at ./threadingconstructs.jl:81
#21#threadsfor_fun at ./threadingconstructs.jl:48
unknown function (ip: 0x7f8fd719616c)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
type_call.lto_priv.242 at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
_PyObject_MakeTpCall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
call_function at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
start_task at /buildworker/worker/package_linux64/build/src/task.c:839
_PyEval_EvalFrameDefault at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
_PyFunction_Vectorcall at /home/goran/.julia/conda/3/lib/libpython3.8.so.1.0 (unknown line)
unknown function (ip: (nil))
Allocations: 9128275 (Pool: 9125487; Big: 2788); GC: 11
Segmentation fault
Is this only problematic with some functions or is SymPy.jl in general not threadsafe?
Metadata
Metadata
Assignees
Labels
No labels