General Registry update timeout problem

On my Windows Machine I tried updating both Revise and JET. There is an interesting error that I cannot figure out. This is on Julia 1.12.6. It does not occur on my RPI 4 with the latest OS and Julia 1.12.6.

You can see that both Revise and JET are not the latest versions. Update gives an error which I cannot figure out.

If I remove Revise and then add it, it adds the same version again. If I try to add it with the URL, it complains about a compat issue. If I remove LoweredCodeUtils, by deleting it from the package folder, the same older version comes back.

Anyone know what is happening?

(@v1.12) pkg> st
Status `C:\Users\jakez\.julia\environments\v1.12\Project.toml`
  [69d22d85] About v1.0.4
  [7d51a73a] ExplicitImports v1.15.0
  [663a7486] FreeTypeAbstraction v0.10.8
  [c3a54625] JET v0.11.3
  [5fb14364] OhMyREPL v0.5.32
  [295af30f] Revise v3.14.5
  [0c614874] TerminalPager v0.6.14

(@v1.12) pkg> up
    Updating registry at `C:\Users\jakez\.julia\registries\local_julia_registry`
    Updating git-repo `https://github.com/Spectrum-Tec/local_julia_registry`
    Updating registry at `C:\Users\jakez\.julia\registries\General.toml`
┌ Error: Some registries failed to update:
│     — C:\Users\jakez\.julia\registries\General.toml — failed to download from https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/b7d17daeffc4fa199f4b0f93eec6d236e7b037d5. Exception: RequestError: HTTP/1.1 302 Moved Temporarily (Failed to connect to storage.julialang.net port 443 after 2020 ms: Could not connect to server) while requesting https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/b7d17daeffc4fa199f4b0f93eec6d236e7b037d5
└ @ Pkg.Registry C:\Users\jakez\.julia\juliaup\julia-1.12.6+0.x64.w64.mingw32\share\julia\stdlib\v1.12\Pkg\src\Registry\Registry.jl:574
     Project No packages added to or removed from `C:\Users\jakez\.julia\environments\v1.12\Project.toml`

(@v1.12) pkg> why LoweredCodeUtils
  JET → LoweredCodeUtils
  JET → Revise → LoweredCodeUtils

(@v1.12) pkg>
    Manifest No packages added to or removed from `C:\Users\jakez\.julia\environments\v1.12\Manifest.toml`

(@v1.12) pkg> rm Revise
    Updating `C:\Users\jakez\.julia\environments\v1.12\Project.toml`
  [295af30f] - Revise v3.14.5
    Manifest No packages added to or removed from `C:\Users\jakez\.julia\environments\v1.12\Manifest.toml`

(@v1.12) pkg> add https://github.com/timholy/Revise.jl
    Updating git-repo `https://github.com/timholy/Revise.jl`
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LoweredCodeUtils [6f1432cf]:
 LoweredCodeUtils [6f1432cf] log:
 ├─possible versions are: 0.1.0 - 3.5.3 or uninstalled
 └─restricted to versions 3.7.0 - 3 by Revise [295af30f] — no versions left
   └─Revise [295af30f] log:
     ├─possible versions are: 3.16.1 or uninstalled
     └─Revise [295af30f] is fixed to version 3.16.1

(@v1.12) pkg>

The two errors tell most of the story:

  • The first says that your General registry cannot be updated and is likely out-of-date, so Julia is not aware of the latest package versions and their various (in)compatibilities
  • The second says that something in your environment (the answer is JET) supports LoweredCodeUtils version 0.1 through 3.5.3, and you’re trying to install the master branch of Revise which requires LoweredCodeUtils 3.7 or higher.

So let’s check the package compatibilities:

The one thing that doesn’t quite make sense to me is that those bounds appear to apply to 0.11.4 but not 0.11.3 (a little higher up in that last Compat.toml file). But since your registry is out of date, it’s possible this is something that changed over time.

You might be able to add JET 0.11.5 manually the same way you’re trying with Revise, but honestly I’d focus on trying to figure out why your registry won’t update.

I did ] registry rm General and then tried to add General again with a similar error.

(@v1.12) pkg> registry add General
ERROR: could not download https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/e7833696bb8a3a65ffebfa27e13ab28b2d0d2640
Exception: RequestError: HTTP/1.1 302 Moved Temporarily (Failed to connect to storage.julialang.net port 443 after 2035 ms: Could not connect to server) while requesting https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/e7833696bb8a3a65ffebfa27e13ab28b2d0d2640

I then took the URL it is requesting and copied it into my browser. It asked to save e7833696bb8a3a65ffebfa27e13ab28b2d0d2640.tar.zst. When I okayed that and went to look at the download it had not started, so I went to write this post. After starting this post, I went back and found it had downloaded. So I think my error is a timeout.

Can I take this downloaded file and move it somewhere (~/.julia/registries) where it is recognized? Do I need to extract it and recompress with the name General.tar.gz? Or can I increase the timeout when I do ] registry add General?

Here is some code I used to disable the timeout mechanism. I don’t
know if there is a simple way to do this now…

using Downloads, Downloads.Curl
Downloads.EASY_HOOK[] = (easy, info) -> begin
    # Disable LibCURL's low speed timeout
    Curl.setopt(easy, Curl.CURLOPT_LOW_SPEED_TIME, 0)
end

I Edited the title to make it more relevant