Close all ReadClosers explicitly retrieved from resolvers #414
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.
When analyzing images with several files opened the following warning was being seen in the logs:
Where it seems that syft was exhausting all file descriptor resources on the system. The cause was from PR #339 which pulled in several impactful stereoscope changes, including how you retrieve contents from underlying images... which now returns ReadClosers, not just Readers. The caller is now responsible for explicitly calling
Close(), though stereoscope attempts to close when anEOFis observed, not all cataloger parsers read till the end of every file.This PR adds a corresponding
Close()call for everyReadCloserprovided by stereoscope.