Skip to content
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

gh-112938: IDLE - Fix uninteruptable hang when Shell gets rapid continuous output. #124310

Merged
merged 3 commits into from
Sep 22, 2024

Conversation

terryjreedy
Copy link
Member

@terryjreedy terryjreedy commented Sep 22, 2024

#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS. While theoretically correct, the result was Shell freezing when receiving continuous short strings to print. Test: while 1: 1.

The guess is that there is no idle time in which to do the screen update. Reverting the change in one of the files,
outwin, fixes the issue. Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update' to 'update_idletasks on the text used for testing.

pythongh-88496 replaced text.update with text.update_idletasks
in two files to fix test failures on macOS.  While
theoretically correct, the result was Shell freezing when
receiving continuous short strings to print.

The guess is that there was no idle time in which to do
the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.

The test will be patched as needed on macOS.
@terryjreedy terryjreedy added topic-IDLE needs backport to 3.12 bug and security fixes needs backport to 3.13 bugs and security fixes labels Sep 22, 2024
@terryjreedy terryjreedy merged commit d5f95ec into python:main Sep 22, 2024
38 checks passed
@miss-islington-app
Copy link

Thanks @terryjreedy for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13.
🐍🍒⛏🤖

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Sep 22, 2024
… continuous output. (pythonGH-124310)

python#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS.  While theoretically correct, the result was Shell freezing when receiving continuous short strings to print.  Test: `while 1: 1`.

The guess is that there is no idle time in which to do the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.  Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
(cherry picked from commit d5f95ec)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
@bedevere-app
Copy link

bedevere-app bot commented Sep 22, 2024

GH-124318 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.13 bugs and security fixes label Sep 22, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Sep 22, 2024
… continuous output. (pythonGH-124310)

python#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS.  While theoretically correct, the result was Shell freezing when receiving continuous short strings to print.  Test: `while 1: 1`.

The guess is that there is no idle time in which to do the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.  Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
(cherry picked from commit d5f95ec)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
@bedevere-app
Copy link

bedevere-app bot commented Sep 22, 2024

GH-124319 is a backport of this pull request to the 3.12 branch.

@bedevere-app bedevere-app bot removed the needs backport to 3.12 bug and security fixes label Sep 22, 2024
@terryjreedy terryjreedy deleted the loophang branch September 22, 2024 19:52
terryjreedy added a commit that referenced this pull request Sep 22, 2024
…d continuous output. (GH-124310) (#124319)

gh-112938: IDLE - Fix uninteruptable hang when Shell gets rapid continuous output. (GH-124310)

#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS.  While theoretically correct, the result was Shell freezing when receiving continuous short strings to print.  Test: `while 1: 1`.

The guess is that there is no idle time in which to do the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.  Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
(cherry picked from commit d5f95ec)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
savannahostrowski pushed a commit to savannahostrowski/cpython that referenced this pull request Sep 22, 2024
… continuous output. (python#124310)

python#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS.  While theoretically correct, the result was Shell freezing when receiving continuous short strings to print.  Test: `while 1: 1`.

The guess is that there is no idle time in which to do the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.  Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
savannahostrowski pushed a commit to savannahostrowski/cpython that referenced this pull request Sep 22, 2024
… continuous output. (python#124310)

python#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS.  While theoretically correct, the result was Shell freezing when receiving continuous short strings to print.  Test: `while 1: 1`.

The guess is that there is no idle time in which to do the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.  Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
Yhg1s pushed a commit that referenced this pull request Sep 27, 2024
…d continuous output. (GH-124310) (#124318)

gh-112938: IDLE - Fix uninteruptable hang when Shell gets rapid continuous output. (GH-124310)

#88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS.  While theoretically correct, the result was Shell freezing when receiving continuous short strings to print.  Test: `while 1: 1`.

The guess is that there is no idle time in which to do the screen update.  Reverting the change in one of the files,
outwin, fixes the issue.  Colorizer runs ever 1/20 second and seems to work fine.

When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
(cherry picked from commit d5f95ec)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant