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 566801 - Docking+undocking all makes the buttons disappear and crashes if you use "Reset dock layout"
Docking+undocking all makes the buttons disappear and crashes if you use "Res...
Status: RESOLVED FIXED
Product: gdl
Classification: Other
Component: general
2.24.x
Other Linux
: Normal critical
: ---
Assigned To: Anjuta maintainers
Anjuta maintainers
: 566703 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-01-06 18:42 UTC by Philip Van Hoof
Modified: 2009-02-22 21:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Philip Van Hoof 2009-01-06 18:42:16 UTC
We start with "Reset dock layout"

Then I click on the [<] arrow of the "Symbols", I do this for all of the docks in my left pane.

Then one by one I start clicking the now vertical buttons.

If I'm finished with the last one, only the last dock's button is available in the left page. This is already wrong of course.

Now press "Reset dock layout" and you crash:

(gdb) thread apply all bt

Thread 1 (Thread 0xb6c04720 (LWP 18681))

  • #0 g_slice_alloc
    from /usr/lib/libglib-2.0.so.0
  • #1 g_slice_alloc0
    from /usr/lib/libglib-2.0.so.0
  • #2 g_type_create_instance
    from /usr/lib/libgobject-2.0.so.0
  • #3 ??
    from /usr/lib/libgobject-2.0.so.0
  • #4 g_object_newv
    from /usr/lib/libgobject-2.0.so.0
  • #5 g_object_new_valist
    from /usr/lib/libgobject-2.0.so.0
  • #6 g_object_new
    from /usr/lib/libgobject-2.0.so.0
  • #7 gtk_label_new
    from /usr/lib/libgtk-x11-2.0.so.0
  • #8 gdl_switcher_add_button
    at gdl-switcher.c line 779
  • #9 gdl_switcher_insert_page
    at gdl-switcher.c line 861
  • #10 gdl_dock_notebook_dock
    at gdl-dock-notebook.c line 407
  • #11 gdl_marshal_VOID__OBJECT_ENUM_BOXED
    at libgdlmarshal.c line 161
  • #12 ??
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #14 ??
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #17 gdl_dock_object_dock
    at gdl-dock-object.c line 606
  • #18 gdl_dock_notebook_add
    at gdl-dock-notebook.c line 302
  • #19 g_cclosure_marshal_VOID__OBJECT
    from /usr/lib/libgobject-2.0.so.0
  • #20 ??
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #22 ??
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #25 gtk_container_add
    from /usr/lib/libgtk-x11-2.0.so.0
  • #26 gdl_dock_layout_recursive_build
    at gdl-dock-layout.c line 920
  • #27 gdl_dock_layout_recursive_build
    at gdl-dock-layout.c line 898
  • #28 gdl_dock_layout_recursive_build
    at gdl-dock-layout.c line 898
  • #29 gdl_dock_layout_recursive_build
    at gdl-dock-layout.c line 898
  • #30 gdl_dock_layout_recursive_build
    at gdl-dock-layout.c line 898
  • #31 gdl_dock_layout_load_layout
    at gdl-dock-layout.c line 964
  • #32 anjuta_app_layout_load
    at anjuta-app.c line 627
  • #33 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #35 ??
    from /usr/lib/libgobject-2.0.so.0
  • #36 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #37 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #38 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 gtk_action_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #40 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #41 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #42 ??
    from /usr/lib/libgobject-2.0.so.0
  • #43 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #44 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #45 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #46 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #47 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #48 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #49 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #50 ??
    from /usr/lib/libgobject-2.0.so.0
  • #51 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #52 ??
    from /usr/lib/libgobject-2.0.so.0
  • #53 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #54 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #55 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #56 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #57 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #58 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #59 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #60 ??
    from /usr/lib/libglib-2.0.so.0
  • #61 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #62 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #63 main
    at main.c line 400

Comment 1 Philip Van Hoof 2009-01-06 18:43:15 UTC
Note that this is 100% reproducable for me.

This is a second crash at a second attempt (actually a 7th attempt):

[Thread 0xadcfeb90 (LWP 19648) exited]
[Thread 0xaed00b90 (LWP 19646) exited]
[Thread 0xaff03b90 (LWP 19644) exited]

(anjuta:19585): Gdl-CRITICAL **: gdl_dock_object_freeze: assertion `object != NULL' failed

(anjuta:19585): Gdl-CRITICAL **: gdl_dock_object_bind: assertion `object != NULL && master != NULL' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed

(anjuta:19585): Gdl-CRITICAL **: gdl_dock_object_thaw: assertion `object != NULL' failed

(anjuta:19585): Gdl-CRITICAL **: gdl_dock_object_freeze: assertion `object != NULL' failed

(anjuta:19585): Gdl-CRITICAL **: gdl_dock_object_bind: assertion `object != NULL && master != NULL' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed

(anjuta:19585): Gtk-CRITICAL **: gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed

(anjuta:19585): Gdl-CRITICAL **: gdl_dock_object_thaw: assertion `object != NULL' failed

(anjuta:19585): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(anjuta:19585): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(anjuta:19585): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(anjuta:19585): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(anjuta:19585): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(anjuta:19585): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(anjuta:19585): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(anjuta:19585): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(anjuta:19585): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)'

(anjuta:19585): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

Program received signal SIGSEGV, Segmentation fault.

Thread 3065706272 (LWP 19585)

  • #0 g_slice_alloc
    from /usr/lib/libglib-2.0.so.0
  • #1 g_slice_alloc0
    from /usr/lib/libglib-2.0.so.0
  • #2 g_type_create_instance
    from /usr/lib/libgobject-2.0.so.0
  • #3 ??
    from /usr/lib/libgobject-2.0.so.0
  • #4 g_object_newv
    from /usr/lib/libgobject-2.0.so.0
  • #5 g_object_new_valist
    from /usr/lib/libgobject-2.0.so.0
  • #6 g_object_new
    from /usr/lib/libgobject-2.0.so.0
  • #7 gtk_label_new
    from /usr/lib/libgtk-x11-2.0.so.0
  • #8 gdl_switcher_add_button
    at gdl-switcher.c line 779
  • #9 gdl_switcher_insert_page
    at gdl-switcher.c line 861
  • #10 gdl_dock_notebook_dock
    at gdl-dock-notebook.c line 407
  • #11 gdl_marshal_VOID__OBJECT_ENUM_BOXED
    at libgdlmarshal.c line 161
  • #12 ??
    from /usr/lib/libgobject-2.0.so.0
  • #13 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #14 ??
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #17 gdl_dock_object_dock
    at gdl-dock-object.c line 606
  • #18 gdl_dock_notebook_add
    at gdl-dock-notebook.c line 302
  • #19 g_cclosure_marshal_VOID__OBJECT
    from /usr/lib/libgobject-2.0.so.0
  • #20 ??
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #22 ??
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #25 gtk_container_add
    from /usr/lib/libgtk-x11-2.0.so.0
  • #26 gdl_dock_layout_recursive_build
    at gdl-dock-layout.c line 920

Comment 2 Philip Van Hoof 2009-01-06 19:51:25 UTC
*** Bug 566703 has been marked as a duplicate of this bug. ***
Comment 3 Johannes Schmid 2009-02-02 12:16:29 UTC
Yes, I reproduce this here, too!
Comment 4 Sébastien Granjoux 2009-02-22 21:12:02 UTC
I don't know Gdl very well but I have looked at the first critical warning and the code looks wrong here. 

I have fixed this and now I don't get any crash not any warning so I have committed the change in svn trunk.

Thanks Philip for this nice bug description.