Report the real layer-extraction failure instead of the downstream crane error - #545
Open
BinSquare wants to merge 1 commit into
Open
Report the real layer-extraction failure instead of the downstream crane error#545BinSquare wants to merge 1 commit into
BinSquare wants to merge 1 commit into
Conversation
|
Ready to review this PR? Stage has broken it down into 2 individual chapters for you:
Chapters generated by Stage for commit 4676e40 on Jul 3, 2026 9:09am UTC. |
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.
When an in-guest image pull fails while extracting a layer, the error was reported as "crane blob failed for layer ". That is misleading: a failed extraction closes the crane -> gunzip -> extract pipe, so gunzip and crane get SIGPIPE and exit non-zero as a downstream symptom. The pull checked crane's status first and surfaced it, hiding the actual cause. This surfaces the extraction error first (including its io error kind, e.g. StorageFull) and keeps crane's stderr as network context, so a pull that fails on a full disk, a truncated stream, or a permission fault reports why instead of pointing at crane. Surfaced a real bug: pulling public-registry images in a Linux guest fails extracting the first sizable layer file with StorageFull — now visible instead of masked.