Skip to content
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

cargo install fails to update registry #4245

Closed
df5602 opened this issue Jul 2, 2017 · 13 comments
Closed

cargo install fails to update registry #4245

df5602 opened this issue Jul 2, 2017 · 13 comments

Comments

@df5602
Copy link

df5602 commented Jul 2, 2017

About a week ago, cargo install has stopped working on my computer (macOS 10.12.5) with the following error:

$ cargo install --verbose racer
    Updating registry `https://github.com/rust-lang/crates.io-index`
warning: spurious network error (2 tries remaining): [12/-1] curl error: Could not resolve host: github.com

warning: spurious network error (1 tries remaining): [12/-1] curl error: Could not resolve host: github.com

error: failed to fetch `https://github.com/rust-lang/crates.io-index`

Caused by:
  [12/-1] curl error: Could not resolve host: github.com

(Note: there's nothing spurious about this error; it has stopped working 100% of the time.)

This happens with both the current stable and nightly versions of cargo.

Pinging github.com works fine, so I don't think it's a DNS issue:

$ ping github.com
PING github.com (192.30.253.112): 56 data bytes
64 bytes from 192.30.253.112: icmp_seq=0 ttl=52 time=121.824 ms
...

I didn't notice any other network related issue on this computer.

Any ideas what the problem is?

@alexcrichton
Copy link
Member

Is there perhaps an HTTP proxy configured? I believe libcurl reads a number of environment variables and that may cause curl/cargo to behave slightly different than the bare system itself.

@df5602
Copy link
Author

df5602 commented Jul 3, 2017

I don't think so. My laptop is directly connected to the wireless router provided by my ISP. I'm not aware of changing any network settings recently.

@alexcrichton
Copy link
Member

If you run env does it looks like any proxy configuration is in there? And you don't have any .cargo/config file that specifies proxy configuration?

@df5602
Copy link
Author

df5602 commented Jul 3, 2017

I don't see any environment variables that seem related to networking except one related to SSH. Anything in particular I should look out for?

I don't have a file named config in .cargo. I have a file named env in there, but it just exports .cargo/bin to $PATH...

@alexcrichton
Copy link
Member

Is this something like an ipv4/ipv6 problem maybe? Or maybe strace over a cargo build could help figure out what's going on here?

@df5602
Copy link
Author

df5602 commented Jul 3, 2017

Funny that you should mention strace, if was just trying to figure out how to run dtrace (the macOS equivalent, if I'm not mistaken) without having to disable all security protections.. However that seems to be quite the piece of work and it's getting late over here, so I'll try this tomorrow..

How would I debug an ipv4/ipv6 problem?

@alexcrichton
Copy link
Member

Sorry I basically have no idea what's going on here, I'm just throwing out ideas. All your guesses are basically as good as mine at this point. I don't know how to debug this problem, just wondering if anything rings a bell with you.

@df5602
Copy link
Author

df5602 commented Jul 4, 2017

Thanks for your help anyway..

However the problem became even stranger (TL;DR: it's now working again!): I tried adding github.com to my etc/hosts file and the error message changed to the following:

$ cargo install racer
    Updating registry `https://github.com/rust-lang/crates.io-index`
warning: spurious network error (2 tries remaining): [2/-1] failed to create locked file '/Users/my_user/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/pack_git2_Mfidx.lock': Too many open files
warning: spurious network error (1 tries remaining): [2/-1] failed to create locked file '/Users/my_user/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/pack_git2_TMidx.lock': Too many open files
error: failed to fetch `https://github.com/rust-lang/crates.io-index`

If I remove the entry in etc/hosts it goes back to the error message in my opening comment.

That led me to think that maybe something got corrupt in cargo's application data and I renamed the registry folder and retried:

$ cargo install racer
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading racer v2.0.9
  Installing racer v2.0.9
error: binary `racer` already exists in destination as part of `racer v2.0.9`
Add --force to overwrite

So it seems like my cargo works again like it used to.. I'm not sure what went wrong. Do you need more information from me to investigate further or should we close this issue?

@alexcrichton
Copy link
Member

That does indeed sound odd! "Too man open files" seems suspicious but I'm not sure how we'd fix it. If it's working now though that's great! In that case yeah let's close

@datariot
Copy link

As a follow up, I had the same thing happen the other week. I was running MacOS High Sierra Beta, not sure if that makes a difference. I removed the registry and cargo update was able to run just fine. Definitely seems like something got corrupt.

@paul-tcell
Copy link

Just had this happen to me on mac os Sierra. wiping out the ~/.cargo/registry directory fixed it.

@sampullman
Copy link

Same issue on 10.12.6, removing ~/.cargo/registry didn't work but a system reboot did.

@karma271
Copy link

karma271 commented Aug 5, 2018

It seems like the issue still persist. The last thing that I did before cargo run stopped working was trying to step up rust for emacs which was unsuccessful. Specifically, I could not install racer crate using cargo install racer properly. It looks like someone else was also trying to install the racer crate. Could this be a possible source of this issue?

Updating registry `https://github.com/rust-lang/crates.io-index`
warning: spurious network error (2 tries remaining): [12/-17] unknown certificate check failure
warning: spurious network error (1 tries remaining): [12/-17] unknown certificate check failure
error: failed to load source for a dependency on `rand`

Caused by:
  Unable to update registry `https://github.com/rust-lang/crates.io-index`

Caused by:
  failed to fetch `https://github.com/rust-lang/crates.io-index`

Caused by:
  [12/-17] unknown certificate check failure

Edit:
removing registry directory using rm -rf ~/.cargo/registry and rebooting the system did not work either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants