After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 730924 - Setting a GtkScrolledWindow to visible in a template causes a segfault
Setting a GtkScrolledWindow to visible in a template causes a segfault
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkScrolledWindow
3.13.x
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2014-05-29 09:35 UTC by Timm Bäder
Modified: 2014-05-30 01:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Timm Bäder 2014-05-29 09:35:26 UTC
For the *very* minimal vala test code, clone 
https://github.com/baedert/gtk-sw-bug.

The important parts are probably:

== main.vala ==
[GtkTemplate (ui = "/org/baedert/test/foo-scrolled.ui")]
class FooScrolled : Gtk.ScrolledWindow {}

void main (string[] args) {
  Gtk.init (ref args);
  var s = new FooScrolled ();
}


== foo-scrolled.ui ==
<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <template class="FooScrolled" parent="GtkScrolledWindow">
    <property name="visible">True</property>
  </template>
</interface>


Removing the visible property from foo-scrolled.ui makes everything work
as expected.
This is not reproducible with 3.12.2, only with current master.

backtrace:
  • #0 gtk_widget_verify_invariants
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #1 gtk_widget_verify_child_invariants
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #2 gtk_scrolled_window_forall
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #3 gtk_container_forall
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #4 gtk_widget_pop_verify_invariants
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #5 gtk_widget_show
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #6 gtk_widget_set_visible
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #7 gtk_widget_set_property
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #8 object_set_property
    at gobject.c line 1385
  • #9 g_object_set_property
    at gobject.c line 2317
  • #10 gtk_widget_buildable_set_buildable_property
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #11 _gtk_builder_apply_properties
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #12 builder_construct
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #13 end_element.lto_priv
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #14 emit_end_element
    at gmarkup.c line 1084
  • #15 g_markup_parse_context_parse
    at gmarkup.c line 1626
  • #16 _gtk_builder_parser_parse_buffer
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #17 _gtk_builder_extend_with_template
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #18 gtk_widget_init_template
    from /home/baedert/Source/gnome-configure/lib64/libgtk-3.so.0
  • #19 foo_scrolled_instance_init
    at /home/baedert/scrolled/main.vala line 4
  • #20 g_type_create_instance
    from /home/baedert/Source/gnome-configure/lib64/libgobject-2.0.so.0
  • #21 g_object_new_internal
    at gobject.c line 1735
  • #22 g_object_newv
    at gobject.c line 1879
  • #23 g_object_new
    at gobject.c line 1579
  • #24 foo_scrolled_construct
    at /home/baedert/scrolled/main.vala line 4
  • #25 foo_scrolled_new
    at /home/baedert/scrolled/main.vala line 4
  • #26 _vala_main
    at /home/baedert/scrolled/main.vala line 7
  • #27 main
    at /home/baedert/scrolled/main.vala line 5