JuliaPy / JuliaPy/PythonCall.jl

On PythonCall load, UndefRefError: access to undefined reference

Đang mở
#765 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Julia
Star
1.1k
Fork
86
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
3

Mô tả

**Affects:** PythonCall

**Describe the bug**

https://github.com/JuliaIO/PyTensorStore.jl/actions/runs/24747323082/job/72507767012?pr=3

```
ERROR: LoadError: InitError: UndefRefError: access to undefined reference
Stacktrace:
[1] _pyjl_new(t::Ptr{PythonCall.C.PyObject}, ::Ptr{PythonCall.C.PyObject}, ::Ptr{PythonCall.C.PyObject})
@ PythonCall.JlWrap.Cjl ~/.julia/packages/PythonCall/83z4q/src/JlWrap/C.jl:24
[2] PyObject_CallObject
@ ~/.julia/packages/PythonCall/83z4q/src/C/pointers.jl:300 [inlined]
[3] PyJuliaValue_New
@ ~/.julia/packages/PythonCall/83z4q/src/JlWrap/C.jl:392 [inlined]
[4] macro expansion
@ ~/.julia/packages/PythonCall/83z4q/src/Core/Py.jl:118 [inlined]
[5] pyjl(t::PythonCall.Py, v::Module)
@ PythonCall.JlWrap ~/.julia/packages/PythonCall/83z4q/src/JlWrap/base.jl:7
[6] pyjl
@ ~/.julia/packages/PythonCall/83z4q/src/JlWrap/any.jl:400 [inlined]
[7] Py
@ ~/.julia/packages/PythonCall/83z4q/src/JlWrap/base.jl:141 [inlined]
[8] macro expansion
@ ~/.julia/packages/PythonCall/83z4q/src/Core/Py.jl:117 [inlined]
[9] pysetattr
@ ~/.julia/packages/PythonCall/83z4q/src/Core/builtins.jl:78 [inlined]
[10] setproperty!(x::PythonCall.Py, k::Symbol, v::Module)
@ PythonCall.Core ~/.julia/packages/PythonCall/83z4q/src/Core/Py.jl:281
[11] __init__()
@ PythonCall.JlWrap ~/.julia/packages/PythonCall/83z4q/src/JlWrap/JlWrap.jl:70
[12] run_module_init(mod::Module, i::Int64)
@ Base ./loading.jl:1445
[13] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1433
[14] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any}; register::Bool)
@ Base ./loading.jl:1321
[15] _include_from_serialized
@ ./loading.jl:1276 [inlined]
[16] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128, stalecheck::Bool; reasons::Dict{String, Int64}, DEPOT_PATH::Vector{String})
@ Base ./loading.jl:2117
[17] _require_search_from_serialized
@ ./loading.jl:2011 [inlined]
[18] __require_prelocked(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:2629
[19] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:2495
[20] macro expansion
@ ./loading.jl:2423 [inlined]
[21] macro expansion
@ ./lock.jl:376 [inlined]
[22] __require(into::Module, mod::Symbol)
@ Base ./loading.jl:2388
[23] require(into::Module, mod::Symbol)
@ Base ./loading.jl:2364
[24] top-level scope
@ ~/work/PyTensorStore.jl/PyTensorStore.jl/src/PyTensorStore.jl:3
[25] include(mod::Module, _path::String)
@ Base ./Base.jl:306
[26] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
@ Base ./loading.jl:3028
[27] top-level scope
@ stdin:5
[28] eval(m::Module, e::Any)
@ Core ./boot.jl:489
[29] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
@ Base ./loading.jl:2874
[30] include_string
@ ./loading.jl:2884 [inlined]
[31] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:315
[32] _start()
@ Base ./client.jl:550
during initialization of module JlWrap
in expression starting at /home/runner/work/PyTensorStore.jl/PyTensorStore.jl/src/PyTensorStore.jl:1
```

**Your system**
Please provide detailed information about your system:

Ubuntu Linux (Github Linux runner)
Julia 1.12.6
Python 3.14.4
PythonCall v0.9.31

**Additional context**
Add any other context about the problem here.

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

Start by rerunning the linked GitHub Actions job on Ubuntu with Julia 1.12.6, Python 3.14.4, and PythonCall v0.9.31. Read PyTensorStore.jl/src/PyTensorStore.jl alongside the stack-trace locations in PythonCall's JlWrap/C.jl, C/pointers.jl, and JlWrap/JlWrap.jl. Done means the package loads without the reported UndefRefError in that environment.

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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/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.