JuliaImages / Images.jl

An image library for Julia
http://juliaimages.org/
Other
533 stars 141 forks source link

failed to precompile on Julia 1.6.1 #966

Closed gszep closed 3 years ago

gszep commented 3 years ago

on Ubuntu 18.04.5

(@v1.6) pkg> add Images
    Updating registry at `~/.julia/registries/General`
   Resolving package versions...
    Updating `~/.julia/environments/v1.6/Project.toml`
  [916415d5] + Images v0.24.1
    Updating `~/.julia/environments/v1.6/Manifest.toml`
  [621f4979] + AbstractFFTs v1.0.1
  [79e6a3ab] + Adapt v3.3.1
  [4fba245c] + ArrayInterface v3.1.17
  [13072b0f] + AxisAlgorithms v1.0.0
  [39de3d68] + AxisArrays v0.4.3
  [fa961155] + CEnum v0.4.1
  [aafaddc9] + CatIndices v0.2.2
  [d360d2e6] + ChainRulesCore v0.10.5
  [3da002f7] + ColorTypes v0.11.0
  [c3611d14] + ColorVectorSpace v0.9.5
  [5ae59095] + Colors v0.12.8
  [34da2185] + Compat v3.30.0
  [ed09eef8] + ComputationalResources v0.3.2
  [150eb455] + CoordinateTransformations v0.6.1
  [dc8bdbbb] + CustomUnitRanges v1.0.1
  [9a962f9c] + DataAPI v1.6.0
  [864edb3b] + DataStructures v0.18.9
  [b4f34e82] + Distances v0.10.3
  [ffbed154] + DocStringExtensions v0.8.5
  [da5c29d0] + EllipsisNotation v1.1.0
  [4f61f5a4] + FFTViews v0.3.1
  [7a1cc6ca] + FFTW v1.4.2
  [5789e2e9] + FileIO v1.9.1
  [53c48c17] + FixedPointNumbers v0.8.4
  [a2bd30eb] + Graphics v1.1.0
  [bbac6d45] + IdentityRanges v0.3.1
  [615f187c] + IfElse v0.1.0
  [2803e5a7] + ImageAxes v0.6.9
  [f332f351] + ImageContrastAdjustment v0.3.7
  [a09fc81d] + ImageCore v0.8.22
  [51556ac3] + ImageDistances v0.2.13
  [6a3955dd] + ImageFiltering v0.6.21
  [82e4d734] + ImageIO v0.4.1
  [6218d12a] + ImageMagick v1.2.1
  [bc367c6b] + ImageMetadata v0.9.5
  [787d08f9] + ImageMorphology v0.2.11
  [2996bd0c] + ImageQualityIndexes v0.2.2
  [4e3cecfd] + ImageShow v0.3.1
  [02fcd773] + ImageTransformations v0.8.12
  [916415d5] + Images v0.24.1
  [9b13fd28] + IndirectArrays v0.5.1
  [a98d9a8b] + Interpolations v0.13.2
  [8197267c] + IntervalSets v0.5.3
  [c8e1da08] + IterTools v1.3.0
  [692b3bcd] + JLLWrappers v1.3.0
  [2ab3a3ac] + LogExpFunctions v0.2.4
  [1914dd2f] + MacroTools v0.5.6
  [dbb5928d] + MappedArrays v0.4.0
  [e1d29d7a] + Missings v1.0.0
  [e94cdb99] + MosaicViews v0.3.3
  [77ba4419] + NaNMath v0.3.5
  [f09324ee] + Netpbm v1.0.1
  [6fe1bfb0] + OffsetArrays v1.10.0
  [f57f5aa1] + PNGFiles v0.3.7
  [5432bcbf] + PaddedViews v0.5.8
  [d96e819e] + Parameters v0.12.2
  [21216c6a] + Preferences v1.2.2
  [b3c3ace0] + RangeArrays v0.3.2
  [c84ed2f1] + Ratios v0.4.0
  [189a3867] + Reexport v1.1.0
  [6038ab10] + Rotations v1.0.2
  [699a6c99] + SimpleTraits v0.9.3
  [a2af1166] + SortingAlgorithms v1.0.0
  [276daf66] + SpecialFunctions v1.5.1
  [cae243ae] + StackViews v0.1.1
  [aedffcd0] + Static v0.2.5
  [90137ffa] + StaticArrays v1.2.2
  [82ae8749] + StatsAPI v1.0.0
  [2913bbd2] + StatsBase v0.33.8
  [62fd8b95] + TensorCore v0.1.1
  [06e1c1a7] + TiledIteration v0.3.0
  [3a884ed6] + UnPack v1.0.2
  [efce3f68] + WoodburyMatrices v0.5.3
  [f5851436] + FFTW_jll v3.3.9+7
  [c73af94c] + ImageMagick_jll v6.9.10-12+3
  [1d5cc7b8] + IntelOpenMP_jll v2018.0.3+2
  [aacddb02] + JpegTurbo_jll v2.1.0+0
  [89763e89] + Libtiff_jll v4.3.0+0
  [856f044c] + MKL_jll v2021.1.1+1
  [efe28fd5] + OpenSpecFun_jll v0.5.5+0
  [3161d3a3] + Zstd_jll v1.5.0+0
  [b53b4c65] + libpng_jll v1.6.38+0
  [8bb1440f] + DelimitedFiles
  [4af54fe1] + LazyArtifacts
  [37e2e46d] + LinearAlgebra
  [a63ad114] + Mmap
  [1a1011a3] + SharedArrays
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [8dfed614] + Test
  [e66e0078] + CompilerSupportLibraries_jll

julia> using Images

signal (11): Segmentation fault
in expression starting at REPL[2]:1
jl_array_ptr_ref at /buildworker/worker/package_linux64/build/src/julia.h:924 [inlined]
jl_deserialize_value_module at /buildworker/worker/package_linux64/build/src/dump.c:1545 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1788
jl_deserialize_value_module at /buildworker/worker/package_linux64/build/src/dump.c:1564 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1788
jl_deserialize_value_method at /buildworker/worker/package_linux64/build/src/dump.c:1416 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1782
jl_deserialize_struct at /buildworker/worker/package_linux64/build/src/dump.c:1626 [inlined]
jl_deserialize_value_any at /buildworker/worker/package_linux64/build/src/dump.c:1707 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1840
jl_deserialize_struct at /buildworker/worker/package_linux64/build/src/dump.c:1626 [inlined]
jl_deserialize_value_any at /buildworker/worker/package_linux64/build/src/dump.c:1707 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1840
jl_deserialize_struct at /buildworker/worker/package_linux64/build/src/dump.c:1626 [inlined]
jl_deserialize_value_any at /buildworker/worker/package_linux64/build/src/dump.c:1707 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1840
jl_deserialize_value_any at /buildworker/worker/package_linux64/build/src/dump.c:1680 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1840
jl_deserialize_datatype at /buildworker/worker/package_linux64/build/src/dump.c:1284 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1837
jl_deserialize_value_module at /buildworker/worker/package_linux64/build/src/dump.c:1560 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1788
jl_deserialize_value_module at /buildworker/worker/package_linux64/build/src/dump.c:1551 [inlined]
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1788
jl_deserialize_value_array at /buildworker/worker/package_linux64/build/src/dump.c:1368
jl_deserialize_value at /buildworker/worker/package_linux64/build/src/dump.c:1751
_jl_restore_incremental at /buildworker/worker/package_linux64/build/src/dump.c:2535
jl_restore_incremental at /buildworker/worker/package_linux64/build/src/dump.c:2605
_include_from_serialized at ./loading.jl:658
_require_search_from_serialized at ./loading.jl:760
_require at ./loading.jl:998
require at ./loading.jl:914
require at ./loading.jl:901
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
call_require at /buildworker/worker/package_linux64/build/src/toplevel.c:421 [inlined]
eval_import_path at /buildworker/worker/package_linux64/build/src/toplevel.c:458
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:684
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:825
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:929
eval at ./boot.jl:360 [inlined]
eval_user_input at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:139
repl_backend_loop at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:200
start_repl_backend at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:185
#run_repl#42 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:317
run_repl at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/REPL/src/REPL.jl:305
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
#874 at ./client.jl:387
jfptr_YY.874_41532.clone_1 at /home/gszep/.local/lib/julia/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
jl_f__call_latest at /buildworker/worker/package_linux64/build/src/builtins.c:714
#invokelatest#2 at ./essentials.jl:708 [inlined]
invokelatest at ./essentials.jl:706 [inlined]
run_main_repl at ./client.jl:372
exec_options at ./client.jl:302
_start at ./client.jl:485
jfptr__start_34289.clone_1 at /home/gszep/.local/lib/julia/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2237 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2419
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1703 [inlined]
true_main at /buildworker/worker/package_linux64/build/src/jlapi.c:560
repl_entrypoint at /buildworker/worker/package_linux64/build/src/jlapi.c:702
main at julia (unknown line)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4007d8)
Allocations: 12349447 (Pool: 12344835; Big: 4612); GC: 11
Segmentation fault (core dumped)
gszep commented 3 years ago

@exaexa it's happening again. Can you precompile GigaScatter.jl ?

exaexa commented 3 years ago

Wow, will try. Hard segfault sure looks scary.

gszep commented 3 years ago

now things seem to be working fine again :/ Is it normal for this to happen?

exaexa commented 3 years ago

Not at all. Are there other julia sessions running or doing something? Is the filesystem or network or so? What's the julia installation method and what's the used LLVM?

gszep commented 3 years ago

I tested this on a fresh environment with only Images installed. I downloaded 1.6.1 from the binaries on julialang.com

johnnychen94 commented 3 years ago

With docker run -it --rm ubuntu:18.04 /bin/bash:

apt update && apt install -yq python3-pip
pip3 install jill
jill install 1.6.1 --confirm
julia -e 'using Pkg; pkg"add Images@0.24.1"'

it works normally:

julia> versioninfo()
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, broadwell)

(@v1.6) pkg> st
      Status `~/.julia/environments/v1.6/Project.toml`
  [916415d5] Images v0.24.1

julia> using Images

I tested this on a fresh environment with only Images installed

Do you mean by setting an environment variable JULIA_DEPOT_PATH? E.g., JULIA_DEPOT_PATH=$(pwd) julia?

You might have something broken in your old depot path, try any or all of the following and see which folder is broken.

mv ~/.julia/packages ~/.julia/packages.back
mv ~/.julia/artifacts ~/.julia/artifacts.bak
mv ~/.julia/compiled ~/.julia/compiled.bak # this can be safely deleted