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

Crates.io crashed after I yanked my crate. #1038

Closed
mersinvald opened this issue Sep 2, 2017 · 5 comments
Closed

Crates.io crashed after I yanked my crate. #1038

mersinvald opened this issue Sep 2, 2017 · 5 comments
Labels
A-backend ⚙️ B-needs-investigation C-bug 🐞 Category: unintended, undesired behavior

Comments

@mersinvald
Copy link

mersinvald commented Sep 2, 2017

Sent detailed info to @steveklabnik

@alexcrichton
Copy link
Member

I believe this was related to https://crates.io/crates/test-max-version-example-crate and the logs look like:

Sep 02 18:02:04 crates-io app/web.2: ERROR:conduit_log_requests: 127.0.0.1:55903 [2017-09-02T22:02:04Z] Delete /api/v1/crates/test-max-version-example-crate/18446744073709551615.18446744073709551615.18446744073709551615/yank - 30ms 500: entity not found No such file or directory (os error 2) 

I'm not sure that crates.io was taken down by this, the panic in #1046 was happening around the same time so it may have been coincidental. Regardless we shouldn't ever return a 500, so there's still a bug somewhere.

@stephanbuys
Copy link

I'll take a stab at this one, got details from Carol - got an idea of what the issue can be.

@stephanbuys
Copy link

I set up a local crates.io instance, but was not able to reproduce this issue, also not 100% sure how to yank from local.
I get the feeling that alt-registries might actually be a dependency for this to be tested properly (without messing with crates.io) - suggestions on how to test/reproduce this with minimal disruption welcome.

@stephanbuys
Copy link

Ok - I discovered the --index flag for yank and after reading the alt-registries RFC and related info (I now understand the role config.json plays), I was able to publish and yank version std::u64::max:
18446744073709551615.18446744073709551615.18446744073709551615, anything bigger than that produces a Error parsing major identifier for key 'package.version' error in cargo.
Looked at the DB and is seems the version is stored as a string (Postgres only supports i64), so I'm blocked on helping further without being able to reproduce the issue.

@carols10cents
Copy link
Member

Ok, this sounds like it's not actually an issue then-- an error is what I would expect, and the crashing of crates.io was coincidental timing. u64::max versions should enough for anyone :)

Thank you for the investigation @stephanbuys, that was a huge help!!! ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-backend ⚙️ B-needs-investigation C-bug 🐞 Category: unintended, undesired behavior
Projects
None yet
Development

No branches or pull requests

5 participants