JuliaPy / JuliaPy/PyCall.jl

Segment fault when use PyCall in v1.0

Đang mở
#515 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Julia
Star
1.5k
Fork
186
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Julia version:

```
julia> versioninfo()
Julia Version 1.0.0
Commit 5d4eaca0c9 (2018-08-08 20:58 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin17.7.0)
CPU: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
WORD_SIZE: 64
LIBM: libimf
LLVM: libLLVM-6.0.0 (ORCJIT, skylake)
```

PyCall status. (not only master branch, but also v1.17.1)
```
(v1.0) pkg> status
Status `~/.julia/environments/v1.0/Project.toml`
[7876af07] Example v0.5.1
[28b8d3ca] GR v0.32.2
[7073ff75] IJulia v1.9.2+ [`~/.julia/dev/IJulia`]
[c601a237] Interact v0.8.0
[72cad168] LuxurySparse v0.1.0 [`~/.julia/dev/LuxurySparse`]
[91a5bcdd] Plots v0.18.0
[438e738f] PyCall v1.17.1+ [`~/.julia/dev/PyCall`]
```

This works fine on v0.7.0 however.

```
julia> using PyCall

julia> @pyimport numpy as np

signal (11): Segmentation fault: 11
in expression starting at no file:0
PyUnicode_InternInPlace at /Users/roger/.julia/packages/Conda/a196/deps/usr/lib/libpython3.6m.dylib (unknown line)
PyImport_Import at /Users/roger/.julia/packages/Conda/a196/deps/usr/lib/libpython3.6m.dylib (unknown line)
PyImport_ImportModule at /Users/roger/.julia/packages/Conda/a196/deps/usr/lib/libpython3.6m.dylib (unknown line)
_pyimport at /Users/roger/.julia/packages/PyCall/fiJ3/src/PyCall.jl:398
pyimport at /Users/roger/.julia/packages/PyCall/fiJ3/src/PyCall.jl:422
jl_fptr_trampoline at /Users/roger/Documents/Repos/julia/src/gf.c:1829
do_call at /Users/roger/Documents/Repos/julia/src/interpreter.c:324
eval_stmt_value at /Users/roger/Documents/Repos/julia/src/interpreter.c:363 [inlined]
eval_body at /Users/roger/Documents/Repos/julia/src/interpreter.c:682
jl_interpret_toplevel_thunk_callback at /Users/roger/Documents/Repos/julia/src/interpreter.c:799
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x1108f35cf)
unknown function (ip: 0x3)
jl_interpret_toplevel_thunk at /Users/roger/Documents/Repos/julia/src/interpreter.c:808
jl_toplevel_eval_flex at /Users/roger/Documents/Repos/julia/src/toplevel.c:787
jl_toplevel_eval_in at /Users/roger/Documents/Repos/julia/src/builtins.c:622
eval at ./boot.jl:319
eval_user_input at /Users/roger/Documents/Repos/julia/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:85
macro expansion at /Users/roger/Documents/Repos/julia/usr/share/julia/stdlib/v1.0/REPL/src/REPL.jl:117 [inlined]
#28 at ./task.jl:259
jl_apply at /Users/roger/Documents/Repos/julia/src/./julia.h:1536 [inlined]
start_task at /Users/roger/Documents/Repos/julia/src/task.c:268
Allocations: 49221215 (Pool: 49208124; Big: 13091); GC: 109
[1] 99686 segmentation fault julia --color=yes
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Reproduce the crash with Julia 1.0, PyCall v1.17.1, and `@pyimport numpy as np` on macOS. Start in `src/PyCall.jl` around lines 398 and 422, using the reported stack trace to follow the import path. Done means the same import no longer causes a segmentation fault.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
julia, python
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.