classification
Title: test_idle crash on Windows 2.7 when run with -R:
Type: crash Stage: resolved
Components: IDLE, Windows Versions: Python 3.9, Python 3.8, Python 3.7, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: miss-islington, paul.moore, steve.dower, taleinat, terry.reedy, tim.golden, zach.ware
Priority: normal Keywords: buildbot

Created on 2019-06-10 22:49 by zach.ware, last changed 2019-06-16 21:31 by terry.reedy. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 13957 merged terry.reedy, 2019-06-11 01:43
PR 13958 merged terry.reedy, 2019-06-11 01:48
PR 14134 merged miss-islington, 2019-06-16 20:34
PR 14135 merged miss-islington, 2019-06-16 20:40
Messages (7)
msg345148 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2019-06-10 22:49
See for example https://buildbot.python.org/all/#/builders/33/builds/613

This build ended when I logged into the machine and clicked the "Close the program" button on the "python_d.exe crashed" dialog box.  Here's the details from that dialog:

Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	python_d.exe
  Application Version:	0.0.0.0
  Application Timestamp:	5cfe5fd5
  Fault Module Name:	tk85g.dll
  Fault Module Version:	8.5.2.19
  Fault Module Timestamp:	5bf46c38
  Exception Code:	c0000005
  Exception Offset:	000000000002ef7f
  OS Version:	6.3.9600.2.0.0.256.27
  Locale ID:	1033
  Additional Information 1:	0d70
  Additional Information 2:	0d701a26b222a63773c5247c2c1f6fa1
  Additional Information 3:	044d
  Additional Information 4:	044dd28b2ab7dea188c1da19a590076d



Bisection shows that the issue showed up with 1b57ab5c6478b93cf4150bd8c475022252776598 in bpo-37177.
msg345169 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2019-06-11 01:31
The #37177 patch touched SearchDialogBase.py and test_searchdialogbase.py.  I reproduced a premature stop if the full IDLE suite is run, but don't understand all of the results.

After fresh update and rebuild:
python -m test -ugui test_idle
3.9 runs fine, no noise
2.7 runs fine except for 2 '''can't invoke "event" command:...'''s

python -m test -R3:3 -ugui -m SearchDialogBaseTest test_idle
3.9 runs fine, no noise
2.7 runs fine, no noise (so from other tests)

python -m test -R3:3 -ugui test_idle
3.9 runs fine, but 18 instances of "can't invoke "event" command:..."
# ==> noise from other tests, only with -R
2.7 prints 2 "can'ts" and one "complete a round '.'.  After a pause, presumibly to run round 2, it exits to the Windows prompt.

Commenting out "self.top.transient('')" in close() solves the problem.  There is some interaction between running 2.7 (versus 3.x), tcl/tk 8.5.19 (versus 8.6), testing with -R, running other IDLE test files, and disabling 'transient' (back to default).  (Tal, this sort of thing is part of why I don't backport to 2.7.)

An alternate fix for me is a slight change in the test cleanup.  Preparing PRs.
msg345187 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2019-06-11 05:52
Terry, we can also just revert the fix on the 2.7 branch, it's not crucial.
msg345189 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2019-06-11 05:59
Now that I've looked at the PR, it should likely be merged for all relevant branches to make the test more robust.
msg345778 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2019-06-16 20:34
New changeset 66d47da86aff15be34adbec02596bb3188684c0d by Terry Jan Reedy in branch 'master':
bpo-37220: Fix 2.7 test -R crash on Windows. (GH-13957)
https://github.com/python/cpython/commit/66d47da86aff15be34adbec02596bb3188684c0d
msg345779 - (view) Author: miss-islington (miss-islington) Date: 2019-06-16 20:52
New changeset 0c45aee8036a27fb76d6d8d4bac61c3715aec22d by Miss Islington (bot) in branch '3.7':
bpo-37220: Fix 2.7 test -R crash on Windows. (GH-13957)
https://github.com/python/cpython/commit/0c45aee8036a27fb76d6d8d4bac61c3715aec22d
msg345780 - (view) Author: miss-islington (miss-islington) Date: 2019-06-16 21:10
New changeset 2acaf496b71224ff6d170ea12b0876d65195be7b by Miss Islington (bot) in branch '3.8':
bpo-37220: Fix 2.7 test -R crash on Windows. (GH-13957)
https://github.com/python/cpython/commit/2acaf496b71224ff6d170ea12b0876d65195be7b
History
Date User Action Args
2019-06-16 21:31:17terry.reedysetkeywords: - patch
status: open -> closed
resolution: fixed
stage: patch review -> resolved
2019-06-16 21:10:52miss-islingtonsetmessages: + msg345780
2019-06-16 20:52:35miss-islingtonsetnosy: + miss-islington
messages: + msg345779
2019-06-16 20:40:18miss-islingtonsetpull_requests: + pull_request13977
2019-06-16 20:34:16terry.reedysetmessages: + msg345778
2019-06-16 20:34:13miss-islingtonsetkeywords: + patch
pull_requests: + pull_request13976
2019-06-11 05:59:56taleinatsetmessages: + msg345189
2019-06-11 05:52:59taleinatsetmessages: + msg345187
2019-06-11 01:54:51terry.reedysetkeywords: - patch
title: test_idle crash on Windows when run with -R: -> test_idle crash on Windows 2.7 when run with -R:
type: crash
versions: + Python 3.7, Python 3.8, Python 3.9
2019-06-11 01:48:36terry.reedysetpull_requests: + pull_request13826
2019-06-11 01:43:29terry.reedysetkeywords: + patch
stage: test needed -> patch review
pull_requests: + pull_request13824
2019-06-11 01:31:37terry.reedysetmessages: + msg345169
2019-06-10 22:49:49zach.warecreate