[pygtk] SIGBUS error on Mac OS X 10.7 with PyGobject 3.0.1

Arjan Molenaar gaphor at gmail.com
Wed Nov 2 15:46:09 WST 2011


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



More information about the pygtk mailing list