fix: guard os.getcwd() against deleted CWD (FileNotFoundError) - #37558
Closed
isair wants to merge 1 commit into
Closed
fix: guard os.getcwd() against deleted CWD (FileNotFoundError)#37558isair wants to merge 1 commit into
isair wants to merge 1 commit into
Conversation
When a scratch workspace is cleaned up while a terminal session is active, os.getcwd() raises FileNotFoundError and the tool crashes. Wrap it in try/except and fall back to TERMINAL_CWD env var or the user's home directory. This is a common edge case in CI, ephemeral containers, and workspace-tooling environments where directories may be deleted out from under a running process.
Collaborator
Contributor
|
One more spot to cover: the Docker mount path still calls os.getcwd() in the docker_mount_cwd_to_workspace branch when TERMINAL_CWD is unset. So this fixes env_type=local, but env_type=docker with TERMINAL_DOCKER_MOUNT_CWD_TO_WORKSPACE=true can still hit the same FileNotFoundError if the process CWD was deleted. Reusing the guarded helper there would close the same edge case for mounted workspaces too. |
Contributor
|
Merged via #39491 (commit ad69d3e) with your authorship preserved via rebase. Your deleted-CWD guard landed, refactored into a _safe_getcwd() helper applied to all three os.getcwd() sites in the file (local default, Docker cwd-passthrough, debug print) so the same crash cant resurface at a sibling. Thanks! |
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 a scratch workspace is cleaned up while a terminal session is active,
os.getcwd()raisesFileNotFoundErrorand the tool crashes. Wrap it in try/except and fall back toTERMINAL_CWDenv var or the user's home directory.This is a common edge case in CI, ephemeral containers, and workspace-tooling environments where directories may be deleted out from under a running process.