-
Notifications
You must be signed in to change notification settings - Fork 13k
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.20.0-beta.1 regression in memory usage #43789
Comments
This looks like linking the final executable - I don't think there should be any Rust code running in parallel. |
Nothing looks too out of place? Maybe the travis machines were just getting unlucky? |
It seems a bit strange that there's 10% more stuff being generated by beta compared to stable, right? |
As discussed in the core team meeting, @alexcrichton was testing on crates.io master, whereas I was seeing pretty consistent failures on rust-lang/crates.io#869 (without the workaround commit I added to that PR that switches travis from |
I tested for that PR as well but unfortunatel all the data is the same. There's very little difference between beta/stable on crates.io w/ that codebase. My only real guess here is that crates.io was hovering around some memory limit previously and just happened to blow it this time around |
@wycats seemed to indicate we should have been seeing more intermittent failures over time if that was the case; these cropped up suddenly. That PR was adding a few more crates? Do you think we should just close this? I'd love to track memory usage of crates.io compilations in travis over time, but it feels nontrivial to set up.... |
Since crates.io builds on stable it's not totally crazy that we might be able to add it to perf.rust-lang.org! It may take some time to fully integrate it and get good timings though. In the meantime though I think I'm at least personally out of ideas, although we could always leave the regression open to see if others would like to give it a stab |
Seeing this in gluon as well. https://travis-ci.org/gluon-lang/gluon/jobs/266597837. Is enabling sudo the only workaround for now? |
@Marwes the error there is "No space left on device", is that related to this issue? |
@alexcrichton Hmm, I guess that would be disk space actually. Started seeing various crashes when linking in beta and figured that this issue would be related. |
I'm seeing this on a binary that depends on the fantoccini crate, which uses futures heavily. I wonder if it's somehow related to #38528? On nightly, the compilation simply fails with Edit: actually, I guess my issue is #43613. Maybe the two are related? |
This regression's gonna slip to stable as there's no clear action to take. |
This is causing me issues now whenever I rely on |
I have a similar example: https://travis-ci.org/Hoverbear/digitalocean/builds/258872174 |
We've made several improvements to memory usage now -- is there a way to verify if there has been progress here? |
The fix for #43613 solved all the issues I was having. |
Tried running gluon without sudo (4GB ram instead of 7.5GB) on travis a few times and couldn't get it to crash on either stable, beta or nightly which was odd given that the changes shouldn't have propagated to stable or beta yet. Can't say either way if it is fixed or not. Can just open another issue if it reappears. |
OK, I'll close this for now. |
this still happens on a 2GB DigitalOcean "droplet" when trying to install parity (https://github.com/paritytech/parity) |
This is going to be vague; please feel free to close if this is covered by more specific issues (I wasn't sure) or if this is too vague to be useful.
I've seen intermittent failures with Rust 1.20.0-beta.1 (and sometimes nightly as well, but never stable) on travis when testing crates.io. The failures appear to be because it has run out of memory; this job in particular failed with:
Other samples:
It seems to happen more often on this PR. The particular job linked above is crates.io master plus the
tar
crate added as a dependency.Changing the travis config to
sudo: required
(which apparently gives you more memory) gets that PR to pass on beta, so I'm not particularly blocked, but just wanted to raise this in case it's a useful canary in the coal mine.The text was updated successfully, but these errors were encountered: