JuliaPy / JuliaPy/PythonCall.jl

172407 segmentation fault (core dumped) python

Aberta
#470 2 comentários 0 reações 0 responsáveis Ver no GitHub
bug
Linguagem predominante
Julia
Estrelas
1.1k
Forks
86
Merge médio
1d 22h
PRs com merge (30d)
3

Descrição

**Affects:** PythonCall / JuliaCall / Both [delete as appropriate]

**Describe the bug**

When I use `UNet.jl` from Python using `juliacall` I get a `segmentation fault (core dumped)`. When I went to reproduce this error with a minimal example it did work once, but then failed a second time. If I had to guess it might be related to the actual data being passed to the `Unet` model; maybe its spitting out a type that isn't compatible with Python.

This is a minimal example of the error. I activate my environment that has `UNet.jl` installed in it, then create some random data to simulate an image and pass it to an untrained model. I get the same results with real images and a trained model.

```
Python 3.11.7 (main, Dec 4 2023, 18:10:11) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from juliacall import Main as jl
>>> jl.seval("using Pkg")
>>> jl.Pkg.activate("./model")
Activating project at `~/work-code/sentinal-hub/model`
>>> jl.seval("using UNet")
>>> img_proxy = jl.rand(256,256,3,1)
>>> unet = jl.Unet(3)
>>> unet(img_proxy)
┌ Warning: Slow fallback implementation invoked for conv! You probably don't want this; check your datatypes.
│ yT = Float64
│ T1 = Float64
│ T2 = Float32
└ @ NNlib ~/.config/julia/packages/NNlib/Fg3DQ/src/conv.jl:192
┌ Warning: Slow fallback implementation invoked for ∇conv_data! You probably don't want this; check your datatypes.
│ yT = Float64
│ T1 = Float64
│ T2 = Float32
└ @ NNlib ~/.config/julia/packages/NNlib/Fg3DQ/src/conv.jl:233
Julia:
256×256×3×1 Array{Float64, 4}:
[:, :, 1, 1] =
-0.0010724 -0.00112552 -0.00113706 … -0.00103519 -0.000839464
-0.000795291 -0.00161727 -0.00204406 -0.0009993 -0.000439908
-0.000780577 -0.00116744 -0.00134499 -0.00115543 -0.000573814
-0.000860885 -0.00116414 -0.000965194 -0.00140911 -0.000761458
-0.000755788 -0.00132476 -0.00171172 -0.00114426 -0.000614211
-0.000820267 -0.00138928 -0.00182287 … -0.00135342 -0.000624007
-0.00142297 -0.0017854 -0.00136742 -0.00158695 -0.000791874
-0.00044614 -0.00124075 -0.00200514 -0.00151648 -0.00105216
-0.00127456 -0.00144327 -0.00143971 -0.00160615 -0.000831712
⋮ ⋱ ⋮
-0.00081029 -0.00123124 -0.00143105 -0.00146172 -0.00102908
-0.00142603 -0.00151539 -0.00138619 -0.00166838 -0.0007978
-0.000832417 -0.0018811 -0.0018118 -0.00110241 -0.000492823
-0.0010199 -0.00116831 -0.00139769 … -0.00111267 -0.000343543
-0.00121636 -0.00164644 -0.0013786 -0.0010909 -0.000885556
-0.000991607 -0.00133452 -0.00151132 -0.00168399 -0.000749311
-0.000765725 -0.00120822 -0.00101517 -0.00143129 -0.000483814
-0.000692864 -0.000724345 -0.00136182 -0.00145267 -0.000722094
-0.000375997 -0.000676651 -0.00050234 … -0.000409303 1.38022e-5

[:, :, 2, 1] =
-0.000460067 -0.000107008 5.77905e-6 … -0.000240988 0.000301157
-0.000478966 -0.000925048 -0.000427395 -0.000241288 -0.000264133
-0.000360445 -2.95737e-5 -0.000434373 -0.000289934 -6.69133e-5
-0.000216115 -0.000247443 -0.000172126 -0.000211383 -0.000136124
-0.000232735 -0.000382114 -0.000460042 -8.31166e-5 -0.000159839
-0.000589542 -8.42927e-5 -0.000223337 … -0.000574704 -5.28923e-5
-0.000425194 -0.000388782 -0.000240721 -0.000288628 -0.000253867
-0.000480769 -0.000710803 -0.000844951 -0.000207783 -0.000235723
-0.000341701 0.000267551 -0.000264922 3.98389e-6 -0.000140127
⋮ ⋱ ⋮
-0.0003459 -2.07316e-5 -0.000133522 -0.000437807 -0.000310041
-0.00046411 -0.000290278 -7.01407e-5 -0.000545766 -0.000203747
-0.000626812 -0.000646226 -0.000518441 -0.000184424 -0.000245369
-0.000348504 -0.00016867 -0.000313526 … -0.000363552 -0.000242687
-0.000545295 -0.000355292 -0.000290152 -0.000299346 0.00015746
-0.00025227 -0.000617288 -0.000418469 -0.000420933 -5.88442e-5
-0.000257633 -8.63061e-5 -0.000428485 -8.45088e-5 -0.000438236
-0.000102137 -0.000326709 -0.000400668 -0.000355772 -1.43647e-5
-0.000100777 -0.00015405 -7.97384e-5 … -0.000520814 -0.000936311

[:, :, 3, 1] =
-0.000548159 -0.000477585 -0.000481873 … -0.000418627 -0.000233547
-0.000336213 -0.000695811 -0.000715167 -0.000361649 -0.000291876
-0.000255482 -0.000366544 -0.000544169 -0.000500734 -0.0003229
-0.000300283 -0.000279591 -0.000585925 -0.000335869 -0.000303898
-0.000252053 -0.000579463 -0.000467105 -0.000513136 -0.00031526
-0.000468617 -0.000659257 -0.000710513 … -0.00054457 -0.000389497
-0.000372169 -0.000483613 -0.000773947 -0.000423746 -0.00058391
-0.000217254 -0.000644031 -0.000634734 -0.000646502 -0.000405915
-0.00033467 -0.000407474 -0.000578466 -0.000392831 -0.000199668
⋮ ⋱ ⋮
-0.000340643 -0.000672335 -0.000457055 -0.000829627 -0.000533199
-0.000442569 -0.000660255 -0.000655409 -0.000518397 -0.000289253
-0.000479983 -0.000490807 -0.000667401 -0.000384335 -0.000380235
-0.00028761 -0.000664416 -0.000677983 … -0.000415594 -0.000365336
-0.000468542 -0.000480694 -0.000676793 -0.000697129 -0.000421928
-0.000230119 -0.000454513 -0.000582444 -0.000374222 -0.00037701
-0.000217566 -0.000276869 -0.000450451 -0.000470439 -0.000380189
-5.60605e-5 -0.000273944 -0.000347952 -6.15815e-5 -0.000395992
2.86524e-5 -3.08762e-5 -5.8798e-5 … -0.000350873 -0.000154495
>>> unet(img_proxy)
Julia:
256×256×3×1 Array{Float64, 4}:
[:, :, 1, 1] =
-0.0010724 -0.00112552 -0.00113706 … -0.00103519 -0.000839464
-0.000795291 -0.00161727 -0.00204406 -0.0009993 -0.000439908
-0.000780577 -0.00116744 -0.00134499 -0.00115543 -0.000573814
-0.000860885 -0.00116414 -0.000965194 -0.00140911 -0.000761458
-0.000755788 -0.00132476 -0.00171172 -0.00114426 -0.000614211
-0.000820267 -0.00138928 -0.00182287 … -0.00135342 -0.000624007
-0.00142297 -0.0017854 -0.00136742 -0.00158695 -0.000791874
-0.00044614 -0.00124075 -0.00200514 -0.00151648 -0.00105216
-0.00127456 -0.00144327 -0.00143971 -0.00160615 -0.000831712
⋮ ⋱ ⋮
-0.00081029 -0.00123124 -0.00143105 -0.00146172 -0.00102908
-0.00142603 -0.00151539 -0.00138619 -0.00166838 -0.0007978
-0.000832417 -0.0018811 -0.0018118 -0.00110241 -0.000492823
-0.0010199 -0.00116831 -0.00139769 … -0.00111267 -0.000343543
-0.00121636 -0.00164644 -0.0013786 -0.0010909 -0.000885556
-0.000991607 -0.00133452 -0.00151132 -0.00168399 -0.000749311
-0.000765725 -0.00120822 -0.00101517 -0.00143129 -0.000483814
-0.000692864 -0.000724345 -0.00136182 -0.00145267 -0.000722094
-0.000375997 -0.000676651 -0.00050234 … -0.000409303 1.38022e-5

[:, :, 2, 1] =
-0.000460067 -0.000107008 5.77905e-6 … -0.000240988 0.000301157
-0.000478966 -0.000925048 -0.000427395 -0.000241288 -0.000264133
-0.000360445 -2.95737e-5 -0.000434373 -0.000289934 -6.69133e-5
-0.000216115 -0.000247443 -0.000172126 -0.000211383 -0.000136124
-0.000232735 -0.000382114 -0.000460042 -8.31166e-5 -0.000159839
-0.000589542 -8.42927e-5 -0.000223337 … -0.000574704 -5.28923e-5
-0.000425194 -0.000388782 -0.000240721 -0.000288628 -0.000253867
-0.000480769 -0.000710803 -0.000844951 -0.000207783 -0.000235723
-0.000341701 0.000267551 -0.000264922 3.98389e-6 -0.000140127
⋮ ⋱ ⋮
-0.0003459 -2.07316e-5 -0.000133522 -0.000437807 -0.000310041
-0.00046411 -0.000290278 -7.01407e-5 -0.000545766 -0.000203747
-0.000626812 -0.000646226 -0.000518441 -0.000184424 -0.000245369
-0.000348504 -0.00016867 -0.000313526 … -0.000363552 -0.000242687
-0.000545295 -0.000355292 -0.000290152 -0.000299346 0.00015746
-0.00025227 -0.000617288 -0.000418469 -0.000420933 -5.88442e-5
-0.000257633 -8.63061e-5 -0.000428485 -8.45088e-5 -0.000438236
-0.000102137 -0.000326709 -0.000400668 -0.000355772 -1.43647e-5
-0.000100777 -0.00015405 -7.97384e-5 … -0.000520814 -0.000936311

[:, :, 3, 1] =
-0.000548159 -0.000477585 -0.000481873 … -0.000418627 -0.000233547
-0.000336213 -0.000695811 -0.000715167 -0.000361649 -0.000291876
-0.000255482 -0.000366544 -0.000544169 -0.000500734 -0.0003229
-0.000300283 -0.000279591 -0.000585925 -0.000335869 -0.000303898
-0.000252053 -0.000579463 -0.000467105 -0.000513136 -0.00031526
-0.000468617 -0.000659257 -0.000710513 … -0.00054457 -0.000389497
-0.000372169 -0.000483613 -0.000773947 -0.000423746 -0.00058391
-0.000217254 -0.000644031 -0.000634734 -0.000646502 -0.000405915
-0.00033467 -0.000407474 -0.000578466 -0.000392831 -0.000199668
⋮ ⋱ ⋮
-0.000340643 -0.000672335 -0.000457055 -0.000829627 -0.000533199
-0.000442569 -0.000660255 -0.000655409 -0.000518397 -0.000289253
-0.000479983 -0.000490807 -0.000667401 -0.000384335 -0.000380235
-0.00028761 -0.000664416 -0.000677983 … -0.000415594 -0.000365336
-0.000468542 -0.000480694 -0.000676793 -0.000697129 -0.000421928
-0.000230119 -0.000454513 -0.000582444 -0.000374222 -0.00037701
-0.000217566 -0.000276869 -0.000450451 -0.000470439 -0.000380189
-5.60605e-5 -0.000273944 -0.000347952 -6.15815e-5 -0.000395992
2.86524e-5 -3.08762e-5 -5.8798e-5 … -0.000350873 -0.000154495
>>> img_proxy = jl.rand(256,256,3,1)
>>> unet(img_proxy)
[1] 172407 segmentation fault (core dumped) python
```

**Your system**
I am running NixOS 23.11 and below is the Poetry environment that I am using with `juliacall`.
Julia is version 1.10.0.
```
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: pyproject.toml
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ [tool.poetry]
2 │ name = "scientific_test"
3 │ version = "0.1.0"
4 │ description = ""
5 │ authors = ["Your Name "]
6 │
7 │ [tool.poetry.dependencies]
8 │ python = "^3.10"
9 │ matplotlib = "*"
10 │ pandas = "*"
11 │ requests = "^2.31.0"
12 │ pillow = "^10.1.0"
13 │ pyjulia = "^0.0.6"
14 │ juliacall = "^0.9.14"
15 │ julia = "^0.6.1"
16 │ mlflow = "*"
17 │ setuptools = "^69.0.3"
18 │ setuptools-scm = "^8.0.4"
19 │ boto3 = "^1.34.33"
20 │ pip = "^23.3.2"
21 │ virtualenv = "^20.25.0"
22 │ gunicorn = "^21.2.0"
23 │ cloudpickle = "^3.0.0"
24 │
25 │ [build-system]
26 │ requires = ["poetry-core>=1.1"]
27 │ build-backend = "poetry.core.masonry.api"
28 │
───────┴──────────────────────────────────────────────────
```

```
Status `~/work-code/sentinal-hub/model/Project.toml`
[fbe9abb3] AWS v1.90.4
[1c724243] AWSS3 v0.11.2
⌅ [79e6a3ab] Adapt v3.7.2
[c7e460c6] ArgParse v1.1.5
[02898b10] Augmentor v0.6.6
[fbb218c0] BSON v0.3.9
[6e4b80f9] BenchmarkTools v1.5.0
⌅ [052768ef] CUDA v3.13.1
[3da002f7] ColorTypes v0.11.4
[992eb4ea] CondaPkg v0.2.22
[864edb3b] DataStructures v0.18.18
[44557152] DateFormats v0.1.18
[5789e2e9] FileIO v1.16.2
⌅ [587475ba] Flux v0.12.10
⌃ [28b8d3ca] GR v0.72.8
[4c0ca9eb] Gtk v1.3.0
[cd3eb016] HTTP v1.10.3
[7073ff75] IJulia v1.24.2
⌅ [a09fc81d] ImageCore v0.8.22
[4381153b] ImageDraw v0.2.6
⌅ [6a3955dd] ImageFiltering v0.6.21
⌅ [82e4d734] ImageIO v0.5.9
⌃ [6218d12a] ImageMagick v1.3.0
⌅ [02fcd773] ImageTransformations v0.8.13
⌃ [86fae568] ImageView v0.10.14
⌅ [916415d5] Images v0.24.1
[033835bb] JLD2 v0.4.46
[682c06a0] JSON v0.21.4
[a21d8daa] LabelStudioHelper v1.0.0-DEV `https://gitlab.com/usmcamp0811/labelstudiohelper#main`
[64a0f543] MLFlowClient v0.4.4 `https://github.com/usmcamp0811/MLFlowClient.jl#main`
[4281f0d9] Minio v0.2.1
[e94cdb99] MosaicViews v0.3.4
[6fe1bfb0] OffsetArrays v1.13.0
[5fb14364] OhMyREPL v0.5.24
[91a5bcdd] Plots v1.40.1
[c3e4b0f8] Pluto v0.19.40
[92933f4c] ProgressMeter v1.10.0
[438e738f] PyCall v1.96.4
[6099a3de] PythonCall v0.9.15
⌅ [2913bbd2] StatsBase v0.33.21
[5e47fb64] TestImages v1.8.0
[0d73aaa9] UNet v0.2.1
[104b5d7c] WebSockets v1.6.0
⌃ [da03df04] gdk_pixbuf_jll v2.42.8+0
[ade2ca70] Dates
[4af54fe1] LazyArtifacts
[8dfed614] Test
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated`
```

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.