JuliaLang / Pkg.jl

Pkg - Package manager for the Julia programming language
https://pkgdocs.julialang.org
Other
621 stars 261 forks source link

KeyError: key Base.PkgId([...], "SparseArrays") not found when trying to update packages on nightly #3834

Closed jishnub closed 6 months ago

jishnub commented 7 months ago
julia> VERSION
v"1.12.0-DEV.142"

(BlockBandedMatrices) pkg> up
    Updating registry at `~/.julia/registries/General.toml`
  No Changes to `~/Dropbox/JuliaPackages/BlockBandedMatrices.jl/Project.toml`
  No Changes to `~/Dropbox/JuliaPackages/BlockBandedMatrices.jl/Manifest.toml`
ERROR: KeyError: key Base.PkgId(Base.UUID("2f01184e-e22b-5df5-ae63-d93ebab69eaf"), "SparseArrays") not found
Stacktrace:
  [1] getindex
    @ ./dict.jl:477 [inlined]
  [2] (::Base.Precompilation.var"#scan_deps!#41"{Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}}, Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:475
  [3] (::Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:468
  [4] (::Base.Precompilation.var"#scan_deps!#41"{Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}}, Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:476
  [5] (::Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:468
  [6] precompilepkgs(pkgs::Vector{String}; internal_call::Bool, strict::Bool, warn_loaded::Bool, timing::Bool, _from_loading::Bool, flags_cacheflags::Pair{Cmd, Base.CacheFlags}, io::Pkg.UnstableIO)
    @ Base.Precompilation ./precompilation.jl:482
  [7] (::Pkg.API.var"#227#228"{Bool, Bool, Bool, Bool, Bool, Pair{Cmd, Base.CacheFlags}, Pkg.Types.Context, Vector{Pkg.Types.PackageSpec}})()
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:1147
  [8] activate(f::Pkg.API.var"#227#228"{Bool, Bool, Bool, Bool, Bool, Pair{Cmd, Base.CacheFlags}, Pkg.Types.Context, Vector{Pkg.Types.PackageSpec}}, new_project::String)
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:1368
  [9] precompile(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, timing::Bool, _from_loading::Bool, flags_cacheflags::Pair{Cmd, Base.CacheFlags}, kwargs::@Kwargs{})
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:1145
 [10] #_auto_precompile#4
    @ ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/Pkg.jl:837 [inlined]
 [11] _auto_precompile (repeats 2 times)
    @ ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/Pkg.jl:835 [inlined]
 [12] up(pkgs::Vector{Pkg.Types.PackageSpec}; io::Pkg.UnstableIO, kwargs::@Kwargs{})
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:160
 [13] up(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:148
 [14] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/REPLMode/REPLMode.jl:407
 [15] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/REPLMode/REPLMode.jl:393
 [16] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/ext/REPLExt/REPLExt.jl:92
 [17] (::REPLExt.var"#31#34"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/ext/REPLExt/REPLExt.jl:122
 [18] #invokelatest#2
    @ ./essentials.jl:1030 [inlined]
 [19] invokelatest
    @ ./essentials.jl:1027 [inlined]
 [20] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/LineEdit.jl:2744
 [21] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/REPL.jl:1415
 [22] (::REPL.var"#75#81"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/REPL.jl:465
KristofferC commented 7 months ago

Would be useful if you can provide the Project + Manifest.

jishnub commented 6 months ago

Steps to reproduce: clone BlockBandedMatrices and try to update packages in its environment:

jishnu:~/ $ mktemp -d                                                                                                                                       [10:24:59]
/tmp/tmp.C7PqJC651r
jishnu:~/ $ cd /tmp/tmp.C7PqJC651r                                                                                                                          [10:25:02]
jishnu:tmp.C7PqJC651r/ $ git clone https://github.com/JuliaLinearAlgebra/BlockBandedMatrices.jl                                                             [10:25:06]
Cloning into 'BlockBandedMatrices.jl'...
remote: Enumerating objects: 2354, done.
remote: Counting objects: 100% (496/496), done.
remote: Compressing objects: 100% (189/189), done.
remote: Total 2354 (delta 344), reused 416 (delta 289), pack-reused 1858
Receiving objects: 100% (2354/2354), 825.31 KiB | 1.58 MiB/s, done.
Resolving deltas: 100% (1532/1532), done.
jishnu:tmp.C7PqJC651r/ $ cd BlockBandedMatrices.jl                                                                                                          [10:25:13]
jishnu:BlockBandedMatrices.jl/ (master) $ julia-latest --project --startup=no                                                                               [10:25:17]
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.12.0-DEV.142 (2024-03-06)
 _/ |\__'_|_|_|\__'_|  |  Commit 56f1c8ae62c (1 day old master)
|__/                   |

julia> VERSION
v"1.12.0-DEV.142"

(BlockBandedMatrices) pkg> up
    Updating registry at `~/.julia/registries/General.toml`
    Updating `/tmp/tmp.C7PqJC651r/BlockBandedMatrices.jl/Project.toml`
  [4c555306] + ArrayLayouts v1.6.1
  [aae01518] + BandedMatrices v1.5.0
  [8e7c35d0] + BlockArrays v0.16.39
  [1a297f60] + FillArrays v1.9.3
  [a3b82374] + MatrixFactorizations v2.1.0
  [37e2e46d] ~ LinearAlgebra ⇒ v1.11.0
    Updating `/tmp/tmp.C7PqJC651r/BlockBandedMatrices.jl/Manifest.toml`
  [4c555306] + ArrayLayouts v1.6.1
  [aae01518] + BandedMatrices v1.5.0
  [8e7c35d0] + BlockArrays v0.16.39
  [1a297f60] + FillArrays v1.9.3
  [a3b82374] + MatrixFactorizations v2.1.0
  [aea7be01] + PrecompileTools v1.2.0
  [21216c6a] + Preferences v1.4.3
  [56f22d72] + Artifacts v1.11.0
  [ade2ca70] + Dates v1.11.0
  [8f399da3] + Libdl v1.11.0
  [37e2e46d] + LinearAlgebra v1.11.0
  [de0858da] + Printf v1.11.0
  [9a3f8284] + Random v1.11.0
  [ea8e919c] + SHA v0.7.0
  [fa267f1f] + TOML v1.0.3
  [4ec0a83e] + Unicode v1.11.0
  [e66e0078] + CompilerSupportLibraries_jll v1.1.0+0
  [4536629a] + OpenBLAS_jll v0.3.26+2
  [8e850b90] + libblastrampoline_jll v5.8.0+1
ERROR: KeyError: key Base.PkgId(Base.UUID("2f01184e-e22b-5df5-ae63-d93ebab69eaf"), "SparseArrays") not found
Stacktrace:
  [1] getindex
    @ ./dict.jl:477 [inlined]
  [2] (::Base.Precompilation.var"#scan_deps!#41"{Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}}, Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:475
  [3] (::Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:468
  [4] (::Base.Precompilation.var"#scan_deps!#41"{Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}}, Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:476
  [5] (::Base.Precompilation.var"#scan_pkg!#39"{Dict{Base.PkgId, Bool}})(pkg::Base.PkgId, dmap::Dict{Base.PkgId, Vector{Base.PkgId}})
    @ Base.Precompilation ./precompilation.jl:468
  [6] precompilepkgs(pkgs::Vector{String}; internal_call::Bool, strict::Bool, warn_loaded::Bool, timing::Bool, _from_loading::Bool, flags_cacheflags::Pair{Cmd, Base.CacheFlags}, io::Pkg.UnstableIO)
    @ Base.Precompilation ./precompilation.jl:482
  [7] (::Pkg.API.var"#227#228"{Bool, Bool, Bool, Bool, Bool, Pair{Cmd, Base.CacheFlags}, Pkg.Types.Context, Vector{Pkg.Types.PackageSpec}})()
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:1147
  [8] activate(f::Pkg.API.var"#227#228"{Bool, Bool, Bool, Bool, Bool, Pair{Cmd, Base.CacheFlags}, Pkg.Types.Context, Vector{Pkg.Types.PackageSpec}}, new_project::String)
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:1368
  [9] precompile(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, timing::Bool, _from_loading::Bool, flags_cacheflags::Pair{Cmd, Base.CacheFlags}, kwargs::@Kwargs{})
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:1145
 [10] #_auto_precompile#4
    @ ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/Pkg.jl:837 [inlined]
 [11] _auto_precompile (repeats 2 times)
    @ ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/Pkg.jl:835 [inlined]
 [12] up(pkgs::Vector{Pkg.Types.PackageSpec}; io::Pkg.UnstableIO, kwargs::@Kwargs{})
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:160
 [13] up(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/API.jl:148
 [14] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/REPLMode/REPLMode.jl:407
 [15] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/src/REPLMode/REPLMode.jl:393
 [16] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/ext/REPLExt/REPLExt.jl:92
 [17] (::REPLExt.var"#31#34"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/Pkg/ext/REPLExt/REPLExt.jl:122
 [18] #invokelatest#2
    @ ./essentials.jl:1030 [inlined]
 [19] invokelatest
    @ ./essentials.jl:1027 [inlined]
 [20] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/LineEdit.jl:2744
 [21] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/REPL.jl:1415
 [22] (::REPL.var"#75#81"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/REPL.jl:465

Project.toml Manifest.toml

jishnub commented 6 months ago

I've uploaded the Manifest.toml to the sparsearrayskeyerrorPkg3834 branch of https://github.com/jishnub/BlockBandedMatrices.jl, so it may be easier to reproduce by checking this out.

jishnu:tmp.4AyOUUKqDB/ $ git clone https://github.com/jishnub/BlockBandedMatrices.jl                                                                        [10:39:32]
Cloning into 'BlockBandedMatrices.jl'...
remote: Enumerating objects: 2032, done.
remote: Counting objects: 100% (392/392), done.
remote: Compressing objects: 100% (134/134), done.
remote: Total 2032 (delta 310), reused 305 (delta 256), pack-reused 1640
Receiving objects: 100% (2032/2032), 611.65 KiB | 2.41 MiB/s, done.
Resolving deltas: 100% (1363/1363), done.

jishnu:tmp.4AyOUUKqDB/ $ cd BlockBandedMatrices.jl                                                                                                          [10:40:17]
jishnu:BlockBandedMatrices.jl/ (master) $ git checkout sparsearrayskeyerrorPkg3834                                                                          [10:40:29]
branch 'sparsearrayskeyerrorPkg3834' set up to track 'origin/sparsearrayskeyerrorPkg3834'.
Switched to a new branch 'sparsearrayskeyerrorPkg3834'
jishnu:BlockBandedMatrices.jl/ (sparsearrayskeyerrorPkg3834) $ julia-latest --project --startup=no                                                          [10:40:32]
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.12.0-DEV.142 (2024-03-06)
 _/ |\__'_|_|_|\__'_|  |  Commit 56f1c8ae62c (1 day old master)
|__/                   |

(BlockBandedMatrices) pkg> up
    Updating registry at `~/.julia/registries/General.toml`
  No Changes to `/tmp/tmp.4AyOUUKqDB/BlockBandedMatrices.jl/Project.toml`
  No Changes to `/tmp/tmp.4AyOUUKqDB/BlockBandedMatrices.jl/Manifest.toml`
ERROR: KeyError: key Base.PkgId(Base.UUID("2f01184e-e22b-5df5-ae63-d93ebab69eaf"), "SparseArrays") not found
[...]
KristofferC commented 6 months ago

Should be fixed by https://github.com/JuliaLang/julia/pull/53649