Fix low-memory issue and lower tier platforms with no sysinfo#2779
Merged
rbtcollins merged 2 commits intorust-lang:masterfrom May 28, 2021
Merged
Fix low-memory issue and lower tier platforms with no sysinfo#2779rbtcollins merged 2 commits intorust-lang:masterfrom
rbtcollins merged 2 commits intorust-lang:masterfrom
Conversation
7 tasks
rbtcollins
reviewed
May 23, 2021
In rust-lang#2774 we have seen hangs during installation for some low tier platforms for whom the 32M default if sysinfo doesn't work causes problems. This change *exposes* that problem in a failing test. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
57455f6 to
03be992
Compare
In incremental file processing we need to correctly account for the final chunk being released, otherwise we end up holding a chunk for the duration of the rest of the component for every incremental file in the tarball. This is what caused the issue surfaced in the previous commit, and thus this commit fixes rust-lang#2774 Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
03be992 to
1e4de78
Compare
Contributor
Author
|
Scope trace added, hope that's good now. |
Contributor
|
heh check the timeline... I had already done so :) |
|
@kinnison mentioned the potential for a release in order to deal with this. Is a 1.24.3 release planned? If so, I'd be curious if there are any other things blocking it. |
Contributor
Author
|
@chrisduerr Once #2782 is done I think a new release is plausible. Assuming Robert has time to review and merge it soon, I'll aim to stage a beta release early in the week. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lower memory (where 32M might be the bare minimum we can offer the unpacker) or lower-tier platforms which lack sysinfo support (where we default to 32M of unpack RAM) were hanging during install. Turns out this is because we were failing to account for the release of the last chunk in an incremental file unpack. This wasn't a memory leak per-se, but it did mean that the accounting system refused to let the component proceed because it didn't think there was a free chunk to use.
This pair of commits first introduces a test change which demonstrates the issue and then introduces a fix.
If this is merged, we should do a release in order to deal with #2774 asap.