-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.7.3 release [also 1.8.0-rc1 and 1.6.6 LTS] - post install | Pkg.update() → "could not download registries (thread failed to start)" #45465
Comments
Could you also try with eg the nightly julia version and see if the behavior is the same there? |
Quoting what I wrote on discourse, where this was originally reported:
|
Looking at what got backported in #44189, it doesn't see that so much other things are likely to have impacted this though. |
Nightly Julia release:
Connection to pkg.julialang.org/registries appears to work as expected:
|
There is some discussion about this error here curl/curl#6495. Is there something "special" about your system? Running with some aggressive firewall or something like that? |
Yes, thank you. Missing the forest for the trees. |
I was wrong about this being a libuv issue—it's actually a libcurl issue (as indicated by @KristofferC above). It seems that Julia's usage of libcurl can easily hit this issue since it's simple for someone to start an unlimited number of concurrent downloads. Since we don't want to artificially limit the number of concurrent downloads, I've worked around this libcurl issue by adding a semaphore to limit the number of concurrent connections. This allows arbitrarily many concurrent downloads but throttles the number of incomplete connections to servers. Since establishing connections should be quick, this avoids many problems without slowing things down. Specifically, since the DNS resolution happens during the estblishment of the connection, this means that libcurl won't ever start more than 16 threads for getaddrinfo calls. |
IIRC, this took an average of about 100ms on my machine per connection, mostly spent waiting for libmbedtls to parse the certificate information on disk, based on the "concurrent requests" test duration |
Upgraded to Julia 1.7.3.
Post upgrade
Do not know if this is related to the new release, but have not encountered this error message previously.
The text was updated successfully, but these errors were encountered: