Repository navigation
fix: remove partial Python bootstrap files when writing fails - #290
Open
pavlov-victor wants to merge 1 commit into
Open
pavlov-victor wants to merge 1 commit into
pavlov-victor wants to merge 1 commit into
Conversation
6 tasks done
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.
Description
InitializeEnvironment returns immediately when os.WriteFile fails. If the file was created before the write failed, a partial bootstrap file remains in the sandbox temporary directory; the caller receives an empty path and cannot clean it up.
Remove that file before returning the original error. Successful writes and the existing cleanup paths are unchanged.
Tests cover both successful bootstrap creation and a partial-write failure. The failure test uses RLIMIT_FSIZE in a subprocess, without filling the disk. It fails on the original code and passes with this fix.
Validation: 13 tests passed in Linux/arm64 with Go 1.26:
This fixes a specific file leak on write failure. It does not remove existing orphaned files or establish the root cause of any Dify Cloud storage incident.