[MacPorts] #74387: gtk/gobject/python regression after update to 2.12.6

MacPorts noreply at macports.org
Mon Aug 31 19:08:13 UTC 2026


#74387: gtk/gobject/python regression after update to  2.12.6
---------------------------------------+-----------------------------
 Reporter:  dirkx                      |      Owner:  (none)
     Type:  defect                     |     Status:  new
 Priority:  Normal                     |  Milestone:  MacPorts Future
Component:  ports                      |    Version:  2.12.6
 Keywords:  gtk python3 gobject cairo  |       Port:
---------------------------------------+-----------------------------
 After an update ot 2.12.6 - pretty much all python code that calls gtk
 seems to segfault.

 Below output is after a complete wipe of /local/ports (and associated data
 in /Applications, /Library, etc) - with the minimal packages for the
 example below.

 Output:

 {{{
 %  PYTHONFAULTHANDLER=1 python3.14 y.py
 Fatal Python error: Segmentation fault

 Current thread 0x00000001edb31d80 (most recent call first):
   File "/tmp/y.py", line 11 in on_activate
   File
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14
 /site-packages/gi/overrides/Gio.py", line 139 in run
   File "/tmp/y.py", line 16 in <module>

 Current thread's C stack trace (most recent call first):
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/Python", at
 _Py_DumpStack+0x44 [0x102e66db0]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/Python", at
 faulthandler_dump_c_stack+0x58 [0x102e79b3c]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/Python", at
 faulthandler_fatal_error+0x140 [0x102e79a00]
   Binary file "/usr/lib/system/libsystem_platform.dylib", at
 _sigtramp+0x38 [0x181933744]
   Binary file "/opt/local/lib/libepoxy.0.dylib", at
 epoxy_internal_gl_version+0x28 [0x109916d5c]
   Binary file "/opt/local/lib/libepoxy.0.dylib", at
 epoxy_internal_has_gl_extension+0x2c [0x1099170d4]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 gdk_gl_context_make_current+0xfc [0x10a4d0dc0]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 gl_supported_platform+0x60 [0x10a51a670]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 get_renderer_for_gl+0x10 [0x10a51a464]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 gsk_renderer_new_for_surface_full+0x68 [0x10a519e20]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 gtk_window_realize+0x148 [0x10a347394]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 gtk_application_window_real_realize+0x4c [0x10a192724]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 _g_closure_invoke_va+0xd4 [0x107a566c4]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 signal_emit_valist_unlocked+0x35c [0x107a6a700]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 g_signal_emit_valist+0x40 [0x107a6a378]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 g_signal_emit+0x1c [0x107a6ae94]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 gtk_widget_realize+0xdc [0x10a331a08]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at gtk_window_show+0x84
 [0x10a347060]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 _g_closure_invoke_va+0xd4 [0x107a566c4]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 signal_emit_valist_unlocked+0x35c [0x107a6a700]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 g_signal_emit_valist+0x40 [0x107a6a378]
   Binary file "/opt/local/lib/libgobject-2.0.0.dylib", at
 g_signal_emit+0x1c [0x107a6ae94]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at gtk_widget_show+0xa8
 [0x10a331634]
   Binary file "/opt/local/lib/libgtk-4.1.dylib", at
 _gtk_window_present+0x8c [0x10a343dd0]
   Binary file "/opt/local/lib/libffi.8.dylib", at ffi_call_SYSV+0x50
 [0x1025b8050]
   Binary file "/opt/local/lib/libffi.8.dylib", at ffi_call_int+0x590
 [0x1025b54d8]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14
 /site-packages/gi/_gi.cpython-314-darwin.so", at
 pygi_invoke_c_callable+0x900 [0x102baa174]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14
 /site-packages/gi/_gi.cpython-314-darwin.so", at
 pygi_function_cache_invoke+0x38 [0x102baaffc]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/Python", at
 PyObject_Vectorcall+0x58 [0x102ca3d7c]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/Python", at
 _PyEval_EvalFrameDefault+0x2a74 [0x102dd3ccc]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/Python", at
 _PyEval_Vector+0x108 [0x102dd0f00]
   Binary file
 "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14
 /site-packages/gi/_gi.cpython-314-darwin.so", at
 pygi_signal_closure_marshal+0x3e4 [0x102ba95a8]
   <truncated rest of calls>

 Extension modules: gi._gi, cairo._cairo, gi._gi_cairo (total: 3)
 zsh: segmentation fault  PYTHONFAULTHANDLER=1 python3.14 y.py
 %
 }}}

 Minimal test script

 {{{
 % cat y.py
 import gi
 gi.require_version('Gtk', '4.0')
 from gi.repository import Gtk

 def on_activate(app):
     win = Gtk.ApplicationWindow(application=app)
     if False:
        btn = Gtk.Button(label='Hello, World!')
        btn.connect('clicked', lambda x: win.close())
        win.set_child(btn)
     win.present()

 app = Gtk.Application(application_id='com.example.GtkApplication')
 app.connect('activate', on_activate)

 app.run(None)
 }}}

 Machine data

 {{{
 % port version
 2.12.6
 % uname -a
 Darwin test.local 25.5.0 Darwin Kernel Version 25.5.0: Tue Jun  9 22:19:21
 PDT 2026; root:xnu-12377.121.10~1/RELEASE_ARM64_T8122 arm64 arm Darwin
 }}}

 As far as I can see - normal Gtk is fine - and it is fine a MacPro with
 Xeons.

-- 
Ticket URL: <https://trac.macports.org/ticket/74387>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list