Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork8.1k
BUG: Reduce flaky Windows subprocess test timeouts#30884
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 ourterms of service andprivacy 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?
Conversation
timhoffm commentedDec 19, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I'm sorry. Your PRs have to substantially improve both in communication and in the actual code you are submitting. This totally does not make sense:
Please disclose: Have you used AI to generate the code? If so, to which extent? Do you understand what you are doing here? Please make sure to adhere to outGenAI policy. |
Uh oh!
There was an error while loading.Please reload this page.
On Windows (Python 3.11–3.13), tests that spawn subprocesses occasionally time out in CI. The failures are inconsistent, affect different tests across runs, and usually indicate that a subprocess stalled during startup rather than that the test logic itself is broken.
What problem does it solve?
It lowers the frequency of spurious CI failures caused by:
backend auto-detection happening inside subprocesses,
contention around the shared font cache on Windows,
slower and less predictable subprocess startup compared to other platforms.
These issues currently cause otherwise valid PRs to fail CI.
Reasoning for this implementation
The change is applied in subprocess_run_helper, which is the common entry point for the affected tests. Inside the subprocess, the backend is set defensively to avoid auto-detection delays, the font cache is isolated to a temporary directory to prevent cross-process interference, and the timeout is relaxed on Windows only. A small amount of stderr logging is added to help diagnose any remaining stalls.
Linux and macOS behavior is unchanged.
Happy to add more details if needed !
PR checklist