Suddenly can no longer run test (due to breaking `]add Package` midway?)

I am developing a package, however, suddently, where I try to run

]test

I get a crash. A potential reason is that I pasted some code into the REPL which contained a using ... statement for a package I did not want to add to the package, however, I clicked the wrong button so the REPL automatically started to add it, and because I didn’t want this to happen I ctrl+C the process. After that I get this issue. Here is the error:

ERROR: Unexpected end of data : General.tar
ERROR: EOFError: read end of file
Stacktrace:
  [1] (::Base.var"#wait_locked#832")(s::Base.PipeEndpoint, buf::IOBuffer, nb::Int64)
    @ Base ./stream.jl:978
  [2] unsafe_read(s::Base.PipeEndpoint, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./stream.jl:987
  [3] unsafe_read(io::Base.Process, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./io.jl:463
  [4] unsafe_read
    @ ./io.jl:890 [inlined]
  [5] read!
    @ ./io.jl:913 [inlined]
  [6] read!
    @ ./io.jl:932 [inlined]
  [7] read_data(tar::Base.Process; size::Int64, buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:751
  [8] read_data
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:740 [inlined]
  [9] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:583
 [10] read_standard_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:578 [inlined]
 [11] #read_header#48
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:423 [inlined]
 [12] read_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:417 [inlined]
 [13] read_tarball(callback::Pkg.Registry.var"#20#23"{Base.Process, IOBuffer, Vector{UInt8}, Dict{String, String}}, predicate::Pkg.Registry.var"#21#24", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:353
 [14] read_tarball
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:341 [inlined]
 [15] #19
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:264 [inlined]
 [16] open(::Pkg.Registry.var"#19#22"{IOBuffer, Vector{UInt8}, Dict{String, String}}, ::Cmd; kwargs::@Kwargs{})
    @ Base ./process.jl:447
 [17] open
    @ ./process.jl:428 [inlined]
 [18] uncompress_registry(tar_gz::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:263
 [19] Pkg.Registry.RegistryInstance(path::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:330
 [20] reachable_registries(; depots::Vector{String})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:436
 [21] reachable_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:406 [inlined]
 [22] Context
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Types.jl:401 [inlined]
 [23] resolve(; io::IOContext{IO}, kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:392
 [24] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:404
 [25] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [26] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [27] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [28] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [29] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [30] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [31] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [32] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [33] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [34] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [35] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

Maybe it is a general thing? I tried to check ]st in another place on my computer and got a

ERROR: Unexpected end of data : General.tar
ERROR: EOFError: read end of file
Stacktrace:
  [1] (::Base.var"#wait_locked#832")(s::Base.PipeEndpoint, buf::IOBuffer, nb::Int64)
    @ Base ./stream.jl:978
  [2] unsafe_read(s::Base.PipeEndpoint, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./stream.jl:987
  [3] unsafe_read(io::Base.Process, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./io.jl:463
  [4] unsafe_read
    @ ./io.jl:890 [inlined]
  [5] read!
    @ ./io.jl:913 [inlined]
  [6] read!
    @ ./io.jl:932 [inlined]
  [7] read_data(tar::Base.Process; size::Int64, buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:751
  [8] read_data
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:740 [inlined]
  [9] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:583
 [10] read_standard_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:578 [inlined]
 [11] #read_header#48
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:423 [inlined]
 [12] read_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:417 [inlined]
 [13] read_tarball(callback::Pkg.Registry.var"#20#23"{Base.Process, IOBuffer, Vector{UInt8}, Dict{String, String}}, predicate::Pkg.Registry.var"#21#24", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:353
 [14] read_tarball
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:341 [inlined]
 [15] #19
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:264 [inlined]
 [16] open(::Pkg.Registry.var"#19#22"{IOBuffer, Vector{UInt8}, Dict{String, String}}, ::Cmd; kwargs::@Kwargs{})
    @ Base ./process.jl:447
 [17] open
    @ ./process.jl:428 [inlined]
 [18] uncompress_registry(tar_gz::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:263
 [19] Pkg.Registry.RegistryInstance(path::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:330
 [20] reachable_registries(; depots::Vector{String})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:436
 [21] reachable_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:406 [inlined]
 [22] download_default_registries(io::IOContext{IO}; only_if_empty::Bool, depot::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:107
 [23] download_default_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:106 [inlined]
 [24] status(pkgs::Vector{Pkg.Types.PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:149
 [25] status(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:148
 [26] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:407
 [27] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [28] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [29] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [30] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [31] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [32] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [33] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [34] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [35] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [36] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [37] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

It does indeed look like you have a corrupted, probably truncated, registry file. You can probably solve it with

pkg> registry remove General
pkg> registry add
1 Like

Is this related to Running out of disk space on HPC without really doing anything unusual where you have reached a quota and your registry can’t be downloaded correctly?

1 Like

Doing this actually yields exactly the same problem:

   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.5 (2025-04-14)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.11) pkg> st
ERROR: Unexpected end of data : General.tar
ERROR: EOFError: read end of file
Stacktrace:
  [1] (::Base.var"#wait_locked#832")(s::Base.PipeEndpoint, buf::IOBuffer, nb::Int64)
    @ Base ./stream.jl:978
  [2] unsafe_read(s::Base.PipeEndpoint, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./stream.jl:987
  [3] unsafe_read(io::Base.Process, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./io.jl:463
  [4] unsafe_read
    @ ./io.jl:890 [inlined]
  [5] read!
    @ ./io.jl:913 [inlined]
  [6] read!
    @ ./io.jl:932 [inlined]
  [7] read_data(tar::Base.Process; size::Int64, buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:751
  [8] read_data
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:740 [inlined]
  [9] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:583
 [10] read_standard_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:578 [inlined]
 [11] #read_header#48
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:423 [inlined]
 [12] read_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:417 [inlined]
 [13] read_tarball(callback::Pkg.Registry.var"#20#23"{Base.Process, IOBuffer, Vector{UInt8}, Dict{String, String}}, predicate::Pkg.Registry.var"#21#24", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:353
 [14] read_tarball
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:341 [inlined]
 [15] #19
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:264 [inlined]
 [16] open(::Pkg.Registry.var"#19#22"{IOBuffer, Vector{UInt8}, Dict{String, String}}, ::Cmd; kwargs::@Kwargs{})
    @ Base ./process.jl:447
 [17] open
    @ ./process.jl:428 [inlined]
 [18] uncompress_registry(tar_gz::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:263
 [19] Pkg.Registry.RegistryInstance(path::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:330
 [20] reachable_registries(; depots::Vector{String})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:436
 [21] reachable_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:406 [inlined]
 [22] download_default_registries(io::IOContext{IO}; only_if_empty::Bool, depot::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:107
 [23] download_default_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:106 [inlined]
 [24] status(pkgs::Vector{Pkg.Types.PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:149
 [25] status(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:148
 [26] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:407
 [27] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [28] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [29] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [30] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [31] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [32] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [33] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [34] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [35] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [36] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [37] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

(@v1.11) pkg> registry remove General
ERROR: Unexpected end of data : General.tar
ERROR: EOFError: read end of file
Stacktrace:
  [1] (::Base.var"#wait_locked#832")(s::Base.PipeEndpoint, buf::IOBuffer, nb::Int64)
    @ Base ./stream.jl:978
  [2] unsafe_read(s::Base.PipeEndpoint, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./stream.jl:987
  [3] unsafe_read(io::Base.Process, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./io.jl:463
  [4] unsafe_read
    @ ./io.jl:890 [inlined]
  [5] read!
    @ ./io.jl:913 [inlined]
  [6] read!
    @ ./io.jl:932 [inlined]
  [7] read_data(tar::Base.Process; size::Int64, buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:751
  [8] read_data
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:740 [inlined]
  [9] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:583
 [10] read_standard_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:578 [inlined]
 [11] #read_header#48
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:423 [inlined]
 [12] read_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:417 [inlined]
 [13] read_tarball(callback::Pkg.Registry.var"#20#23"{Base.Process, IOBuffer, Vector{UInt8}, Dict{String, String}}, predicate::Pkg.Registry.var"#21#24", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:353
 [14] read_tarball
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:341 [inlined]
 [15] #19
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:264 [inlined]
 [16] open(::Pkg.Registry.var"#19#22"{IOBuffer, Vector{UInt8}, Dict{String, String}}, ::Cmd; kwargs::@Kwargs{})
    @ Base ./process.jl:447
 [17] open
    @ ./process.jl:428 [inlined]
 [18] uncompress_registry(tar_gz::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:263
 [19] Pkg.Registry.RegistryInstance(path::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:330
 [20] reachable_registries(; depots::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:436
 [21] reachable_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:406 [inlined]
 [22] find_installed_registries(io::IOContext{IO}, needles::Vector{Pkg.Registry.RegistrySpec}; depots::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:318
 [23] find_installed_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:315 [inlined]
 [24] rm(regs::Vector{Pkg.Registry.RegistrySpec}; io::IOContext{IO})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:301
 [25] rm(regs::Vector{Pkg.Registry.RegistrySpec})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:300
 [26] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:407
 [27] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [28] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [29] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [30] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [31] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [32] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [33] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [34] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [35] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [36] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [37] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

(@v1.11) pkg> registry add
ERROR: Unexpected end of data : General.tar
ERROR: EOFError: read end of file
Stacktrace:
  [1] (::Base.var"#wait_locked#832")(s::Base.PipeEndpoint, buf::IOBuffer, nb::Int64)
    @ Base ./stream.jl:978
  [2] unsafe_read(s::Base.PipeEndpoint, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./stream.jl:987
  [3] unsafe_read(io::Base.Process, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./io.jl:463
  [4] unsafe_read
    @ ./io.jl:890 [inlined]
  [5] read!
    @ ./io.jl:913 [inlined]
  [6] read!
    @ ./io.jl:932 [inlined]
  [7] read_data(tar::Base.Process; size::Int64, buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:751
  [8] read_data
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:740 [inlined]
  [9] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:583
 [10] read_standard_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:578 [inlined]
 [11] #read_header#48
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:423 [inlined]
 [12] read_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:417 [inlined]
 [13] read_tarball(callback::Pkg.Registry.var"#20#23"{Base.Process, IOBuffer, Vector{UInt8}, Dict{String, String}}, predicate::Pkg.Registry.var"#21#24", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:353
 [14] read_tarball
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:341 [inlined]
 [15] #19
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:264 [inlined]
 [16] open(::Pkg.Registry.var"#19#22"{IOBuffer, Vector{UInt8}, Dict{String, String}}, ::Cmd; kwargs::@Kwargs{})
    @ Base ./process.jl:447
 [17] open
    @ ./process.jl:428 [inlined]
 [18] uncompress_registry(tar_gz::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:263
 [19] Pkg.Registry.RegistryInstance(path::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:330
 [20] reachable_registries(; depots::Vector{String})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:436
 [21] reachable_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:406 [inlined]
 [22] download_default_registries(io::IOContext{IO}; only_if_empty::Bool, depot::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:107
 [23] download_default_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:106 [inlined]
 [24] add(regs::Vector{Pkg.Registry.RegistrySpec}; io::IOContext{IO}, depot::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:53
 [25] add(regs::Vector{Pkg.Registry.RegistrySpec})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:51
 [26] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:407
 [27] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [28] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [29] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [30] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [31] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [32] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [33] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [34] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [35] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [36] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [37] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

(@v1.11) pkg> st
ERROR: Unexpected end of data : General.tar
ERROR: EOFError: read end of file
Stacktrace:
  [1] (::Base.var"#wait_locked#832")(s::Base.PipeEndpoint, buf::IOBuffer, nb::Int64)
    @ Base ./stream.jl:978
  [2] unsafe_read(s::Base.PipeEndpoint, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./stream.jl:987
  [3] unsafe_read(io::Base.Process, p::Ptr{UInt8}, nb::UInt64)
    @ Base ./io.jl:463
  [4] unsafe_read
    @ ./io.jl:890 [inlined]
  [5] read!
    @ ./io.jl:913 [inlined]
  [6] read!
    @ ./io.jl:932 [inlined]
  [7] read_data(tar::Base.Process; size::Int64, buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:751
  [8] read_data
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:740 [inlined]
  [9] read_standard_header(io::Base.Process; buf::Vector{UInt8}, tee::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:583
 [10] read_standard_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:578 [inlined]
 [11] #read_header#48
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:423 [inlined]
 [12] read_header
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:417 [inlined]
 [13] read_tarball(callback::Pkg.Registry.var"#20#23"{Base.Process, IOBuffer, Vector{UInt8}, Dict{String, String}}, predicate::Pkg.Registry.var"#21#24", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
    @ Tar ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:353
 [14] read_tarball
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Tar/src/extract.jl:341 [inlined]
 [15] #19
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:264 [inlined]
 [16] open(::Pkg.Registry.var"#19#22"{IOBuffer, Vector{UInt8}, Dict{String, String}}, ::Cmd; kwargs::@Kwargs{})
    @ Base ./process.jl:447
 [17] open
    @ ./process.jl:428 [inlined]
 [18] uncompress_registry(tar_gz::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:263
 [19] Pkg.Registry.RegistryInstance(path::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:330
 [20] reachable_registries(; depots::Vector{String})
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:436
 [21] reachable_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/registry_instance.jl:406 [inlined]
 [22] download_default_registries(io::IOContext{IO}; only_if_empty::Bool, depot::String)
    @ Pkg.Registry ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:107
 [23] download_default_registries
    @ ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Registry/Registry.jl:106 [inlined]
 [24] status(pkgs::Vector{Pkg.Types.PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:149
 [25] status(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:148
 [26] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:407
 [27] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
 [28] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [29] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [30] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [31] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [32] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [33] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [34] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [35] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [36] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1506
 [37] (::REPL.var"#79#85"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:497

Not this, this is a different problem on an unrelated machine :frowning:

Actually, turns out ChatGPT managed to figure it out (!), this is the solution:

julia> import Pkg
julia> Pkg.Registry.rm("General"; force=true)   # ok if it says it's not present
julia> Pkg.Registry.add("General")
julia> Pkg.Registry.update()

That’s effectively the same as I proposed, apart from the last update, which isn’t needed to resolve the problem.

3 Likes

ok, there probably are some odd differences that had an effect here for some reason - hwen I ran yours I got the error again. Looking at the code it is the same principle though, maybe something silly like using ] mode caused the difference. Thanks for the help either way though!