fix: isolate parent exit watcher environment#2256
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR isolates the parent-exit watcher subprocess environment by setting a fixed ChangesParent Exit Watcher Environment Isolation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
TMOUTfrom timing out the watcher's blockingreadand killing healthy workflow stepsTMOUTand real parent-exit cleanup behaviorRelated Issues
Checklist
Testing
go test ./internal/cmn/cmdutil -run 'TestParentExitWatcher(IgnoresInheritedShellTimeout|TerminatesChildWhenParentExits)$' -count=1go test ./internal/cmn/cmdutil -count=1make test TEST_TARGET=./internal/cmn/cmdutilgit diff --checkTMOUT=3with asleep 5DAG completed successfully instead of dying at 3 secondsSummary by cubic
Isolates the Unix parent-exit watcher from inherited shell control variables to prevent
TMOUTfrom aborting its blocking read and killing healthy steps. Adds regression tests forTMOUTinheritance and parent-exit cleanup. Closes #2253.Env = ["PATH=/usr/bin:/bin"]) so shell vars likeTMOUTdon’t affect its blocking read.TMOUTand still terminates the child when the parent exits.Written for commit 162c532. Summary will update on new commits.
Summary by CodeRabbit
Bug Fixes
Tests