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 585860 - glade-3 segfault at glade_design_view_get_layout
glade-3 segfault at glade_design_view_get_layout
Status: RESOLVED FIXED
Product: glade
Classification: Applications
Component: general
3.6.x
Other Linux
: Normal critical
: ---
Assigned To: Glade 3 Maintainers
Glade 3 Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-06-15 13:56 UTC by Pedro Villavicencio
Modified: 2009-06-18 20:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Hack to work around this crash (734 bytes, text/plain)
2009-06-18 07:18 UTC, James Liggett
Details

Description Pedro Villavicencio 2009-06-15 13:56:34 UTC
this report has been filed here:

https://bugs.edge.launchpad.net/ubuntu/+source/glade-3/+bug/386995

version of glade is 3.6.3

"Dear all,

when I start glade-3 in 2.26 (any version), select File/Open... and choose the glade file gui.glade, it crashes with the output given in the attached file."

file: 

http://launchpadlibrarian.net/27897543/gui.glade

"Thread 3 (Thread 0xb64ffb90 (LWP 8554)):

Thread 1 (Thread 0xb7276710 (LWP 8549))

  • #0 glade_design_view_get_layout
    at glade-design-view.c line 204
  • #1 glade_widget_show
    at glade-widget.c line 1958
  • #2 glade_widget_show
    at glade-widget.c line 1975
  • #3 glade_widget_rebuild
    at glade-widget.c line 2446
  • #4 glade_property_sync_impl
    at glade-property.c line 369
  • #5 glade_property_set_value_impl
    at glade-property.c line 309
  • #6 glade_property_set_va_list
    at glade-property.c line 875
  • #7 glade_property_set
    at glade-property.c line 899
  • #8 glade_widget_rebuild
    at glade-widget.c line 2370
  • #9 glade_property_sync_impl
    at glade-property.c line 369
  • #10 glade_property_set_value_impl
    at glade-property.c line 309
  • #11 glade_property_read
    at glade-property.c line 1047
  • #12 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 883
  • #13 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #14 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #15 glade_widget_read
    at glade-widget.c line 3746
  • #16 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #17 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #18 glade_widget_read_child
    at glade-widget.c line 3671
  • #19 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #20 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #21 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #22 glade_widget_read
    at glade-widget.c line 3746
  • #23 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #24 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #25 glade_widget_read_child
    at glade-widget.c line 3671
  • #26 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #27 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #28 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #29 glade_widget_read
    at glade-widget.c line 3746
  • #30 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #31 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #32 glade_widget_read_child
    at glade-widget.c line 3671
  • #33 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #34 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #35 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #36 glade_widget_read
    at glade-widget.c line 3746
  • #37 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #38 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #39 glade_widget_read_child
    at glade-widget.c line 3671
  • #40 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #41 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #42 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #43 glade_widget_read
    at glade-widget.c line 3746
  • #44 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #45 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #46 glade_widget_read_child
    at glade-widget.c line 3671
  • #47 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #48 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #49 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #50 glade_widget_read
    at glade-widget.c line 3746
  • #51 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #52 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #53 glade_widget_read_child
    at glade-widget.c line 3671
  • #54 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #55 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #56 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #57 glade_widget_read
    at glade-widget.c line 3746
  • #58 glade_widget_adaptor_object_read_child
    at glade-widget-adaptor.c line 952
  • #59 glade_widget_adaptor_read_child
    at glade-widget-adaptor.c line 3490
  • #60 glade_widget_read_child
    at glade-widget.c line 3671
  • #61 glade_widget_adaptor_object_read_widget
    at glade-widget-adaptor.c line 908
  • #62 glade_gtk_widget_read_widget
    at glade-gtk.c line 636
  • #63 glade_gtk_window_read_widget
    at glade-gtk.c line 5008
  • #64 glade_widget_adaptor_read_widget
    at glade-widget-adaptor.c line 3442
  • #65 glade_widget_read
    at glade-widget.c line 3746
  • #66 glade_project_load
    at glade-project.c line 1213
  • #67 ??
  • #68 ??
  • #69 __libc_start_main
    from /lib/tls/i686/cmov/libc.so.6
  • #70 ??

Comment 1 James Liggett 2009-06-18 07:16:04 UTC
I'm seeing similar crashes when working the with the GtkBuilder files for Anjuta's Git and Subversion plugins. Everything was fine until I added a boolean property to a custom widget I use in those projects (for which there is a glade catalog in the Anjuta tree.) Ever since then, I've had this crash. I have no idea why adding one simple property to a widget catalog would cause this, but I've worked up a hack to get around it. 

It seems that for some reason, design views don't always get associated with projects properly, such that glade_design_view_get_from_project can return NULL. I assume that this should never happen, and I have no idea why it does, but checking the validity of the return of this function seems to stop these problems here, and I can load my builder files again.
Comment 2 James Liggett 2009-06-18 07:18:14 UTC
Created attachment 136901 [details]
Hack to work around this crash
Comment 3 Tristan Van Berkom 2009-06-18 16:11:01 UTC
Thanks, that hack is going to be the correct fix in this case.

The design view can be null when loading a project, usually
we dont expect to hit glade_widget_show() while loading a 
project, but its possible that glade_widget_show() is triggered
somehow by the backend during the load process. 

If you have git access then please commit this patch
(with a changelog entry indicating also the bug number please),
otherwise let me know I'll take care of it...
Comment 4 James Liggett 2009-06-18 20:30:12 UTC
Ok, great. I've committed the patch to git.