选择文本时 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 中的作用?

Python在单击时获取鼠标x,y位置

WHATWG html5 标准文档中的 idl 属性是啥意思?

python爬虫时,bs4无法读取网页标签中的文本

如何在IDL Spawn命令中访问Python标准流?

大话IDL之(基本操作流程)