选择文本时 Python 3.3.0 中的 IDLE 崩溃
Posted
技术标签:
【中文标题】选择文本时 Python 3.3.0 中的 IDLE 崩溃【英文标题】:IDLE in Python 3.3.0 crashes when selecting text 【发布时间】:2012-09-25 14:27:21 【问题描述】:我在 Mac OS X Lion 10.7.5 上安装了 Python 3.3.0,还安装了 ActiveTcl8.5.12。
一切顺利,但是当我选择文本或在IDLE中使用复制时,它崩溃了。我也尝试使用 Python2.7.3,同样的问题。下面附上几行Python3.3.0的崩溃报告。
任何建议将不胜感激。谢谢。
问候,
lzsph
Process: Python [501]
Path: /Applications/Python 3.3/IDLE.app/Contents/MacOS/Python
Identifier: org.python.IDLE
Version: 3.3.0 (3.3.0)
Code Type: X86-64 (Native)
Parent Process: launchd [223]
Date/Time: 2012-10-04 21:49:54.844 +0800
OS Version: Mac OS X 10.7.5 (11G56)
Report Version: 9
Interval Since Last Report: 3935 sec
Crashes Since Last Report: 7
Per-App Interval Since Last Report: 6059 sec
Per-App Crashes Since Last Report: 6
Anonymous UUID: F6B0BDF6-F4D3-4930-BF19-24DD07CA669B
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: 0x000000000000000d, 0x0000000000000000
VM Regions Near 0:
-->
__TEXT 0000000100000000-0000000100001000 [ 4K] r-x/rwx SM=COW /Library/Frameworks/Python.framework/Versions/3.3/Resources/Python.app/Contents/MacOS/Python
Application Specific Information:
objc[501]: garbage collection is OFF
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 Tk 0x00000001013c312a TkpMakeWindow + 306
1 Tk 0x000000010133d82f Tk_MakeWindowExist + 130
2 Tk 0x000000010131bed9 TkClipInit + 129
3 Tk 0x000000010131bf77 Tk_ClipboardClear + 43
4 Tk 0x000000010131c5fe Tk_ClipboardObjCmd + 996
5 Tcl 0x00000001012168ad TclEvalObjvInternal + 782
6 Tcl 0x000000010124fe51 TclExecuteByteCode + 4488
7 Tcl 0x0000000101289c16 TclObjInterpProcCore + 1001
8 Tcl 0x00000001012168ad TclEvalObjvInternal + 782
9 Tcl 0x00000001012174bf TclEvalEx + 2183
10 Tcl 0x000000010121788f Tcl_EvalEx + 26
11 Tk 0x000000010131ac7d Tk_BindEvent + 4994
12 Tk 0x000000010131deac TkBindEventProc + 342
13 Tk 0x00000001013247bb Tk_HandleEvent + 1431
14 Tk 0x00000001013191b8 Tk_EventObjCmd + 4666
15 Tcl 0x00000001012168ad TclEvalObjvInternal + 782
16 Tcl 0x0000000101217a9f Tcl_EvalObjv + 66
17 _tkinter.so 0x00000001007d75be Tkapp_Call + 190
18 org.python.python 0x00000001000de02e PyEval_EvalFrameEx + 29774
19 org.python.python 0x00000001000df1b8 PyEval_EvalCodeEx + 2296
20 org.python.python 0x00000001000dd647 PyEval_EvalFrameEx + 27239
21 org.python.python 0x00000001000dd7cf PyEval_EvalFrameEx + 27631
22 org.python.python 0x00000001000df1b8 PyEval_EvalCodeEx + 2296
23 org.python.python 0x000000010003d67a function_call + 186
24 org.python.python 0x000000010000d418 PyObject_Call + 104
25 org.python.python 0x00000001000d9003 PyEval_EvalFrameEx + 9251
26 org.python.python 0x00000001000df1b8 PyEval_EvalCodeEx + 2296
27 org.python.python 0x000000010003d67a function_call + 186
28 org.python.python 0x000000010000d418 PyObject_Call + 104
29 org.python.python 0x0000000100027b0a method_call + 138
30 org.python.python 0x000000010000d418 PyObject_Call + 104
31 org.python.python 0x00000001000d5197 PyEval_CallObjectWithKeywords + 87
32 _tkinter.so 0x00000001007d58a8 PythonCmd + 456
33 Tcl 0x000000010121353b TclInvokeStringCommand + 105
34 Tcl 0x00000001012168ad TclEvalObjvInternal + 782
35 Tcl 0x000000010124fe51 TclExecuteByteCode + 4488
36 Tcl 0x0000000101256e3b Tcl_ExprObj + 705
37 Tcl 0x0000000101213159 Tcl_ExprBooleanObj + 35
38 Tcl 0x000000010122361f Tcl_IfObjCmd + 123
39 Tcl 0x00000001012168ad TclEvalObjvInternal + 782
40 Tcl 0x00000001012174bf TclEvalEx + 2183
41 Tcl 0x000000010121788f Tcl_EvalEx + 26
42 Tk 0x000000010131ac7d Tk_BindEvent + 4994
43 Tk 0x000000010131deac TkBindEventProc + 342
44 Tk 0x00000001013247bb Tk_HandleEvent + 1431
45 Tk 0x000000010132488c WindowEventProc + 92
46 Tcl 0x000000010127c12f Tcl_ServiceEvent + 147
47 Tcl 0x000000010127c423 Tcl_DoOneEvent + 314
48 _tkinter.so 0x00000001007d4e51 Tkapp_MainLoop + 177
49 org.python.python 0x00000001000de02e PyEval_EvalFrameEx + 29774
50 org.python.python 0x00000001000df1b8 PyEval_EvalCodeEx + 2296
51 org.python.python 0x00000001000dd647 PyEval_EvalFrameEx + 27239
52 org.python.python 0x00000001000dd7cf PyEval_EvalFrameEx + 27631
53 org.python.python 0x00000001000df1b8 PyEval_EvalCodeEx + 2296
54 org.python.python 0x00000001000df27f PyEval_EvalCode + 63
55 org.python.python 0x000000010010639b PyRun_FileExFlags + 187
56 org.python.python 0x00000001001066b6 PyRun_SimpleFileExFlags + 598
57 org.python.python 0x000000010011d783 Py_Main + 3203
58 Python 0x0000000100000e0e 0x100000000 + 3598
59 Python 0x0000000100000c54 0x100000000 + 3156
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff8e6777e6 kevent + 10
1 libdispatch.dylib 0x00007fff8b6f1786 _dispatch_mgr_invoke + 923
2 libdispatch.dylib 0x00007fff8b6f0316 _dispatch_mgr_thread + 54
Thread 2:
0 libsystem_kernel.dylib 0x00007fff8e677192 __workq_kernreturn + 10
1 libsystem_c.dylib 0x00007fff9563e594 _pthread_wqthread + 758
2 libsystem_c.dylib 0x00007fff9563fb85 start_wqthread + 13
Thread 3:
0 libsystem_kernel.dylib 0x00007fff8e677192 __workq_kernreturn + 10
1 libsystem_c.dylib 0x00007fff9563e594 _pthread_wqthread + 758
2 libsystem_c.dylib 0x00007fff9563fb85 start_wqthread + 13
Thread 4:
0 libsystem_kernel.dylib 0x00007fff8e676df2 __select + 10
1 Tcl 0x00000001012afd1e NotifierThreadProc + 558
2 libsystem_c.dylib 0x00007fff9563c8bf _pthread_start + 335
3 libsystem_c.dylib 0x00007fff9563fb75 thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0065007000790054 rbx: 0x0000000103b6eb90 rcx: 0x0000000103b6eb80 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x0000000103b6eb98 rbp: 0x00007fff5fbfac00 rsp: 0x00007fff5fbfabe0
r8: 0x00007fff5fbfac3c r9: 0x00007fff5fbfac38 r10: 0x0000000000000081 r11: 0x0000000100062c10
r12: 0x0000000103b7fc10 r13: 0x0000000103b6eb90 r14: 0xffffffffffffffff r15: 0x0000000101897010
rip: 0x00000001013c312a rfl: 0x0000000000010246 cr2: 0x00000001039f9750
Logical CPU: 3
【问题讨论】:
提交错误报告。 Python3.3 仍然很新,可能包含一些错误。 +1 用于提供确定问题所需的所有信息。 @gnibbler 这不是 Python 的问题。它是由 ActiveTcl 8.5.12 引起的。所以只要使用 Active8.5.11 而不是 8.5.12 就可以了。 @Tim 我按照下面 Ethan 的说明完成了。 【参考方案1】:看起来它是 Tcl 中的this bug。
【讨论】:
谢谢 Ethan,我卸载了 ActiveTcl 8.5.12,然后安装了 8.5.11。现在可以正常使用了。 更新:与 8.5.11 相比,8.5.12 中的回归已在后续版本中修复。我们现在推荐在 Mac 上使用 Active Tcl 8.5.18。 python.org/download/mac/tcltk以上是关于选择文本时 Python 3.3.0 中的 IDLE 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
在客户端和服务器端编程语言相同时,IDL 在 RPC 中的作用?