JuliaPy / JuliaPy/PythonCall.jl

On PythonCall load, UndefRefError: access to undefined reference

Ouverte
#765 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Julia
Étoiles
1.1k
Forks
86
Merge moyen
1 j 22 h
PR mergées (30 j)
3

Description

**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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
julia, python
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.