[Pythonmac-SIG] Python compatible with GC?

Kevin Walzer kw at codebykevin.com
Thu Mar 3 00:01:36 CET 2011


I'm trying to debug a crash in a Python/Tkinter application that I am 
unable to reproduce using equivalent Tcl/Tk code. I have a custom Tcl/Tk 
extension library that implements an NSToolbar for Tk windows (using 
Tk-Cocoa). In testing this extension, when I call the standard Cocoa 
dialog to save a file, Python then crashes with a segfault.

Ordinarily these kinds of issues are reproducible in Tk itself using 
Tcl/Tk itself, since the crash pertains to some bug in Tk. However, I am 
not able to reproduce this issue with Tcl/Tk, just with Python/Tkinter. 
This leads me to suspect the issue may lie somewhere within the 
interaction between Python and Tk.

My build of Python is 2.7.1, built as 64/32-bit, and linked to the 
system Tcl/Tk Cocoa frameworks (for Mac App Store compatibility). Tcl/Tk 
is built with garbage-collection enabled; could this cause some issue 
with Python, which I believe does not support Objective-C-based GC?

Here is my crashlog below. Any advice is appreciated.


0   com.apple.AppKit              	0x00007fff8758d3d4 -[NSWindow 
setLevel:] + 132
1   com.apple.Foundation          	0x00007fff814d323c 
__NSFireDelayedPerform + 404
2   com.apple.CoreFoundation      	0x00007fff84dd9be8 __CFRunLoopRun + 6488
3   com.apple.CoreFoundation      	0x00007fff84dd7dbf 
CFRunLoopRunSpecific + 575
4   Tcl                           	0x0000000102da1466 Tcl_WaitForEvent + 299
5   Tcl                           	0x0000000102d7028a Tcl_DoOneEvent + 261
6   _tkinter.so                   	0x000000010184421d 
Tkapp_CallDeallocArgs + 8781
7   org.python.python             	0x00000001006bca8d PyEval_EvalFrameEx 
+ 20797
8   org.python.python             	0x00000001006becd6 PyEval_EvalCodeEx 
+ 2118
9   org.python.python             	0x00000001006bccb3 PyEval_EvalFrameEx 
+ 21347
10  org.python.python             	0x00000001006becd6 PyEval_EvalCodeEx 
+ 2118
11  org.python.python             	0x00000001006bedf6 PyEval_EvalCode + 54
12  org.python.python             	0x00000001006e37fe PyRun_FileExFlags 
+ 174
13  org.python.python             	0x00000001006b4a9e _PyBuiltin_Init + 
14894
14  org.python.python             	0x00000001006bca8d PyEval_EvalFrameEx 
+ 20797
15  org.python.python             	0x00000001006becd6 PyEval_EvalCodeEx 
+ 2118
16  org.python.python             	0x00000001006bccb3 PyEval_EvalFrameEx 
+ 21347
17  org.python.python             	0x00000001006becd6 PyEval_EvalCodeEx 
+ 2118
18  org.python.python             	0x00000001006bedf6 PyEval_EvalCode + 54
19  org.python.python             	0x00000001006e37fe PyRun_FileExFlags 
+ 174
20  org.python.python             	0x00000001006e3ab9 
PyRun_SimpleFileExFlags + 489
21  com.codebykevin.quickwho-cbk  	0x0000000100005856 start + 19074
22  com.codebykevin.quickwho-cbk  	0x00000001000059c8 main + 229
23  com.codebykevin.quickwho-cbk  	0x0000000100000e08 start + 52

--Kevin
-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com


More information about the Pythonmac-SIG mailing list