gtk3: rbgobj_define_class: Invalid GType and segmentation fault on macOS11.6.2/Ruby3.0.3/ruby-gnome3.5.0
I got segmentation error on the when I ran the below (minimal) code. When I switch ruby version to 2.7.5, it seems to work fine.
- macOS 11.6.2 (Intel)
- MacPorts
- XQuartz
- gtk3 +x11 (also +quatrz)
- Ruby 3.0.3 (rbenv)
- ruby-gnome 3.5.0
require 'gtk3'
window = Gtk::Window.new
window.set_size_request(400, 300)
window.show_all
window.signal_connect("destroy") { Gtk.main_quit }
Gtk.main
akkie@Soful gtk3 % ruby test.rb
GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:82:in `require_extension'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:25:in `post_load'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:49:in `block in load'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:622:in `prepare_class'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:41:in `load'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:32:in `<module:Pango>'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:27:in `<top (required)>'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gdk3-3.5.0/lib/gdk3.rb:20:in `<top (required)>'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gtk3-3.5.0/lib/gtk3.rb:18:in `<top (required)>'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
from test.rb:1:in `<main>'
GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:82:in `require_extension'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:25:in `post_load'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:49:in `block in load'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:622:in `prepare_class'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:41:in `load'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:32:in `<module:Pango>'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:27:in `<top (required)>'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gdk3-3.5.0/lib/gdk3.rb:20:in `<top (required)>'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
from /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gtk3-3.5.0/lib/gtk3.rb:18:in `<top (required)>'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
from <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
from test.rb:1:in `<main>'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.bundle: [BUG] rbgobj_define_class: Invalid GType: <AttrIterator>
ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x86_64-darwin20]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
for more details.
Don't forget to include the above Crash Report log file in bug reports.
-- Control frame information -----------------------------------------------
c:0021 p:-17532431733342 s:0139 e:000138 TOP [FINISH]
c:0020 p:---- s:0136 e:000135 CFUNC :require
c:0019 p:0676 s:0131 e:000130 METHOD <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148
c:0018 p:0005 s:0114 e:000113 METHOD /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:82
c:0017 p:0003 s:0110 e:000109 METHOD /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:25
c:0016 p:0034 s:0104 e:000103 BLOCK /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:49
c:0015 p:0008 s:0101 e:000100 METHOD /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:622
c:0014 p:0030 s:0096 e:000095 METHOD /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:41
c:0013 p:0051 s:0090 e:000089 CLASS /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:32
c:0012 p:0055 s:0086 e:000085 TOP /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:27 [FINISH]
c:0011 p:---- s:0083 e:000082 CFUNC :require
c:0010 p:0339 s:0078 e:000077 METHOD <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96
c:0009 p:0023 s:0061 e:000060 TOP /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gdk3-3.5.0/lib/gdk3.rb:20 [FINISH]
c:0008 p:---- s:0058 e:000057 CFUNC :require
c:0007 p:0339 s:0053 e:000052 METHOD <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96
c:0006 p:0011 s:0036 e:000035 TOP /Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gtk3-3.5.0/lib/gtk3.rb:18 [FINISH]
c:0005 p:---- s:0033 e:000032 CFUNC :require
c:0004 p:0081 s:0028 e:000027 RESCUE <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160
c:0003 p:0677 s:0024 e:000023 METHOD <internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149
c:0002 p:0005 s:0007 E:000ca8 EVAL test.rb:1 [FINISH]
c:0001 p:0000 s:0003 E:0013c0 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
test.rb:1:in `<main>'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gtk3-3.5.0/lib/gtk3.rb:18:in `<top (required)>'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gdk3-3.5.0/lib/gdk3.rb:20:in `<top (required)>'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:27:in `<top (required)>'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.rb:32:in `<module:Pango>'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:41:in `load'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:622:in `prepare_class'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/gobject-introspection-3.5.0/lib/gobject-introspection/loader.rb:49:in `block in load'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:25:in `post_load'
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango/loader.rb:82:in `require_extension'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
<internal:/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:148:in `require'
-- C level backtrace information -------------------------------------------
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_vm_bugreport+0x6cf) [0x10801eb7f]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_bug_without_die+0x184) [0x107e33974]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_bug+0x6f) [0x10802bd29]
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/glib2-3.5.0/lib/glib2.bundle(rbgobj_define_class+0xeb) [0x1096e45ab]
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.bundle(rbpango_attr_iterator_init+0x5a) [0x10a6112ea]
/Users/akkie/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/pango-3.5.0/lib/pango.bundle(Init_pango+0x40) [0x10a612770]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(dln_load+0xfa) [0x107d8ff8a]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_vm_call_cfunc+0x11b) [0x1080060bb]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(require_internal+0x4cf) [0x107e9871f]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_f_require+0x24) [0x107e97aa4]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_cfunc_with_frame+0x14f) [0x108013dbf]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_method_each_type+0x75f) [0x10800df8f]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_sendish+0x570) [0x10800b9e0]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_exec_core+0x3a0d) [0x107feee8d]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_vm_exec+0xb39) [0x108005999]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(load_iseq_eval+0xb6) [0x107e99f56]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(require_internal+0x381) [0x107e985d1]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_f_require+0x24) [0x107e97aa4]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_cfunc_with_frame+0x14f) [0x108013dbf]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_alias+0x68) [0x10800f278]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_sendish+0x570) [0x10800b9e0]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_exec_core+0x3a0d) [0x107feee8d]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_vm_exec+0xb39) [0x108005999]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(load_iseq_eval+0xb6) [0x107e99f56]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(require_internal+0x381) [0x107e985d1]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_f_require+0x24) [0x107e97aa4]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_cfunc_with_frame+0x14f) [0x108013dbf]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_alias+0x68) [0x10800f278]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_sendish+0x570) [0x10800b9e0]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_exec_core+0x3a0d) [0x107feee8d]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_vm_exec+0xb39) [0x108005999]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(load_iseq_eval+0xb6) [0x107e99f56]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(require_internal+0x381) [0x107e985d1]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_f_require+0x24) [0x107e97aa4]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_cfunc_with_frame+0x14f) [0x108013dbf]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_call_alias+0x68) [0x10800f278]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_sendish+0x570) [0x10800b9e0]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(vm_exec_core+0x3a0d) [0x107feee8d]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_vm_exec+0xb39) [0x108005999]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(rb_ec_exec_node+0x127) [0x107e3efa7]
/Users/akkie/.rbenv/versions/3.0.3/lib/libruby.3.0.dylib(ruby_run_node+0x57) [0x107e3ee27]
/Users/akkie/.rbenv/versions/3.0.3/bin/ruby(main+0x5d) [0x107d7ff0d]