Hi,
I'm working on porting my projects to Gtk3 and PyGobject3. However, I run into
a nasty issue.
I subclass Gtk.DrawingArea in order to provide view functionality for a Gaphas
canvas. For this I override some signals. Here's a minimal example that crashes
on OS X:
from gi.repository import Gtk
from gaphas import Canvas, GtkView, View
class MyDrawingArea(Gtk.DrawingArea):
def do_realize(self):
Gtk.DrawingArea.do_realize(self)
def main():
win = Gtk.Window()
view = GtkView()
win.add(view)
win.show()
view.show()
win.connect('destroy', Gtk.main_quit)
Gtk.main()
if __name__ == '__main__':
main()
Below I passed the information that OS X provides after a crash. Notice the
topmost stack frame. It points to an address that is quite bigger than any of
the other frames.
Is this some simple 32 bit vs 64 bit incompatibility?
I compiled the sources using Homebrew
(https://github.com/amolenaar/homebrew/tree/pygtk). As far as I know there is
no Gtk3/PyGobject3 configuration in jhbuild yet.
I want to look into this issue myself, only I need a starting point.
Any suggestions?
Regards,
Arjan
Process: Python [46884]
Path:
/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Identifier: Python
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: bash [41954]
Date/Time: 2011-11-02 07:12:09.064 +0100
OS Version: Mac OS X 10.7.2 (11C74)
Report Version: 9
Interval Since Last Report: 146762 sec
Crashes Since Last Report: 10
Per-App Crashes Since Last Report: 10
Anonymous UUID: 683FB58C-57DC-4A8D-BECB-528046EC9C0C
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fc25404d810
VM Regions Near 0x7fc25404d810:
MALLOC_SMALL 00007fc253800000-00007fc254000000 [ 8192K] rw-/rwx
SM=PRV
--> MALLOC_TINY 00007fc254000000-00007fc254100000 [ 1024K] rw-/rwx
SM=COW
STACK GUARD 00007fff5d663000-00007fff60e63000 [ 56.0M] ---/rwx
SM=NUL stack guard for thread 0
Application Specific Information:
objc[46884]: garbage collection is OFF
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 0x00007fc25404d810 0 + 140472609986576
1 libgobject-2.0.0.dylib 0x0000000101df3597
signal_emit_unlocked_R + 1239
2 libgobject-2.0.0.dylib 0x0000000101df4474 g_signal_emit_valist
+ 1460
3 libgobject-2.0.0.dylib 0x0000000101df4a34 g_signal_emit + 116
4 libgtk-3.0.dylib 0x00000001026539ae
gtk_widget_size_allocate + 766
5 libgtk-3.0.dylib 0x000000010266549a
gtk_window_size_allocate + 250
6 libgobject-2.0.0.dylib 0x0000000101de7e9b g_closure_invoke +
299
7 libgobject-2.0.0.dylib 0x0000000101df3597
signal_emit_unlocked_R + 1239
8 libgobject-2.0.0.dylib 0x0000000101df4474 g_signal_emit_valist
+ 1460
9 libgobject-2.0.0.dylib 0x0000000101df4a34 g_signal_emit + 116
10 libgtk-3.0.dylib 0x00000001026539ae
gtk_widget_size_allocate + 766
11 libgtk-3.0.dylib 0x00000001024cab68
gtk_container_resize_children + 40
12 libgtk-3.0.dylib 0x0000000102666345
gtk_window_check_resize + 1781
13 libgobject-2.0.0.dylib 0x0000000101de7e9b g_closure_invoke +
299
14 libgobject-2.0.0.dylib 0x0000000101df3a75
signal_emit_unlocked_R + 2485
15 libgobject-2.0.0.dylib 0x0000000101df4474 g_signal_emit_valist
+ 1460
16 libgobject-2.0.0.dylib 0x0000000101df4a34 g_signal_emit + 116
17 libgtk-3.0.dylib 0x00000001024cabcf
gtk_container_idle_sizer + 79
18 libgdk-3.0.dylib 0x0000000102899155 gdk_threads_dispatch
+ 53
19 libglib-2.0.0.dylib 0x0000000101e52585
g_main_context_dispatch + 661
20 libglib-2.0.0.dylib 0x0000000101e546d7
g_main_context_iterate + 983
21 libglib-2.0.0.dylib 0x0000000101e55aa2 g_main_loop_run + 530
22 libgtk-3.0.dylib 0x000000010254762d gtk_main + 77
23 libffi.5.dylib 0x0000000101ddf404 ffi_call_unix64 + 76
24 libffi.5.dylib 0x0000000101ddf31d ffi_call + 717
25 libgirepository-1.0.1.dylib 0x0000000101da0ed2
_g_callable_info_invoke + 1058
26 libgirepository-1.0.1.dylib 0x0000000101da20d6
g_function_info_invoke + 326
27 _gi.so 0x0000000101d84fa4
_wrap_g_callable_info_invoke + 2420
28 org.python.python 0x0000000101af65d8 PyEval_EvalFrameEx +
16006
29 org.python.python 0x0000000101af8cd8 PyEval_EvalCodeEx +
1996
30 org.python.python 0x0000000101af8e6c 0x101a6e000 + 568940
31 org.python.python 0x0000000101af5e0a PyEval_EvalFrameEx +
14008
32 org.python.python 0x0000000101af8df7 0x101a6e000 + 568823
33 org.python.python 0x0000000101af5e0a PyEval_EvalFrameEx +
14008
34 org.python.python 0x0000000101af8cd8 PyEval_EvalCodeEx +
1996
35 org.python.python 0x0000000101af8d4d PyEval_EvalCode + 54
36 org.python.python 0x0000000101b1008f 0x101a6e000 + 663695
37 org.python.python 0x0000000101b1014f PyRun_FileExFlags +
157
38 org.python.python 0x0000000101b112a2
PyRun_SimpleFileExFlags + 392
39 org.python.python 0x0000000101b212af Py_Main + 2715
40 org.python.python 0x0000000101a63e88 0x101a63000 + 3720
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/