- Notifications
You must be signed in to change notification settings - Fork 78
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Affects: PythonCall
Describe the bug
A segmentation fault when trying to call a constructor from an imported Python package called harmonic, installed with CondaPkg.pip_add. The MWE seems to require having a project structure in place, I'm unable to reproduce this using a plain script. The issue is deterministically reproducible, see below.
The folder structure:
$ exa -a --tree . ├── CondaPkg.toml ├── Manifest.toml ├── Project.toml └── src └── MWE.jl Project.toml:
name = "MWE"uuid = "4995295b-c8e1-42cb-958b-a0cc4f73796a"authors = ["blahblah"] version = "0.0.1" [deps] CondaPkg = "992eb4ea-22a4-4c89-a5bb-47a3300528ab"PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d" [compat] CondaPkg = "=0.2.33"PythonCall = "=0.9.28"CondaPkg.toml:
[deps] python = "<3.11" [pip.deps] harmonic = ""Manifest.toml:
Details
# This file is machine-generated - editing it directly is not advisedjulia_version = "1.11.7"manifest_format = "2.0"project_hash = "d300a4187a8eae5fe37abe7ac28c490260578e63" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"version = "1.1.2" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"version = "1.11.0" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"version = "1.11.0" [[deps.CondaPkg]] deps = ["JSON3", "Markdown", "MicroMamba", "Pidfile", "Pkg", "Preferences", "Scratch", "TOML", "pixi_jll"] git-tree-sha1 = "bd491d55b97a036caae1d78729bdb70bf7dababc"uuid = "992eb4ea-22a4-4c89-a5bb-47a3300528ab"version = "0.2.33" [[deps.DataAPI]] git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe"uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"version = "1.16.0" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6"uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464"version = "1.0.0" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"version = "1.11.0" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"version = "1.6.0" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"version = "1.11.0" [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"version = "1.11.0" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"uuid = "82899510-4779-5014-852e-03e436cf321d"version = "1.0.0" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2"uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"version = "1.7.1" [[deps.JSON3]] deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] git-tree-sha1 = "411eccfe8aba0814ffa0fdf4860913ed09c34975"uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"version = "1.14.3" [deps.JSON3.extensions] JSON3ArrowExt = ["ArrowTypes"] [deps.JSON3.weakdeps] ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3"version = "1.11.0" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"version = "0.6.4" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"version = "8.6.0+0" [[deps.LibGit2]] deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"version = "1.11.0" [[deps.LibGit2_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5"version = "1.7.2+0" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"version = "1.11.0" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"version = "1.11.0" [[deps.MacroTools]] git-tree-sha1 = "1e0228a030642014fe5cfe68c2c0a818f9e3f522"uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"version = "0.5.16" [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"version = "1.11.0" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"version = "2.28.6+0" [[deps.MicroMamba]] deps = ["Pkg", "Scratch", "micromamba_jll"] git-tree-sha1 = "011cab361eae7bcd7d278f0a7a00ff9c69000c51"uuid = "0b3b1443-0f03-428d-bdfb-f27f9c1191ea"version = "0.1.14" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804"version = "1.11.0" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159"version = "2023.12.12" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"version = "1.2.0" [[deps.OrderedCollections]] git-tree-sha1 = "05868e21324cede2207c6f0f466b4bfef6d5e7ee"uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"version = "1.8.1" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] git-tree-sha1 = "7d2f8f21da5db6a806faf7b9b292296da42b2810"uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"version = "2.8.3" [[deps.Pidfile]] deps = ["FileWatching", "Test"] git-tree-sha1 = "2d8aaf8ee10df53d0dfb9b8ee44ae7c04ced2b03"uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307"version = "1.3.0" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"version = "1.11.0" [deps.Pkg.extensions] REPLExt = "REPL" [deps.Pkg.weakdeps] REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f"uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a"version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] git-tree-sha1 = "0f27480397253da18fe2c12a4ba4eb9eb208bf3d"uuid = "21216c6a-2e73-6563-6e65-726566657250"version = "1.5.0" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"version = "1.11.0" [[deps.PythonCall]] deps = ["CondaPkg", "Dates", "Libdl", "MacroTools", "Markdown", "Pkg", "Serialization", "Tables", "UnsafePointers"] git-tree-sha1 = "34510e11cabd7964291f32f14d28b367e9960e6e"uuid = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"version = "0.9.28" [deps.PythonCall.extensions] CategoricalArraysExt = "CategoricalArrays"PyCallExt = "PyCall" [deps.PythonCall.weakdeps] CategoricalArrays = "324d7699-5711-5eae-9e2f-1d82baa6b597"PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" [[deps.Random]] deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"version = "1.11.0" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"version = "0.7.0" [[deps.Scratch]] deps = ["Dates"] git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109"uuid = "6c6a2e73-6563-6170-7368-637461726353"version = "1.3.0" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"version = "1.11.0" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] git-tree-sha1 = "159331b30e94d7b11379037feeb9b690950cace8"uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4"version = "1.11.0" [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"version = "1.0.3" [[deps.TableTraits]] deps = ["IteratorInterfaceExtensions"] git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39"uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"version = "1.0.1" [[deps.Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] git-tree-sha1 = "f2c1efbc8f3a609aadf318094f8fc5204bdaf344"uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"version = "1.12.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"version = "1.10.0" [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"version = "1.11.0" [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"version = "1.11.0" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"version = "1.11.0" [[deps.UnsafePointers]] git-tree-sha1 = "c81331b3b2e60a982be57c046ec91f599ede674a"uuid = "e17b2a0c-0bdf-430a-bd0c-3a23cae4ff39"version = "1.0.0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a"version = "1.2.13+1" [[deps.micromamba_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] git-tree-sha1 = "2ca2ac0b23a8e6b76752453e08428b3b4de28095"uuid = "f8abcde7-e9b7-5caa-b8af-a437887ae8e4"version = "1.5.12+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"version = "1.59.0+0" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"version = "17.4.0+2" [[deps.pixi_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] git-tree-sha1 = "f349584316617063160a947a82638f7611a8ef0f"uuid = "4d7b5844-a134-5dcd-ac86-c8f19cd51bed"version = "0.41.3+0"src/MWE.jl:
module MWE using CondaPkg: CondaPkg using PythonCall: PythonCall const hm = PythonCall.pyimport("harmonic") function make(ndim) hm.Chains(ndim) returnnothingendendTo reproduce:
$ julia --project=. -e "using MWE; MWE.make(1)" CondaPkg Found dev dependencies: /private/tmp/condapkg/CondaPkg.toml CondaPkg Found dependencies: /Users/mhauru/.julia/packages/PythonCall/mkWc2/CondaPkg.toml CondaPkg Found dependencies: /Users/mhauru/.julia/packages/CondaPkg/0UqYV/CondaPkg.toml CondaPkg Resolving changes + harmonic (pip) + python + uv CondaPkg Initialising pixi │ /Users/mhauru/.julia/artifacts/d2fecc2a9fa3eac2108d3e4d9d155e6ff5dfd0b2/bin/pixi │ init │ --format pixi └ /private/tmp/condapkg/.CondaPkg ✔ Created /private/tmp/condapkg/.CondaPkg/pixi.toml CondaPkg Wrote /private/tmp/condapkg/.CondaPkg/pixi.toml │ [dependencies] │ uv = ">=0.4" │ │ [dependencies.python] │ channel = "conda-forge" │ build = "*cp*" │ version = "<3.11, >=3.9,<4" │ │ [project] │ name = ".CondaPkg" │ platforms = ["osx-arm64"] │ channels = ["conda-forge"] │ channel-priority = "strict" │ description = "automatically generated by CondaPkg.jl" │ │ [pypi-dependencies] └ harmonic = "*" CondaPkg Installing packages │ /Users/mhauru/.julia/artifacts/d2fecc2a9fa3eac2108d3e4d9d155e6ff5dfd0b2/bin/pixi │ install └ --manifest-path /private/tmp/condapkg/.CondaPkg/pixi.toml ✔ The default environment has been installed. [31978] signal 11 (2): Segmentation fault: 11 in expression starting at none:1 PyObject_GetAttr at /private/tmp/condapkg/.CondaPkg/.pixi/envs/default/lib/libpython3.10.dylib (unknown line) PyObject_GetAttr at /Users/mhauru/.julia/packages/PythonCall/mkWc2/src/C/pointers.jl:300 [inlined] macro expansion at /Users/mhauru/.julia/packages/PythonCall/mkWc2/src/Core/Py.jl:118 [inlined] pygetattr at /Users/mhauru/.julia/packages/PythonCall/mkWc2/src/Core/builtins.jl:58 getproperty at /Users/mhauru/.julia/packages/PythonCall/mkWc2/src/Core/Py.jl:250 [inlined] make at /private/tmp/condapkg/src/MWE.jl:9 unknown function (ip: 0x16d0480fb) jl_apply at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/./julia.h:2157 [inlined] do_call at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/interpreter.c:126 eval_stmt_value at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/interpreter.c:174 eval_body at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/interpreter.c:666 jl_interpret_toplevel_thunk at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/interpreter.c:824 jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/toplevel.c:943 jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/toplevel.c:886 jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/toplevel.c:886 ijl_toplevel_eval at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/toplevel.c:952 [inlined] ijl_toplevel_eval_in at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/toplevel.c:994 eval at ./boot.jl:430 [inlined] exec_options at ./client.jl:296 _start at ./client.jl:531 jfptr__start_73909.1 at /Users/mhauru/.julia/juliaup/julia-1.11.7+0.aarch64.apple.darwin14/lib/julia/sys.dylib (unknown line) jl_apply at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/./julia.h:2157 [inlined] true_main at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/jlapi.c:900 jl_repl_entrypoint at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-XG3Q6T6R70.0/build/default-honeycrisp-XG3Q6T6R70-0/julialang/julia-release-1-dot-11/src/jlapi.c:1059 Allocations: 10484352 (Pool: 10482312; Big: 2040); GC: 11 Segmentation fault: 11 Your system
macOS Sequoia 15.7 running on an M1 arm Mac.
julia> versioninfo() Julia Version 1.11.7 Commit f2b3dbda30a (2025-09-0812:10 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: macOS (arm64-apple-darwin24.0.0) CPU:10× Apple M1 Pro WORD_SIZE:64 LLVM: libLLVM-16.0.6 (ORCJIT, apple-m1) Threads:1 default, 0 interactive, 1 GC (on 8 virtual cores) Environment: JULIA_FORMATTER_SO =/Users/mhauru/julia_formatter.so julia>import Pkg, CondaPkg julia> Pkg.status() Project MWE v0.0.1 Status `/private/tmp/condapkg/Project.toml` [992eb4ea] CondaPkg v0.2.33 [6099a3de] PythonCall v0.9.28 julia> CondaPkg.status() CondaPkg Status /private/tmp/condapkg/CondaPkg.toml Environment /private/tmp/condapkg/.CondaPkg/.pixi/envs/default Packages python v3.10.18 (<3.11) Pip Packages harmonic v1.3.0Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working