Skip to content

Loading PyCall causes segfault on any subsequent Julia interrupt #881

Closed
@marius311

Description

@marius311

On this one particular system I'm using, whenever I load PyCall, any time after I try to Ctrl+C interrupt, I get a segfault. Here's e.g. a single session, the first interrupt is fine, then after loading PyCall its a segfault.

julia> inv(rand(3000,3000))
^CERROR: InterruptException:
Stacktrace:
 [1] Array
   @ ./boot.jl:448 [inlined]
 [2] getri!(A::Matrix{Float64}, ipiv::Vector{Int64})
   @ LinearAlgebra.LAPACK /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/lapack.jl:1043
 [3] inv!
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/lu.jl:475 [inlined]
 [4] inv(A::Matrix{Float64})
   @ LinearAlgebra /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/dense.jl:812
 [5] top-level scope
   @ REPL[1]:1

julia> using PyCall

julia> inv(rand(3000,3000))
^CFatal Python error: Segmentation fault

Current thread 0x00002aaaaab3f380 (most recent call first):

signal (11): Segmentation fault
in expression starting at none:0
raise at /lib64/libpthread.so.0 (unknown line)
_IO_funlockfile at /lib64/libpthread.so.0 (unknown line)
maybe_collect at /buildworker/worker/package_linux64/build/src/julia_threads.h:313 [inlined]
jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1176
push! at ./array.jl:936 [inlined]

This is 100% reproducible, and it segfaults 100% of the time after loading PyCall. This is with PyCall 1.92.2, Julia 1.6-beta1 installed from binaries with 1 thread and Python 3.7.3 (default, Mar 27 2019, 22:11:17) [GCC 7.3.0] :: Anaconda, Inc. on linux.

Any suggestions for what I can do to try and debug this further / fix it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions