homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: turtle regression of issue #21823: "uncaught exception" on "AMD64 Snow Leop 3.x" buildbot
Type: Stage: resolved
Components: Tkinter Versions: Python 3.4, Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder: turtledemo modules imported by test___all__ cause side effects or failures
View: 21882
Assigned To: Nosy List: brett.cannon, ned.deily, r.david.murray, ronaldoussoren, terry.reedy, vstinner
Priority: normal Keywords:

Created on 2014年06月30日 09:27 by vstinner, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Messages (3)
msg221952 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014年06月30日 09:27
Since the changeset 1ae2382417dcc7202c708cac46ae8a61412ca787 from the issue #21823, Tcl/Tk crashs beacuse of an "uncaught exception" on the buildbot "AMD64 Snow Leop 3.x" on tk.call('update') called by tkinter.Misc().update().
First failure on the buildbot 3.4:
http://buildbot.python.org/all/builders/AMD64%20Snow%20Leop%203.4/builds/235
Last error on buildbot 3.x:
http://buildbot.python.org/all/builders/AMD64%20Snow%20Leop%203.x/builds/1831/steps/test/logs/stdio
Sun Jun 29 21:49:20 buddy.home.bitdance.com python.exe[75372] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
2014年06月29日 21:49:22.399 python.exe[75372:903] An uncaught exception was raised
2014年06月29日 21:49:22.400 python.exe[75372:903] Error (1002) creating CGSWindow
2014年06月29日 21:49:22.419 python.exe[75372:903] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error (1002) creating CGSWindow'
*** Call stack at first throw:
(
	0 CoreFoundation 0x00007fff84954784 __exceptionPreprocess + 180
	1 libobjc.A.dylib 0x00007fff84eb9f03 objc_exception_throw + 45
	2 CoreFoundation 0x00007fff849545a7 +[NSException raise:format:arguments:] + 103
	3 CoreFoundation 0x00007fff84954534 +[NSException raise:format:] + 148
	4 AppKit 0x00007fff850a2f52 _NSCreateWindowWithOpaqueShape2 + 473
	5 AppKit 0x00007fff85037691 -[NSWindow _commonAwake] + 1214
	6 AppKit 0x00007fff850551c9 -[NSWindow _makeKeyRegardlessOfVisibility] + 96
	7 AppKit 0x00007fff8505513e -[NSWindow makeKeyAndOrderFront:] + 24
	8 Tk 0x00000001035fd86c XMapWindow + 155
	9 Tk 0x000000010356c6d0 Tk_MapWindow + 89
	10 Tk 0x00000001035755e6 TkToplevelWindowForCommand + 2658
	11 Tcl 0x00000001034d20d3 TclServiceIdle + 76
	12 Tcl 0x00000001034b82ce Tcl_DoOneEvent + 329
	13 Tk 0x000000010354bf33 TkGetDisplayOf + 379
	14 Tcl 0x0000000103454559 Tcl_CreateInterp + 4820
	15 Tcl 0x0000000103455769 Tcl_EvalObjv + 66
	16 _tkinter.so 0x0000000103433b4f Tkapp_Call + 562
	17 python.exe 0x00000001000872af PyCFunction_Call + 202
	18 python.exe 0x0000000100195bac call_function + 1715
	19 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	20 python.exe 0x0000000100196256 fast_function + 515
	21 python.exe 0x0000000100195df9 call_function + 2304
	22 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	23 python.exe 0x0000000100196256 fast_function + 515
	24 python.exe 0x0000000100195df9 call_function + 2304
	25 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	26 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	27 python.exe 0x00000001001963aa fast_function + 855
	28 python.exe 0x0000000100195df9 call_function + 2304
	29 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	30 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	31 python.exe 0x00000001001963aa fast_function + 855
	32 python.exe 0x0000000100195df9 call_function + 2304
	33 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	34 python.exe 0x0000000100196256 fast_function + 515
	35 python.exe 0x0000000100195df9 call_function + 2304
	36 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	37 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	38 python.exe 0x00000001001963aa fast_function + 855
	39 python.exe 0x0000000100195df9 call_function + 2304
	40 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	41 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	42 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	43 python.exe 0x0000000100057fee function_call + 586
	44 python.exe 0x000000010000e39f PyObject_Call + 126
	45 python.exe 0x0000000100034224 method_call + 332
	46 python.exe 0x000000010000e39f PyObject_Call + 126
	47 python.exe 0x00000001000bf187 slot_tp_init + 76
	48 python.exe 0x00000001000aaf04 type_call + 376
	49 python.exe 0x000000010000e39f PyObject_Call + 126
	50 python.exe 0x0000000100196c5c do_call + 553
	51 python.exe 0x0000000100195e15 call_function + 2332
	52 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	53 python.exe 0x0000000100196256 fast_function + 515
	54 python.exe 0x0000000100195df9 call_function + 2304
	55 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	56 python.exe 0x0000000100196256 fast_function + 515
	57 python.exe 0x0000000100195df9 call_function + 2304
	58 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	59 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	60 python.exe 0x00000001001963aa fast_function + 855
	61 python.exe 0x0000000100195df9 call_function + 2304
	62 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	63 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	64 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	65 python.exe 0x000000010017ce4f PyEval_EvalCode + 96
	66 python.exe 0x0000000100174b34 builtin_exec + 550
	67 python.exe 0x00000001000872af PyCFunction_Call + 202
	68 python.exe 0x0000000100197338 ext_do_call + 1496
	69 python.exe 0x000000010018e42b PyEval_EvalFrameEx + 71102
	70 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	71 python.exe 0x00000001001963aa fast_function + 855
	72 python.exe 0x0000000100195df9 call_function + 2304
	73 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	74 python.exe 0x0000000100196256 fast_function + 515
	75 python.exe 0x0000000100195df9 call_function + 2304
	76 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	77 python.exe 0x0000000100196256 fast_function + 515
	78 python.exe 0x0000000100195df9 call_function + 2304
	79 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	80 python.exe 0x0000000100196256 fast_function + 515
	81 python.exe 0x0000000100195df9 call_function + 2304
	82 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	83 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	84 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	85 python.exe 0x0000000100057fee function_call + 586
	86 python.exe 0x000000010000e39f PyObject_Call + 126
	87 python.exe 0x000000010000f5f7 _PyObject_CallMethodIdObjArgs + 500
	88 python.exe 0x00000001001c0ab1 PyImport_ImportModuleLevelObject + 3596
	89 python.exe [160/390] test___all__
 0x00000001001733f3 builtin___import__ + 164
	90 python.exe 0x000000010008731b PyCFunction_Call + 310
	91 python.exe 0x000000010000e39f PyObject_Call + 126
	92 python.exe 0x000000010019529c PyEval_CallObjectWithKeywords + 417
	93 python.exe 0x000000010018af53 PyEval_EvalFrameEx + 57574
	94 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	95 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	96 python.exe 0x000000010017ce4f PyEval_EvalCode + 96
	97 python.exe 0x00000001001d97c0 run_mod + 102
	98 python.exe 0x00000001001d9442 PyRun_StringFlags + 179
	99 python.exe 0x0000000100174ba1 builtin_exec + 659
	100 python.exe 0x00000001000872af PyCFunction_Call + 202
	101 python.exe 0x0000000100195bac call_function + 1715
	102 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	103 python.exe 0x0000000100196256 fast_function + 515
	104 python.exe 0x0000000100195df9 call_function + 2304
	105 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	106 python.exe 0x0000000100196256 fast_function + 515
	107 python.exe 0x0000000100195df9 call_function + 2304
	108 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	109 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	110 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	111 python.exe 0x0000000100057fee function_call + 586
	112 python.exe 0x000000010000e39f PyObject_Call + 126
	113 python.exe 0x0000000100197352 ext_do_call + 1522
	114 python.exe 0x000000010018e42b PyEval_EvalFrameEx + 71102
	115 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	116 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	117 python.exe 0x0000000100057fee function_call + 586
	118 python.exe 0x000000010000e39f PyObject_Call + 126
	119 python.exe 0x0000000100034224 method_call + 332
	120 python.exe 0x000000010000e39f PyObject_Call + 126
	121 python.exe 0x00000001000be65f slot_tp_call + 77
	122 python.exe 0x000000010000e39f PyObject_Call + 126
	123 python.exe 0x0000000100196c5c do_call + 553
	124 python.exe 0x0000000100195e15 call_function + 2332
	125 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	126 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	127 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	128 python.exe 0x0000000100057fee function_call + 586
	129 python.exe 0x000000010000e39f PyObject_Call + 126
	130 python.exe 0x0000000100197352 ext_do_call + 1522
	131 python.exe 0x000000010018e42b PyEval_EvalFrameEx + 71102
	132 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	133 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	134 python.exe 0x0000000100057fee function_call + 586
	135 python.exe 0x000000010000e39f PyObject_Call + 126
	136 python.exe 0x0000000100034224 method_call + 332
	137 python.exe 0x000000010000e39f PyObject_Call + 126
	138 python.exe 0x00000001000be65f slot_tp_call + 77
	139 python.exe 0x000000010000e39f PyObject_Call + 126
	140 python.exe 0x0000000100196c5c do_call + 553
	141 python.exe 0x0000000100195e15 call_function + 2332
	142 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	143 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	144 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	145 python.exe 0x0000000100057fee function_call + 586
	146 python.exe 0x000000010000e39f PyObject_Call + 126
	147 python.exe 0x0000000100197352 ext_do_call + 1522
	148 python.exe 0x000000010018e42b PyEval_EvalFrameEx + 71102
	149 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	150 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	151 python.exe 0x0000000100057fee function_call + 586
	152 python.exe 0x000000010000e39f PyObject_Call + 126
	153 python.exe 0x0000000100034224 method_call + 332
	154 python.exe 0x000000010000e39f PyObject_Call + 126
	155 python.exe 0x00000001000be65f slot_tp_call + 77
	156 python.exe 0x000000010000e39f PyObject_Call + 126
	157 python.exe 0x0000000100196c5c do_call + 553
	158 python.exe 0x0000000100195e15 call_function + 2332
	159 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	160 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	161 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	162 python.exe 0x0000000100057fee function_call + 586
	163 python.exe 0x000000010000e39f PyObject_Call + 126
	164 python.exe 0x0000000100197352 ext_do_call + 1522
	165 python.exe 0x000000010018e42b PyEval_EvalFrameEx + 71102
	166 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	167 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	168 python.exe 0x0000000100057fee function_call + 586
	169 python.exe 0x000000010000e39f PyObject_Call + 126
	170 python.exe 0x0000000100034224 method_call + 332
	171 python.exe 0x000000010000e39f PyObject_Call + 126
	172 python.exe 0x00000001000be65f slot_tp_call + 77
	173 python.exe 0x000000010000e39f PyObject_Call + 126
	174 python.exe 0x0000000100196c5c do_call + 553
	175 python.exe 0x0000000100195e15 call_function + 2332
	176 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	177 python.exe 0x0000000100196256 fast_function + 515
	178 python.exe 0x0000000100195df9 call_function + 2304
	179 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	180 python.exe 0x0000000100196256 fast_function + 515
	181 python.exe 0x0000000100195df9 call_function + 2304
	182 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	183 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	184 python.exe 0x00000001001963aa fast_function + 855
	185 python.exe 0x0000000100195df9 call_function + 2304
	186 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	187 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	188 python.exe 0x00000001001963aa fast_function + 855
	189 python.exe 0x0000000100195df9 call_function + 2304
	190 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	191 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	192 python.exe 0x00000001001963aa fast_function + 855
	193 python.exe 0x0000000100195df9 call_function + 2304
	194 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	195 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	196 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	197 python.exe 0x0000000100057fee function_call + 586
	198 python.exe 0x000000010000e39f PyObject_Call + 126
	199 python.exe 0x0000000100197352 ext_do_call + 1522
	200 python.exe 0x000000010018e42b PyEval_EvalFrameEx + 71102
	201 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	202 python.exe 0x00000001001963aa fast_function + 855
	203 python.exe 0x0000000100195df9 call_function + 2304
	204 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	205 python.exe 0x0000000100196256 fast_function + 515
	206 python.exe 0x0000000100195df9 call_function + 2304
	207 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	208 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	209 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	210 python.exe 0x000000010017ce4f PyEval_EvalCode + 96
	211 python.exe 0x0000000100174b34 builtin_exec + 550
	212 python.exe 0x00000001000872af PyCFunction_Call + 202
	213 python.exe 0x0000000100195bac call_function + 1715
	214 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	215 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	216 python.exe 0x00000001001963aa fast_function + 855
	217 python.exe 0x0000000100195df9 call_function + 2304
	218 python.exe 0x000000010018df4f PyEval_EvalFrameEx + 69858
	219 python.exe 0x0000000100193136 _PyEval_EvalCodeWithName + 4056
	220 python.exe 0x00000001001932aa PyEval_EvalCodeEx + 136
	221 python.exe 0x0000000100057fee function_call + 586
	222 python.exe 0x000000010000e39f PyObject_Call + 126
	223 python.exe 0x0000000100202f75 RunModule + 1048
	224 python.exe 0x0000000100204638 Py_Main + 3670
	225 python.exe 0x00000001000011cb main + 475
	226 python.exe 0x0000000100000fe8 start + 52
)
terminate called after throwing an instance of 'NSException'
Fatal Python error: Aborted
Current thread 0x00007fff71296cc0 (most recent call first):
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/tkinter/__init__.py", line 963 in update
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 562 in _update
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 583 in _bgcolor
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 1239 in bgcolor
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 1024 in clear
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 995 in __init__
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 3689 in __init__
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 3661 in Screen
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtle.py", line 3829 in _getscreen
 File "<string>", line 1 in mode
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtledemo/clock.py", line 17 in <module>
 File "<frozen importlib._bootstrap>", line 321 in _call_with_frames_removed
 File "<frozen importlib._bootstrap>", line 1420 in exec_module
 File "<frozen importlib._bootstrap>", line 1149 in _load_unlocked
 File "<frozen importlib._bootstrap>", line 2175 in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 2186 in _find_and_load
 File "<string>", line 1 in <module>
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/test___all__.py", line 23 in check_all
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/test___all__.py", line 104 in test_all
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/case.py", line 577 in run
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/case.py", line 625 in __call__
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/suite.py", line 125 in run
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/suite.py", line 87 in __call__
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/suite.py", line 125 in run
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/suite.py", line 87 in __call__
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/suite.py", line 125 in run
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/suite.py", line 87 in __call__
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/unittest/runner.py", line 168 in run
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/support/__init__.py", line 1724 in _run_suite
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/support/__init__.py", line 1758 in run_unittest
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 1277 in <lambda>
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 1278 in runtest_inner
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 967 in runtest
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 532 in main
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 1562 in main_in_temp_cwd
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 1587 in <module>
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/runpy.py", line 85 in _run_code
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/runpy.py", line 170 in _run_module_as_main
Traceback (most recent call last):
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/runpy.py", line 170, in _run_module_as_main
 "__main__", mod_spec)
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/runpy.py", line 85, in _run_code
 exec(code, run_globals)
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/__main__.py", line 3, in <module>
 regrtest.main_in_temp_cwd()
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 1562, in main_in_temp_cwd
 main()
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/regrtest.py", line 738, in main
 raise Exception("Child error on {}: {}".format(test, result[1]))
Exception: Child error on test___all__: Exit code -6
make: *** [buildbottest] Error 1
program finished with exit code 2
elapsedTime=1584.387892
msg221965 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014年06月30日 15:20
(Brett, the question is about import.)
The problem is the mode call in clock.py, which I will move today as part of 21882.
I am sorely puzzled that the patch in #21823 could have changed the effect of mode(). There are only two changes, only one of which could be relevant.
1.
 from turtle import *
+from turtle import Terminator # not in __all__
 mode()
My understanding is that the newly added second import should just add a reference to Terminator in the existing module. It is a standard Exception subclass: from turtle.py, "class Terminator(Exception): pass". I could and will add 'Terminator' to __all__ instead, but it seems to me that the added statement *should* be innocuous.
What am I missing? Does __all__ change the import machinery in the calls to frozen importlib.bootstrap or do these call always happen behind the scene with any import? From the most recent first traceback:
...
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/turtledemo/clock.py", line 17 in <module>
 File "<frozen importlib._bootstrap>", line 321 in _call_with_frames_removed
 File "<frozen importlib._bootstrap>", line 1420 in exec_module
 File "<frozen importlib._bootstrap>", line 1149 in _load_unlocked
 File "<frozen importlib._bootstrap>", line 2175 in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 2186 in _find_and_load
 File "<string>", line 1 in <module>
 File "/Users/buildbot/buildarea/3.x.murray-snowleopard/build/Lib/test/test___all__.py", line 23 in check_all
...
2. Added a try:except: within a function, not called on import, to catch previously uncaught Terminator exception.
msg221976 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014年06月30日 19:11
This is an instance of the problems identified in Issue21882, namely that test___all__ is importing turtledemo modules and some of them have bad side effects. In this case, it's turtledemo.clock which is calling mode() which now unconditionally attempts to create a Tk window during the import. That means Tk is being called without being subject to the checks of test_support.requires('gui'). One of the reasons for having that check is to prevent this kind of crash (as documented in Issue8716) in Tk when Tk is invoked in a process that cannot make a window manager connection, as when running under a buildbot with a user name that is not logged in as the main gui user. Note also that when Tk crashes, there is nothing the Python code can really do to recover from it. The solution is as outlined in #21882: don't unconditionally call mode() in the import path.
History
Date User Action Args
2022年04月11日 14:58:05adminsetgithub: 66083
2014年06月30日 19:11:14ned.deilysetstatus: open -> closed

superseder: turtledemo modules imported by test___all__ cause side effects or failures
assignee: ronaldoussoren ->
components: - macOS

nosy: + ned.deily
messages: + msg221976
resolution: duplicate
stage: resolved
2014年06月30日 15:20:33terry.reedysetnosy: + brett.cannon
messages: + msg221965
2014年06月30日 09:29:21vstinnersetnosy: + r.david.murray
2014年06月30日 09:27:58vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /