-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
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
GUI tests: CPython 3.9 CI failure for macOS: macOS 11 (1107) or later required, have instead 11 (1106) ! #97032
Comments
I'm seeing this for 3.10 on some of my internal builds since the build machines flipped over from 1106 to 1107. So is one of the checks wrong in the test? |
The GitHub Action uses 11.07 version:
Yeah.. l presume that the checking would be wrong.. but I need more clues. |
The action seems to use a very old version of Tk (probably the system install):
This is from the "Display Build Info" step of the first linked CI failure. I'm inclined to blame Tk here given that the crash happens while testing code that uses Tkinter. Looks like we could update the action to "brew install" a newer version of Tcl/Tk. |
The interesting fact is that the latest This issue only happens at the 3.9 branch, |
The issue here is that how Tcl/Tk libraries are detected changed between 3.9 (and earlier branches) and 3.10, with a further change in 3.11. As documented, 3.10 introduced implicit support for using |
FTR, Tk-related GUI tests are skipped during macOS CI runs on other branches because the Python build is not an installed framework build and the Homebrew-supplied Tcl and Tk libs are not from a Tcl/Tk framework build, so the tests are not run under a GUI-enabling app bundle, unlike when falling back to the legacy and faulty Apple-supplied Tcl/Tk 8.5 frameworks as was happening here. |
#97530 patches |
This doesn't sound like a security-related issue and surely nothing has changed with regard to IDLE tests in security-fix-only branches so I don't think there is any need to backport #97530. And there are already GUI-available tests in the TK tests, IIRC. |
For 3.9, the second link above shows that test_tcl, test_tk, and test_ttk_guionly all passed as 'skipped'. The crash of a non-gui IDLE test due to it very indirectly invoking a Tk() call was AFAIK the only failure indication. So leaving the test unfixed in 3.9- is fine with me. My main concern is with current branches and they seem to be the same. On my PR, the Mac test of the newly combined test_tkinter passes as skipped.
I don't know what triggered the failure reported here. If it is something Apple did, then having CI fail until we adjust would be unpleasant. If it was a PR that got committed, then in my opinion the PR should have been flagged. |
Ned, 2 above:
Good thing you did not as it is buggy. #97527 (comment) |
Is there anything left to do for this issue? If I read the conversation correctly the crash does not happen with versions of Python beyond 3.9 and the change that fixes the crash is not a security fix and won't be back ported to 3.9. I'd say this means the issue can be closed. |
Yeah let’s closing it |
Marking as 3.10 release blocker, for details see: #115508 (comment) |
…ythonGH-115508) avoid test_squeezer crash on macOS buildbots (cherry picked from commit 17a6533) Co-authored-by: Ned Deily <nad@python.org>
…ythonGH-115508) avoid test_squeezer crash on macOS buildbots (cherry picked from commit 17a6533) Co-authored-by: Ned Deily <nad@python.org>
Crashing test is now skipped in source-only branches. Not an ideal fix, but an adequate one. |
CI failure history
CI log
Linked PRs
The text was updated successfully, but these errors were encountered: