-
Notifications
You must be signed in to change notification settings - Fork 359
feat: add global timeout to terminal bench #2826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
cmunley1
merged 8 commits into
NVIDIA-NeMo:main
from
elisam0:elisam0/add-global-timeout-anyterminal
Sep 4, 2026
+108
−7
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
2d86db4
feat: add global timeout to terminal bench
elisam0 0e63e66
tests(anyterminal): add global timeout tests
elisam0 2ac5711
Merge remote-tracking branch 'origin/main' into elisam0/add-global-ti…
elisam0 21aca58
fix(anyterminal): reject global_agent_timeout=0
rroverin e014437
fix(anyterminal): mask samples killed by the sandbox runtime, not jus…
rroverin e5b905f
fix(anyterminal): reject a timeout config that would outlive the sand…
rroverin 6fd0c38
Merge branch 'main' of https://github.com/NVIDIA-NeMo/Gym into elisam…
rroverin 7093900
fix(anyterminal): derive tb_sandbox_ttl from the task's own timeouts
rroverin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be set higher than the container's own lifetime, and nothing checks that. The sandbox starts with
ttl_s=cfg.tb_sandbox_ttl(default 7200) at L582. In the Docker provider, that makes PID 1 a literalsleep 7200with--rm(provider.py:337-345), so the container is deleted at t=7200 regardless of the agent timeout.The tests use
global_agent_timeout=7200, exactly equal to the TTL. That leaves no room for startup, staging, or the 300s eval afterward, so the container can disappear before the run finishes. The config comment also points to 12000 as the TB2 max, which is well beyond the TTL.anyswe_agentderives the TTL instead:swebench_agent_timeout + swebench_tests_timeout + 600(anyswe_agent/app.py:335). Could we do the same here, or fail at config time ifglobal_agent_timeout + tb_eval_timeout >= tb_sandbox_ttl?