Pkg.jl: Possible version resolution bug

Created on 1 Jan 2020  Β·  19Comments  Β·  Source: JuliaLang/Pkg.jl

Over at https://github.com/JuliaRegistries/General/pull/7342 I'm seeing something that looks like a version-resolution bug.

Here are my environment files: https://gist.github.com/timholy/38dff6cfe0aa176bdc2d47bed0201e75
I'm on a fork & branch of General.

The oddity is that add [email protected] goes with v0.11.1 of Colors despite these lines. (Try toggling between v0.19.2 and v0.18.0.)

Most helpful comment

The resolve step has a very small API "surface":

https://github.com/JuliaLang/Pkg.jl/blob/0048fe1af04e2effcbce8ce2a0ed29d11b0e5950/src/Operations.jl#L339-L342

So serializing the graph should be enough to repro and looking at the output (the versions) from resolve should say if there is a bug (if a version is returned that is input as being incompatible). I personally doubt this is actually the case and that there is something wrong with the inputs to the resolver.

All 19 comments

Hmmm. I'm not able to reproduce this.

Here are the commands that I ran in bash:

rm -rf ~/.julia
git clone https://github.com/timholy/General timholy--General
cd timholy--General
git checkout teh/juliaimages
julia -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(path = pwd()))'
julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.18.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.19.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.18.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.19.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
julia -e 'import InteractiveUtils; InteractiveUtils.versioninfo(; verbose = true)'

And here is the output: (click to expand)

DMBP:TEMP dilum$ rm -rf ~/.julia
DMBP:TEMP dilum$ git clone https://github.com/timholy/General timholy--General
Cloning into 'timholy--General'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 256317 (delta 7), reused 34 (delta 1), pack-reused 256250
Receiving objects: 100% (256317/256317), 43.71 MiB | 10.23 MiB/s, done.
Resolving deltas: 100% (133069/133069), done.
Updating files: 100% (10674/10674), done.
DMBP:TEMP dilum$ cd timholy--General
DMBP:timholy--General dilum$ git checkout teh/juliaimages
Updating files: 100% (11432/11432), done.
Branch 'teh/juliaimages' set up to track remote branch 'teh/juliaimages' from 'origin'.
Switched to a new branch 'teh/juliaimages'
DMBP:timholy--General dilum$ julia -e 'import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(path = pwd()))'
   Copying registry from `~/Downloads/TEMP/timholy--General`
     Added registry `General` to `~/.julia/registries/General`
DMBP:timholy--General dilum$ julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.18.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/timholy/General`
 Resolving package versions...
 Installed Missings ────────────────── v0.4.3
 Installed Images ──────────────────── v0.18.0
 Installed ImageMorphology ─────────── v0.2.5
 Installed RangeArrays ─────────────── v0.3.2
 Installed SimpleTraits ────────────── v0.9.1
 Installed ImageShow ───────────────── v0.2.2
 Installed ColorTypes ──────────────── v0.8.1
 Installed DataStructures ──────────── v0.17.6
 Installed IntelOpenMP_jll ─────────── v2018.0.3+0
 Installed Graphics ────────────────── v0.4.0
 Installed NaNMath ─────────────────── v0.3.3
 Installed IntervalSets ────────────── v0.3.2
 Installed ImageMetadata ───────────── v0.7.2
 Installed AbstractFFTs ────────────── v0.5.0
 Installed FileIO ──────────────────── v1.2.1
 Installed MacroTools ──────────────── v0.5.3
 Installed CustomUnitRanges ────────── v0.2.0
 Installed DataAPI ─────────────────── v1.1.0
 Installed Ratios ──────────────────── v0.3.1
 Installed Distances ───────────────── v0.8.2
 Installed OffsetArrays ────────────── v0.11.4
 Installed ColorVectorSpace ────────── v0.7.1
 Installed ImageCore ───────────────── v0.8.10
 Installed MappedArrays ────────────── v0.2.2
 Installed MKL_jll ─────────────────── v2019.0.117+0
 Installed FixedPointNumbers ───────── v0.6.1
 Installed ImageFiltering ──────────── v0.6.9
 Installed ImageTransformations ────── v0.8.1
 Installed ComputationalResources ──── v0.3.0
 Installed Rotations ───────────────── v0.13.0
 Installed WoodburyMatrices ────────── v0.4.1
 Installed SortingAlgorithms ───────── v0.3.1
 Installed FFTW_jll ────────────────── v3.3.9+3
 Installed FFTViews ────────────────── v0.3.0
 Installed Compat ──────────────────── v2.2.0
 Installed StatsBase ───────────────── v0.32.0
 Installed Colors ──────────────────── v0.9.6
 Installed StaticArrays ────────────── v0.12.1
 Installed PaddedViews ─────────────── v0.4.2
 Installed SpecialFunctions ────────── v0.9.0
 Installed Reexport ────────────────── v0.2.0
 Installed CatIndices ──────────────── v0.2.0
 Installed TiledIteration ──────────── v0.2.3
 Installed Requires ────────────────── v1.0.0
 Installed OrderedCollections ──────── v1.1.0
 Installed IdentityRanges ──────────── v0.3.0
 Installed AxisArrays ──────────────── v0.3.3
 Installed ImageAxes ───────────────── v0.6.2
 Installed Interpolations ──────────── v0.12.5
 Installed AxisAlgorithms ──────────── v1.0.0
 Installed IterTools ───────────────── v1.3.0
 Installed OpenSpecFun_jll ─────────── v0.5.3+1
 Installed CoordinateTransformations ─ v0.5.0
 Installed IndirectArrays ──────────── v0.5.1
 Installed FFTW ────────────────────── v1.2.0
 Installed ImageDistances ──────────── v0.2.7
  Updating `~/.julia/environments/v1.4/Project.toml`
  [916415d5] + Images v0.18.0
  Updating `~/.julia/environments/v1.4/Manifest.toml`
  [621f4979] + AbstractFFTs v0.5.0
  [13072b0f] + AxisAlgorithms v1.0.0
  [39de3d68] + AxisArrays v0.3.3
  [aafaddc9] + CatIndices v0.2.0
  [3da002f7] + ColorTypes v0.8.1
  [c3611d14] + ColorVectorSpace v0.7.1
  [5ae59095] + Colors v0.9.6
  [34da2185] + Compat v2.2.0
  [ed09eef8] + ComputationalResources v0.3.0
  [150eb455] + CoordinateTransformations v0.5.0
  [dc8bdbbb] + CustomUnitRanges v0.2.0
  [9a962f9c] + DataAPI v1.1.0
  [864edb3b] + DataStructures v0.17.6
  [b4f34e82] + Distances v0.8.2
  [4f61f5a4] + FFTViews v0.3.0
  [7a1cc6ca] + FFTW v1.2.0
  [f5851436] + FFTW_jll v3.3.9+3
  [5789e2e9] + FileIO v1.2.1
  [53c48c17] + FixedPointNumbers v0.6.1
  [a2bd30eb] + Graphics v0.4.0
  [bbac6d45] + IdentityRanges v0.3.0
  [2803e5a7] + ImageAxes v0.6.2
  [a09fc81d] + ImageCore v0.8.10
  [51556ac3] + ImageDistances v0.2.7
  [6a3955dd] + ImageFiltering v0.6.9
  [bc367c6b] + ImageMetadata v0.7.2
  [787d08f9] + ImageMorphology v0.2.5
  [4e3cecfd] + ImageShow v0.2.2
  [02fcd773] + ImageTransformations v0.8.1
  [916415d5] + Images v0.18.0
  [9b13fd28] + IndirectArrays v0.5.1
  [1d5cc7b8] + IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] + Interpolations v0.12.5
  [8197267c] + IntervalSets v0.3.2
  [c8e1da08] + IterTools v1.3.0
  [856f044c] + MKL_jll v2019.0.117+0
  [1914dd2f] + MacroTools v0.5.3
  [dbb5928d] + MappedArrays v0.2.2
  [e1d29d7a] + Missings v0.4.3
  [77ba4419] + NaNMath v0.3.3
  [6fe1bfb0] + OffsetArrays v0.11.4
  [efe28fd5] + OpenSpecFun_jll v0.5.3+1
  [bac558e1] + OrderedCollections v1.1.0
  [5432bcbf] + PaddedViews v0.4.2
  [b3c3ace0] + RangeArrays v0.3.2
  [c84ed2f1] + Ratios v0.3.1
  [189a3867] + Reexport v0.2.0
  [ae029012] + Requires v1.0.0
  [6038ab10] + Rotations v0.13.0
  [699a6c99] + SimpleTraits v0.9.1
  [a2af1166] + SortingAlgorithms v0.3.1
  [276daf66] + SpecialFunctions v0.9.0
  [90137ffa] + StaticArrays v0.12.1
  [2913bbd2] + StatsBase v0.32.0
  [06e1c1a7] + TiledIteration v0.2.3
  [efce3f68] + WoodburyMatrices v0.4.1
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [b77e0a4c] + InteractiveUtils
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  Building FFTW β†’ `~/.julia/packages/FFTW/qqcBj/deps/build.log`
  Updating `/private/var/folders/48/n09p39y53bx6dnbnf244s2jc0000gp/T/jl_TVDkxN/Project.toml`
 [no changes]
  Updating `/private/var/folders/48/n09p39y53bx6dnbnf244s2jc0000gp/T/jl_TVDkxN/Manifest.toml`
 [no changes]
Status `~/.julia/environments/v1.4/Manifest.toml`
  [621f4979] AbstractFFTs v0.5.0
  [13072b0f] AxisAlgorithms v1.0.0
  [39de3d68] AxisArrays v0.3.3
  [aafaddc9] CatIndices v0.2.0
  [3da002f7] ColorTypes v0.8.1
  [c3611d14] ColorVectorSpace v0.7.1
  [5ae59095] Colors v0.9.6
  [34da2185] Compat v2.2.0
  [ed09eef8] ComputationalResources v0.3.0
  [150eb455] CoordinateTransformations v0.5.0
  [dc8bdbbb] CustomUnitRanges v0.2.0
  [9a962f9c] DataAPI v1.1.0
  [864edb3b] DataStructures v0.17.6
  [b4f34e82] Distances v0.8.2
  [4f61f5a4] FFTViews v0.3.0
  [7a1cc6ca] FFTW v1.2.0
  [f5851436] FFTW_jll v3.3.9+3
  [5789e2e9] FileIO v1.2.1
  [53c48c17] FixedPointNumbers v0.6.1
  [a2bd30eb] Graphics v0.4.0
  [bbac6d45] IdentityRanges v0.3.0
  [2803e5a7] ImageAxes v0.6.2
  [a09fc81d] ImageCore v0.8.10
  [51556ac3] ImageDistances v0.2.7
  [6a3955dd] ImageFiltering v0.6.9
  [bc367c6b] ImageMetadata v0.7.2
  [787d08f9] ImageMorphology v0.2.5
  [4e3cecfd] ImageShow v0.2.2
  [02fcd773] ImageTransformations v0.8.1
  [916415d5] Images v0.18.0
  [9b13fd28] IndirectArrays v0.5.1
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] Interpolations v0.12.5
  [8197267c] IntervalSets v0.3.2
  [c8e1da08] IterTools v1.3.0
  [856f044c] MKL_jll v2019.0.117+0
  [1914dd2f] MacroTools v0.5.3
  [dbb5928d] MappedArrays v0.2.2
  [e1d29d7a] Missings v0.4.3
  [77ba4419] NaNMath v0.3.3
  [6fe1bfb0] OffsetArrays v0.11.4
  [efe28fd5] OpenSpecFun_jll v0.5.3+1
  [bac558e1] OrderedCollections v1.1.0
  [5432bcbf] PaddedViews v0.4.2
  [b3c3ace0] RangeArrays v0.3.2
  [c84ed2f1] Ratios v0.3.1
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v1.0.0
  [6038ab10] Rotations v0.13.0
  [699a6c99] SimpleTraits v0.9.1
  [a2af1166] SortingAlgorithms v0.3.1
  [276daf66] SpecialFunctions v0.9.0
  [90137ffa] StaticArrays v0.12.1
  [2913bbd2] StatsBase v0.32.0
  [06e1c1a7] TiledIteration v0.2.3
  [efce3f68] WoodburyMatrices v0.4.1
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
DMBP:timholy--General dilum$ julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.19.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/timholy/General`
 Resolving package versions...
 Installed Images ─ v0.19.0
  Updating `~/.julia/environments/v1.4/Project.toml`
  [916415d5] ↑ Images v0.18.0 β‡’ v0.19.0
  Updating `~/.julia/environments/v1.4/Manifest.toml`
  [916415d5] ↑ Images v0.18.0 β‡’ v0.19.0
Status `~/.julia/environments/v1.4/Manifest.toml`
  [621f4979] AbstractFFTs v0.5.0
  [13072b0f] AxisAlgorithms v1.0.0
  [39de3d68] AxisArrays v0.3.3
  [aafaddc9] CatIndices v0.2.0
  [3da002f7] ColorTypes v0.8.1
  [c3611d14] ColorVectorSpace v0.7.1
  [5ae59095] Colors v0.9.6
  [34da2185] Compat v2.2.0
  [ed09eef8] ComputationalResources v0.3.0
  [150eb455] CoordinateTransformations v0.5.0
  [dc8bdbbb] CustomUnitRanges v0.2.0
  [9a962f9c] DataAPI v1.1.0
  [864edb3b] DataStructures v0.17.6
  [b4f34e82] Distances v0.8.2
  [4f61f5a4] FFTViews v0.3.0
  [7a1cc6ca] FFTW v1.2.0
  [f5851436] FFTW_jll v3.3.9+3
  [5789e2e9] FileIO v1.2.1
  [53c48c17] FixedPointNumbers v0.6.1
  [a2bd30eb] Graphics v0.4.0
  [bbac6d45] IdentityRanges v0.3.0
  [2803e5a7] ImageAxes v0.6.2
  [a09fc81d] ImageCore v0.8.10
  [51556ac3] ImageDistances v0.2.7
  [6a3955dd] ImageFiltering v0.6.9
  [bc367c6b] ImageMetadata v0.7.2
  [787d08f9] ImageMorphology v0.2.5
  [4e3cecfd] ImageShow v0.2.2
  [02fcd773] ImageTransformations v0.8.1
  [916415d5] Images v0.19.0
  [9b13fd28] IndirectArrays v0.5.1
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] Interpolations v0.12.5
  [8197267c] IntervalSets v0.3.2
  [c8e1da08] IterTools v1.3.0
  [856f044c] MKL_jll v2019.0.117+0
  [1914dd2f] MacroTools v0.5.3
  [dbb5928d] MappedArrays v0.2.2
  [e1d29d7a] Missings v0.4.3
  [77ba4419] NaNMath v0.3.3
  [6fe1bfb0] OffsetArrays v0.11.4
  [efe28fd5] OpenSpecFun_jll v0.5.3+1
  [bac558e1] OrderedCollections v1.1.0
  [5432bcbf] PaddedViews v0.4.2
  [b3c3ace0] RangeArrays v0.3.2
  [c84ed2f1] Ratios v0.3.1
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v1.0.0
  [6038ab10] Rotations v0.13.0
  [699a6c99] SimpleTraits v0.9.1
  [a2af1166] SortingAlgorithms v0.3.1
  [276daf66] SpecialFunctions v0.9.0
  [90137ffa] StaticArrays v0.12.1
  [2913bbd2] StatsBase v0.32.0
  [06e1c1a7] TiledIteration v0.2.3
  [efce3f68] WoodburyMatrices v0.4.1
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
DMBP:timholy--General dilum$ julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.18.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/timholy/General`
 Resolving package versions...
  Updating `~/.julia/environments/v1.4/Project.toml`
  [916415d5] ↓ Images v0.19.0 β‡’ v0.18.0
  Updating `~/.julia/environments/v1.4/Manifest.toml`
  [916415d5] ↓ Images v0.19.0 β‡’ v0.18.0
Status `~/.julia/environments/v1.4/Manifest.toml`
  [621f4979] AbstractFFTs v0.5.0
  [13072b0f] AxisAlgorithms v1.0.0
  [39de3d68] AxisArrays v0.3.3
  [aafaddc9] CatIndices v0.2.0
  [3da002f7] ColorTypes v0.8.1
  [c3611d14] ColorVectorSpace v0.7.1
  [5ae59095] Colors v0.9.6
  [34da2185] Compat v2.2.0
  [ed09eef8] ComputationalResources v0.3.0
  [150eb455] CoordinateTransformations v0.5.0
  [dc8bdbbb] CustomUnitRanges v0.2.0
  [9a962f9c] DataAPI v1.1.0
  [864edb3b] DataStructures v0.17.6
  [b4f34e82] Distances v0.8.2
  [4f61f5a4] FFTViews v0.3.0
  [7a1cc6ca] FFTW v1.2.0
  [f5851436] FFTW_jll v3.3.9+3
  [5789e2e9] FileIO v1.2.1
  [53c48c17] FixedPointNumbers v0.6.1
  [a2bd30eb] Graphics v0.4.0
  [bbac6d45] IdentityRanges v0.3.0
  [2803e5a7] ImageAxes v0.6.2
  [a09fc81d] ImageCore v0.8.10
  [51556ac3] ImageDistances v0.2.7
  [6a3955dd] ImageFiltering v0.6.9
  [bc367c6b] ImageMetadata v0.7.2
  [787d08f9] ImageMorphology v0.2.5
  [4e3cecfd] ImageShow v0.2.2
  [02fcd773] ImageTransformations v0.8.1
  [916415d5] Images v0.18.0
  [9b13fd28] IndirectArrays v0.5.1
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] Interpolations v0.12.5
  [8197267c] IntervalSets v0.3.2
  [c8e1da08] IterTools v1.3.0
  [856f044c] MKL_jll v2019.0.117+0
  [1914dd2f] MacroTools v0.5.3
  [dbb5928d] MappedArrays v0.2.2
  [e1d29d7a] Missings v0.4.3
  [77ba4419] NaNMath v0.3.3
  [6fe1bfb0] OffsetArrays v0.11.4
  [efe28fd5] OpenSpecFun_jll v0.5.3+1
  [bac558e1] OrderedCollections v1.1.0
  [5432bcbf] PaddedViews v0.4.2
  [b3c3ace0] RangeArrays v0.3.2
  [c84ed2f1] Ratios v0.3.1
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v1.0.0
  [6038ab10] Rotations v0.13.0
  [699a6c99] SimpleTraits v0.9.1
  [a2af1166] SortingAlgorithms v0.3.1
  [276daf66] SpecialFunctions v0.9.0
  [90137ffa] StaticArrays v0.12.1
  [2913bbd2] StatsBase v0.32.0
  [06e1c1a7] TiledIteration v0.2.3
  [efce3f68] WoodburyMatrices v0.4.1
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
DMBP:timholy--General dilum$ julia -e 'import Pkg; Pkg.add(Pkg.PackageSpec(name = "Images", version = "0.19.0")); Pkg.status(; mode = Pkg.PKGMODE_MANIFEST)'
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/timholy/General`
 Resolving package versions...
  Updating `~/.julia/environments/v1.4/Project.toml`
  [916415d5] ↑ Images v0.18.0 β‡’ v0.19.0
  Updating `~/.julia/environments/v1.4/Manifest.toml`
  [916415d5] ↑ Images v0.18.0 β‡’ v0.19.0
Status `~/.julia/environments/v1.4/Manifest.toml`
  [621f4979] AbstractFFTs v0.5.0
  [13072b0f] AxisAlgorithms v1.0.0
  [39de3d68] AxisArrays v0.3.3
  [aafaddc9] CatIndices v0.2.0
  [3da002f7] ColorTypes v0.8.1
  [c3611d14] ColorVectorSpace v0.7.1
  [5ae59095] Colors v0.9.6
  [34da2185] Compat v2.2.0
  [ed09eef8] ComputationalResources v0.3.0
  [150eb455] CoordinateTransformations v0.5.0
  [dc8bdbbb] CustomUnitRanges v0.2.0
  [9a962f9c] DataAPI v1.1.0
  [864edb3b] DataStructures v0.17.6
  [b4f34e82] Distances v0.8.2
  [4f61f5a4] FFTViews v0.3.0
  [7a1cc6ca] FFTW v1.2.0
  [f5851436] FFTW_jll v3.3.9+3
  [5789e2e9] FileIO v1.2.1
  [53c48c17] FixedPointNumbers v0.6.1
  [a2bd30eb] Graphics v0.4.0
  [bbac6d45] IdentityRanges v0.3.0
  [2803e5a7] ImageAxes v0.6.2
  [a09fc81d] ImageCore v0.8.10
  [51556ac3] ImageDistances v0.2.7
  [6a3955dd] ImageFiltering v0.6.9
  [bc367c6b] ImageMetadata v0.7.2
  [787d08f9] ImageMorphology v0.2.5
  [4e3cecfd] ImageShow v0.2.2
  [02fcd773] ImageTransformations v0.8.1
  [916415d5] Images v0.19.0
  [9b13fd28] IndirectArrays v0.5.1
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] Interpolations v0.12.5
  [8197267c] IntervalSets v0.3.2
  [c8e1da08] IterTools v1.3.0
  [856f044c] MKL_jll v2019.0.117+0
  [1914dd2f] MacroTools v0.5.3
  [dbb5928d] MappedArrays v0.2.2
  [e1d29d7a] Missings v0.4.3
  [77ba4419] NaNMath v0.3.3
  [6fe1bfb0] OffsetArrays v0.11.4
  [efe28fd5] OpenSpecFun_jll v0.5.3+1
  [bac558e1] OrderedCollections v1.1.0
  [5432bcbf] PaddedViews v0.4.2
  [b3c3ace0] RangeArrays v0.3.2
  [c84ed2f1] Ratios v0.3.1
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v1.0.0
  [6038ab10] Rotations v0.13.0
  [699a6c99] SimpleTraits v0.9.1
  [a2af1166] SortingAlgorithms v0.3.1
  [276daf66] SpecialFunctions v0.9.0
  [90137ffa] StaticArrays v0.12.1
  [2913bbd2] StatsBase v0.32.0
  [06e1c1a7] TiledIteration v0.2.3
  [efce3f68] WoodburyMatrices v0.4.1
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
DMBP:timholy--General dilum$ julia -e 'import InteractiveUtils; InteractiveUtils.versioninfo(; verbose = true)'
Julia Version 1.4.0-DEV.660
Commit 27eb582279 (2019-12-23 19:29 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.2.0)
  uname: Darwin 19.2.0 Darwin Kernel Version 19.2.0: Sat Nov  9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64 x86_64 i386
  CPU: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz:
              speed         user         nice          sys         idle          irq
       #1  2600 MHz      63039 s          0 s      32941 s     210924 s          0 s
       #2  2600 MHz      21248 s          0 s      12215 s     273431 s          0 s
       #3  2600 MHz      64178 s          0 s      27960 s     214756 s          0 s
       #4  2600 MHz      20236 s          0 s      11373 s     275285 s          0 s

  Memory: 8.0 GB (768.03125 MB free)
  Uptime: 82209.0 sec
  Load Avg:  6.22705078125  5.921875  5.318359375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, haswell)
Environment:
  GEM_HOME = /Users/dilum/.rvm/gems/ruby-2.4.1
  TERM = xterm-256color
  MY_RUBY_HOME = /Users/dilum/.rvm/rubies/ruby-2.4.1
  PATH = /Users/dilum/.cargo/bin:/Users/dilum/.rvm/gems/ruby-2.4.1/bin:/Users/dilum/.rvm/gems/ruby-2.4.1@global/bin:/Users/dilum/.rvm/rubies/ruby-2.4.1/bin:/Users/dilum/.rvm/bin:/Users/dilum/.cargo/bin:/Users/dilum/bin:/Applications/Racket-v7.3/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/opt/X11/bin
  XPC_FLAGS = 0x0
  HOME = /Users/dilum
  GEM_PATH = /Users/dilum/.rvm/gems/ruby-2.4.1:/Users/dilum/.rvm/gems/ruby-2.4.1@global

Are you able to reproduce this on Julia master?

Yes, but only with the given Project.toml and Manifest.toml files.

What happens if you run import Pkg; Pkg.resolve()?

If I download your Project.toml and Manifest.toml file and then run julia --project -e 'import Pkg; Pkg.resolve()', I get the following error:

ERROR: Unsatisfiable requirements detected for package Images [916415d5]:
 Images [916415d5] log:
 β”œβ”€possible versions are: [0.17.3, 0.18.0, 0.19.0-0.19.3] or uninstalled
 β”œβ”€restricted to versions 0.18.0 by an explicit requirement, leaving only versions 0.18.0
 └─restricted by compatibility requirements with Colors [5ae59095] to versions: 0.19.3 or uninstalled β€” no versions left
   └─Colors [5ae59095] log:
     β”œβ”€possible versions are: [0.9.0, 0.9.2-0.9.6, 0.10.0-0.10.1, 0.11.0-0.11.1] or uninstalled
     └─restricted to versions 0.11.1 by an explicit requirement, leaving only versions 0.11.1

Try add [email protected] or something; if you play with versions enough this should resolve.

Well that's the problem.

  • If I do resolve, I get the error shown above.
  • If instead I do instantiate, it instantiates and gives me Colors v0.11.1. This is the only time I'm able to get Colors v0.11.1
  • If instead I do either add [email protected] or add [email protected], then it immediately downgrades Colors v0.11.1 β‡’ v0.9.6.

Weird. It doesn't downgrade for me on 0.18.0. It does downgrade on 0.19.2, as expected.

So I'm still not able to reproduce your original report, which is that when you toggle between add [email protected] and add [email protected], it gives you Colors v0.11.1when you are on Images 0.18.0.

Just to double-check we are working with the same stuff: I'm using the HolyLabRegistry latest master branch.

I.e. I added it with: import Pkg; Pkg.Registry.add(Pkg.RegistrySpec(url = "https://github.com/HolyLab/HolyLabRegistry"))

Also, I added your fork/branch of General before I added HolyLabRegistry. I'm not sure if registry behavior is order-dependent.

What happens if you do rm Images followed by either add [email protected] or add [email protected]?

An additional question: What happens if you delete the Manifest, and then instantiate, and then try toggling between add [email protected] or add [email protected]?

If I download your Project.toml and Manifest.toml file and then run julia --project -e 'import Pkg; Pkg.resolve()', I get the following error:

I tried freshly again and didn't get that error. But I likely have many Colors versions installed already in my packages directory.

Just to double-check we are working with the same stuff: I'm using the HolyLabRegistry latest master branch.

Sorry, I thought I had deleted all the HolyLabRegistry packages. Thanks for figuring out that you needed to add that.

What happens if you do rm Images followed by either add [email protected] or add [email protected]?

I get Colors 0.11.1 with add [email protected]

What happens if you delete the Manifest, and then instantiate, and then try toggling between add [email protected] or add [email protected]?

Doesn't help.

Just to be certain I didn't have some modification of Pkg causing trouble (I sometimes make tweaks via Revise but I'm not always sure where pathof(Pkg) really gets symlinked to), I deleted my $JULIADIR/usr directory, all versions of Pkg-* in $JULIADIR/stdlib/, and rebuilt on the latest nightly.

That didn't help. But what did fix it was to start completely fresh: JULIA_DEPOT_PATH=/tmp/pkgs julia and then copy all the requisite settings. So there's something about the state of my .julia directory that's different from a fresh one.

That didn't help. But what did fix it was to start completely fresh: JULIA_DEPOT_PATH=/tmp/pkgs julia and then copy all the requisite settings. So there's something about the state of my .julia directory that's different from a fresh one.

That is fascinating. So the issue is something in your ~/.julia directory?

Is there any confidential info in your ~/.julia directory? If not, you could share it and we could see if anyone else can reproduce.

(But that will be tricky if you have lab-private code in your ~/.julia directory.)

Yeah, there's a ton of not-yet-ready-for-exposure stuff in there.

Any tips on how I'd go about debugging this? Even though I've poked at Pkg several times, I've never taken the plunge deeply enough to have a good sense for its overall organization.

If you haven’t done so already, I’d make a .tar.gz of your ~/.julia folder and store it somewhere (e.g. Google Drive) so that at least you can reproduce the error yourself at a later date.

As far as where to start debugging, it does seem to me that this is probably a resolver bug. @00vareladavid is probably the most knowledgeable on the resolver and perhaps he can tell us where to start?

The resolve step has a very small API "surface":

https://github.com/JuliaLang/Pkg.jl/blob/0048fe1af04e2effcbce8ce2a0ed29d11b0e5950/src/Operations.jl#L339-L342

So serializing the graph should be enough to repro and looking at the output (the versions) from resolve should say if there is a bug (if a version is returned that is input as being incompatible). I personally doubt this is actually the case and that there is something wrong with the inputs to the resolver.

Even with https://gist.github.com/timholy/38dff6cfe0aa176bdc2d47bed0201e75 I can no longer reproduce this. Sorry I didn't ever figure out what was causing this, but hopefully it's a weird corner case.

Was this page helpful?
0 / 5 - 0 ratings