-
-
Notifications
You must be signed in to change notification settings - Fork 58
fix: Retry Linux flake #2535
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
base: main
Are you sure you want to change the base?
fix: Retry Linux flake #2535
Conversation
Semver Impact of This PR🟢 Patch (bug fixes) 📋 Changelog PreviewThis is how your changes will appear in the changelog. This PR will not appear in the changelog. 🤖 This preview updates automatically when you update the PR. |
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.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| Write-Log "Will retry..." | ||
| continue | ||
| } | ||
| throw |
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.
Hung process not killed when Player.log missing during retry
Medium Severity
When the game hangs during startup (the exact scenario this PR targets), the AppDataDir has been cleaned at the start of the attempt and the hung process never recreated Player.log. Get-Content on the missing file throws a terminating error (due to $ErrorActionPreference = "Stop"), which propagates out of RunTest before reaching Stop-Process -Force. The finally block in RunTest only writes ::endgroup:: and doesn't clean up the process. The retry loop catches the exception and starts a new attempt, but the old hung process is still running. Before this PR there was no retry so the script would just exit; now zombie processes accumulate across retries and could interfere with subsequent attempts.


This is similar to #2527
If running the game hangs (i.e. on Linux during startup) the state has to be reset and the tests rerun.
This wraps the existing logic in a
max-try = 3and resets theAppDataDir.#skip-changelog