Python IDLE crash only on second monitor. Tcl/Tk compatibility issue?

5

OS X 10.10.1 Python 3.4.2 ActiveTcl 8.5.17

Hi All,

Have a strange issue with IDLE crashing when using open parenthesis '(', specifically when using it after 'input'. It only seems to occur when the IDLE window is on my second monitor (LG IPS226). I can safely type the same characters if the IDLE window is on my laptop screen.

I have read around the Tcl/Tk compatibility on OSX with Python, and have manually installed the 8.5.17 version that Python suggests (with a fresh Python install afterwards). Is there anything I'm missing?

Thanks.

Here is the error report, I have removed the Binary Images section as it was huge. Let me know if you need any parts of it.:

Process:               Python [829]
Path:                  /Applications/Python 3.4/IDLE.app/Contents/MacOS/Python
Identifier:            org.python.IDLE
Version:               3.4.2 (3.4.2)
Code Type:             X86 (Native)
Parent Process:        ??? [1]
Responsible:           Python [829]
User ID:               501

Date/Time:             2015-01-27 18:23:25.347 +0000
OS Version:            Mac OS X 10.10.1 (14B25)
Report Version:        11
Anonymous UUID:        74C05961-5E20-89F0-8A61-57115D184D5B


Time Awake Since Boot: 880 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error (1000) creating window shape'

Application Specific Backtrace 1:
0   CoreFoundation                      0x985ba343 __raiseError + 195
1   libobjc.A.dylib                     0x9a69da2a objc_exception_throw + 276
2   CoreFoundation                      0x985ba25d +[NSException raise:format:] + 141
3   AppKit                              0x915af052 _NXCreateWindowWithStyleMask + 519
4   AppKit                              0x915aed92 _NSCreateWindow + 165
5   AppKit                              0x9147809f -[NSWindow _commonAwake] + 1447
6   AppKit                              0x91477930 -[NSWindow _makeKeyRegardlessOfVisibility] + 104
7   AppKit                              0x91477886 -[NSWindow makeKeyAndOrderFront:] + 35
8   Tk                                  0x02b0aeb4 XMapWindow + 149
9   Tk                                  0x02b108e3 TkWmMapWindow + 289
10  Tk                                  0x02a69c7d Tk_MapWindow + 89
11  Tk                                  0x02a73d2a MapFrame + 72
12  Tcl                                 0x029da0cb TclServiceIdle + 61
13  Tcl                                 0x029bc20f Tcl_DoOneEvent + 342
14  Tk                                  0x02ac49fa DisplayText + 511
15  Tcl                                 0x029da0cb TclServiceIdle + 61
16  Tcl                                 0x029bc20f Tcl_DoOneEvent + 342
17  Tk                                  0x02a45a86 Tk_UpdateObjCmd + 198
18  Tcl                                 0x0294c851 TclEvalObjvInternal + 770
19  Tcl                                 0x0294d83c Tcl_EvalObjv + 72
20  _tkinter.so                         0x006e7ae0 Tkapp_Call + 208
21  Python                              0x000e7865 PyEval_EvalFrameEx + 31653
22  Python                              0x000e7bc1 PyEval_EvalFrameEx + 32513
23  Python                              0x000e7bc1 PyEval_EvalFrameEx + 32513
24  Python                              0x000e8f4a PyEval_EvalCodeEx + 2314
25  Python                              0x00041bde function_call + 158
26  Python                              0x0000e0f9 PyObject_Call + 89
27  Python                              0x000e0cdc PyEval_EvalFrameEx + 4124
28  Python                              0x000e8f4a PyEval_EvalCodeEx + 2314
29  Python                              0x00041bde function_call + 158
30  Python                              0x0000e0f9 PyObject_Call + 89
31  Python                              0x000e0cdc PyEval_EvalFrameEx + 4124
32  Python                              0x000e8f4a PyEval_EvalCodeEx + 2314
33  Python                              0x00041bde function_call + 158
34  Python                              0x0000e0f9 PyObject_Call + 89
35  Python                              0x0002accc method_call + 140
36  Python                              0x0000e0f9 PyObject_Call + 89
37  Python                              0x000de00e PyEval_CallObjectWithKeywords + 78
38  _tkinter.so                         0x006e5c06 PythonCmd + 358
39  Tcl                                 0x0294919c TclInvokeStringCommand + 96
40  Tcl                                 0x0294c851 TclEvalObjvInternal + 770
41  Tcl                                 0x02989bcf TclExecuteByteCode + 4775
42  Tcl                                 0x02992ecd TclCompEvalObj + 439
43  Tcl                                 0x0294dc40 TclEvalObjEx + 871
44  Tcl                                 0x0294dd41 Tcl_EvalObjEx + 47
45  Tcl                                 0x029da395 AfterProc + 83
46  Tcl                                 0x029da26f TimerHandlerEventProc + 87
47  Tcl                                 0x029bbf0b Tcl_ServiceEvent + 160
48  Tcl                                 0x029bc150 Tcl_DoOneEvent + 151
49  _tkinter.so                         0x006e52c9 Tkapp_MainLoop + 201
50  Python                              0x000e7865 PyEval_EvalFrameEx + 31653
51  Python                              0x000e8f4a PyEval_EvalCodeEx + 2314
52  Python                              0x000e79c1 PyEval_EvalFrameEx + 32001
53  Python                              0x000e8f4a PyEval_EvalCodeEx + 2314
54  Python                              0x000e79c1 PyEval_EvalFrameEx + 32001
55  Python                              0x000e8f4a PyEval_EvalCodeEx + 2314
56  Python                              0x000e902f PyEval_EvalCode + 95
57  Python                              0x0011465e PyRun_FileExFlags + 206
58  Python                              0x00114ab7 PyRun_SimpleFileExFlags + 807
59  Python                              0x0012d021 Py_Main + 3425
60  Python                              0x00001e97 main + 471
61  Python                              0x00001cb5 start + 53

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x985bacd7 ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ + 7
1   com.apple.CoreFoundation        0x985ba659 __raiseError + 985
2   libobjc.A.dylib                 0x9a69da2a objc_exception_throw + 276
3   com.apple.CoreFoundation        0x985ba25d +[NSException raise:format:] + 141
4   com.apple.AppKit                0x915af052 _NXCreateWindowWithStyleMask + 519
5   com.apple.AppKit                0x915aed92 _NSCreateWindow + 165
6   com.apple.AppKit                0x9147809f -[NSWindow _commonAwake] + 1447
7   com.apple.AppKit                0x91477930 -[NSWindow _makeKeyRegardlessOfVisibility] + 104
8   com.apple.AppKit                0x91477886 -[NSWindow makeKeyAndOrderFront:] + 35
9   Tk                              0x02b0aeb4 XMapWindow + 149
10  Tk                              0x02b108e3 TkWmMapWindow + 289
11  Tk                              0x02a69c7d Tk_MapWindow + 89
12  Tk                              0x02a73d2a MapFrame + 72
13  Tcl                             0x029da0cb TclServiceIdle + 61
14  Tcl                             0x029bc20f Tcl_DoOneEvent + 342
15  Tk                              0x02ac49fa DisplayText + 511
16  Tcl                             0x029da0cb TclServiceIdle + 61
17  Tcl                             0x029bc20f Tcl_DoOneEvent + 342
18  Tk                              0x02a45a86 Tk_UpdateObjCmd + 198
19  Tcl                             0x0294c851 TclEvalObjvInternal + 770
20  Tcl                             0x0294d83c Tcl_EvalObjv + 72
21  _tkinter.so                     0x006e7ae0 Tkapp_Call + 208
22  org.python.python               0x000e7865 PyEval_EvalFrameEx + 31653
23  org.python.python               0x000e7bc1 PyEval_EvalFrameEx + 32513
24  org.python.python               0x000e7bc1 PyEval_EvalFrameEx + 32513
25  org.python.python               0x000e8f4a PyEval_EvalCodeEx + 2314
26  org.python.python               0x00041bde function_call + 158
27  org.python.python               0x0000e0f9 PyObject_Call + 89
28  org.python.python               0x000e0cdc PyEval_EvalFrameEx + 4124
29  org.python.python               0x000e8f4a PyEval_EvalCodeEx + 2314
30  org.python.python               0x00041bde function_call + 158
31  org.python.python               0x0000e0f9 PyObject_Call + 89
32  org.python.python               0x000e0cdc PyEval_EvalFrameEx + 4124
33  org.python.python               0x000e8f4a PyEval_EvalCodeEx + 2314
34  org.python.python               0x00041bde function_call + 158
35  org.python.python               0x0000e0f9 PyObject_Call + 89
36  org.python.python               0x0002accc method_call + 140
37  org.python.python               0x0000e0f9 PyObject_Call + 89
38  org.python.python               0x000de00e PyEval_CallObjectWithKeywords + 78
39  _tkinter.so                     0x006e5c06 PythonCmd + 358
40  Tcl                             0x0294919c TclInvokeStringCommand + 96
41  Tcl                             0x0294c851 TclEvalObjvInternal + 770
42  Tcl                             0x02989bcf TclExecuteByteCode + 4775
43  Tcl                             0x02992ecd TclCompEvalObj + 439
44  Tcl                             0x0294dc40 TclEvalObjEx + 871
45  Tcl                             0x0294dd41 Tcl_EvalObjEx + 47
46  Tcl                             0x029da395 AfterProc + 83
47  Tcl                             0x029da26f TimerHandlerEventProc + 87
48  Tcl                             0x029bbf0b Tcl_ServiceEvent + 160
49  Tcl                             0x029bc150 Tcl_DoOneEvent + 151
50  _tkinter.so                     0x006e52c9 Tkapp_MainLoop + 201
51  org.python.python               0x000e7865 PyEval_EvalFrameEx + 31653
52  org.python.python               0x000e8f4a PyEval_EvalCodeEx + 2314
53  org.python.python               0x000e79c1 PyEval_EvalFrameEx + 32001
54  org.python.python               0x000e8f4a PyEval_EvalCodeEx + 2314
55  org.python.python               0x000e79c1 PyEval_EvalFrameEx + 32001
56  org.python.python               0x000e8f4a PyEval_EvalCodeEx + 2314
57  org.python.python               0x000e902f PyEval_EvalCode + 95
58  org.python.python               0x0011465e PyRun_FileExFlags + 206
59  org.python.python               0x00114ab7 PyRun_SimpleFileExFlags + 807
60  org.python.python               0x0012d021 Py_Main + 3425
61  Python                          0x00001e97 main + 471
62  Python                          0x00001cb5 start + 53

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x90f628d2 kevent64 + 10
1   libdispatch.dylib               0x9508473f _dispatch_mgr_invoke + 245
2   libdispatch.dylib               0x950843a2 _dispatch_mgr_thread + 52

Thread 2:
0   libsystem_kernel.dylib          0x90f61e6e __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x9284236d _pthread_wqthread + 939
2   libsystem_pthread.dylib         0x9283feea start_wqthread + 30

Thread 3:
0   libsystem_kernel.dylib          0x90f61e6e __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x9284236d _pthread_wqthread + 939
2   libsystem_pthread.dylib         0x9283feea start_wqthread + 30

Thread 4:
0   libsystem_kernel.dylib          0x90f61852 __select + 10
1   Tcl                             0x029f4a0b NotifierThreadProc + 628
2   libsystem_pthread.dylib         0x92841ecf _pthread_body + 138
3   libsystem_pthread.dylib         0x92841e45 _pthread_start + 162
4   libsystem_pthread.dylib         0x9283ff0e thread_start + 34

Thread 5:
0   libsystem_kernel.dylib          0x90f5ba2e mach_msg_trap + 10
1   libsystem_kernel.dylib          0x90f5aad0 mach_msg + 68
2   com.apple.CoreFoundation        0x984b8ae6 __CFRunLoopServiceMachPort + 214
3   com.apple.CoreFoundation        0x984b7ef9 __CFRunLoopRun + 1529
4   com.apple.CoreFoundation        0x984b7696 CFRunLoopRunSpecific + 390
5   com.apple.CoreFoundation        0x984b74fb CFRunLoopRunInMode + 123
6   com.apple.AppKit                0x914ce6b4 _NSEventThread + 283
7   libsystem_pthread.dylib         0x92841ecf _pthread_body + 138
8   libsystem_pthread.dylib         0x92841e45 _pthread_start + 162
9   libsystem_pthread.dylib         0x9283ff0e thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000001  ebx: 0x004e0600  ecx: 0x00000000  edx: 0x00000000
  edi: 0x985ba28e  esi: 0x00c5a600  ebp: 0xbfffc158  esp: 0xbfffc150
   ss: 0x00000023  efl: 0x00000286  eip: 0x985bacd7   cs: 0x0000001b
   ds: 0x00000023   es: 0x00000023   fs: 0x00000000   gs: 0x0000000f
  cr2: 0x0bacc000

Logical CPU:     2
Error Code:      0x00000000
Trap Number:     3
python
macos
tkinter
python-idle
asked on Stack Overflow Jan 27, 2015 by jh112323

1 Answer

1

I found a simple fix.

In IDLE:

Options Menu > Configure Extensions > CallTips > set to FALSE

Then restart IDLE.

Took much research to find that super simple solution... the problem is caused not by an error in IDLE but by an error in the mac's Tcl/Tk code specifically when calltips are called in external monitors above the default monitor.

answered on Stack Overflow Nov 17, 2017 by Maxim Lott

User contributions licensed under CC BY-SA 3.0