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 77977 - glade crashes when doing cut and paste one or more times for a particular combination of widgets.
glade crashes when doing cut and paste one or more times for a particular com...
Status: VERIFIED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
2.0.x
Other All
: High critical
: ---
Assigned To: Jonathan Blandford
Damon Chaplin
: 80089 80224 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-04-07 21:23 UTC by venkat
Modified: 2011-02-04 16:09 UTC
See Also:
GNOME target: ---
GNOME version: 2.0


Attachments
Test case (3.02 KB, text/plain)
2002-04-22 17:03 UTC, Damon Chaplin
Details

Description venkat 2002-04-07 21:23:05 UTC
Version - 1.1.0
Code taken on 1st april.

Reproducibility : Always


Steps to reproduce :

1) Start glade.
2) Create  a new project.
3) Create an application window by clicking on the   
    corresponding widget in the GTK+ Menu.
4) Click on the 'Horizontal' box followed by a click
    on the application window. Specify the no of
     rows to say 3.

5) Drag and drop the widgets List , Columned List , Columned tree
   from the 'GTK+ menu' to the each row of the horizontal
  box created in the step 4 respectively in the application window.

6) Highlight the application window in the glade menu bar.

7) Select the option  'Edit:Cut' from the menu bar followed
   by selecting the option 'Edit:Paste' from the menu bar.

8) Repeat the step 7 for more times.

9)  glade crashes.

Following is the stack trace:

  • #0 _waitid
    from /usr/lib/libc.so.1
  • #1 _waitpid
    from /usr/lib/libc.so.1
  • #2 waitpid
    from /usr/lib/libthread.so.1
  • #3 libgnomeui_segv_handle
    from /opt/gnome-2.0/lib/libgnomeui-2.so.0
  • #4 __sighndlr
    from /usr/lib/libthread.so.1
  • #5 call_user_handler
    from /usr/lib/libthread.so.1
  • #6 <signal handler called>
  • #7 strlen
    from /usr/lib/libc.so.1
  • #8 g_strconcat
    from /opt/gnome-2.0/lib/libglib-2.0.so.0
  • #9 updateOutput
  • #10 g_timeout_dispatch
    from /opt/gnome-2.0/lib/libglib-2.0.so.0
  • #11 g_main_dispatch
    from /opt/gnome-2.0/lib/libglib-
  • #12 g_main_context_dispatch
    from /opt/gnome-2.0/lib/libglib-2.0.so.0
  • #13 g_main_context_iterate
    from /opt/gnome-2.0/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /opt/gnome-2.0/lib/libglib-
  • #15 bonobo_main
    from /opt/gnome-2.0/lib/libbonobo-2.so.0
  • #16 bonobo_generic_factory_main
    from /opt/gnome-2.0/lib/libbonobo-2.so.0
  • #17 panel_applet_factory_main_closure

Comment 1 Luis Villa 2002-04-10 01:36:57 UTC
Not a very useful looking trace, but what do I know :)
Comment 2 Damon Chaplin 2002-04-11 20:35:37 UTC
It crashes for me. But I get a different trace.
(You're trace looks like it is from something else!)

This could be a GtkTreeView bug, but the Glade code to handle the
widget tree is a bit complicated, so I wouldn't be surprised if it
was a Glade bug.


  • #0 g_node_nth_child
    at gnode.c line 862
  • #0 g_node_nth_child
    at gnode.c line 862
  • #1 gtk_tree_store_iter_nth_child
    at gtktreestore.c line 732
  • #2 gtk_tree_model_iter_nth_child
    at gtktreemodel.c line 897
  • #3 gtk_tree_row_reference_unref_path_helper
    at gtktreemodel.c line 1469
  • #4 gtk_tree_row_reference_unref_path
    at gtktreemodel.c line 1485
  • #5 gtk_tree_row_ref_deleted_callback
    at gtktreemodel.c line 1371
  • #6 gtk_tree_row_reference_deleted
    at gtktreemodel.c line 1729
  • #7 gtk_tree_view_row_deleted
    at gtktreeview.c line 5847
  • #8 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #9 g_closure_invoke
    at gclosure.c line 437
  • #10 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #11 g_signal_emit_valist
    at gsignal.c line 2100
  • #12 g_signal_emit_by_name
    at gsignal.c line 2168
  • #13 gtk_tree_model_row_deleted
    at gtktreemodel.c line 1139
  • #14 gtk_tree_store_remove
    at gtktreestore.c line 1055
  • #15 tree_remove_widget
    at tree.c line 226
  • #16 on_widget_destroy
    at gbwidget.c line 584
  • #17 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #18 g_closure_invoke
    at gclosure.c line 437
  • #19 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #20 g_signal_emit_valist
    at gsignal.c line 2100
  • #21 gtk_signal_emit
    at gtksignal.c line 355
  • #22 gtk_object_dispose
    at gtkobject.c line 373
  • #23 gtk_widget_dispose
    at gtkwidget.c line 5599
  • #24 gtk_window_dispose
    at gtkwindow.c line 1546
  • #25 g_object_run_dispose
    at gobject.c line 469
  • #26 gtk_object_destroy
    at gtkobject.c line 358
  • #27 gtk_widget_destroy
    at gtkwidget.c line 1581
  • #28 glade_project_remove_component
    at glade_project.c line 808
  • #29 editor_delete_widget
    at editor.c line 3183
  • #30 glade_clipboard_cut_or_copy
    at glade_clipboard.c line 246
  • #31 glade_clipboard_cut
    at glade_clipboard.c line 159
  • #32 glade_project_window_cut
    at glade_project_window.c line 1466
  • #33 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #34 g_closure_invoke
    at gclosure.c line 437
  • #35 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #36 g_signal_emit_valist
    at gsignal.c line 2100
  • #37 gtk_signal_emit
    at gtksignal.c line 355
  • #38 gtk_widget_activate
    at gtkwidget.c line 3108
  • #39 gtk_menu_shell_activate_item
    at gtkmenushell.c line 929
  • #40 gtk_menu_shell_button_release
    at gtkmenushell.c line 550
  • #41 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #42 g_type_class_meta_marshal
    at gclosure.c line 514
  • #43 g_closure_invoke
    at gclosure.c line 437
  • #44 signal_emit_unlocked_R
    at gsignal.c line 2379
  • #45 g_signal_emit_valist
    at gsignal.c line 2110
  • #46 gtk_signal_emit
    at gtksignal.c line 355
  • #47 gtk_widget_event_internal
    at gtkwidget.c line 3076
  • #48 gtk_widget_event
    at gtkwidget.c line 2937
  • #49 gtk_propagate_event
    at gtkmain.c line 2068
  • #50 gtk_main_do_event
    at gtkmain.c line 1317
  • #51 gdk_event_dispatch
    at gdkevents-x11.c line 1752
  • #52 g_main_dispatch
    at gmain.c line 1617
  • #53 g_main_context_dispatch
    at gmain.c line 2161
  • #54 g_main_context_iterate
    at gmain.c line 2242
  • #55 g_main_loop_run
    at gmain.c line 2462
  • #56 bonobo_main
    at bonobo-main.c line 290
  • #57 main
    at main.c line 190
  • #58 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129

Comment 3 Luis Villa 2002-04-11 20:47:25 UTC
Should we cc: jrb then?
Comment 4 Damon Chaplin 2002-04-22 17:01:40 UTC
Moving to GTK+ as I'm pretty sure it is a GtkTreeView bug.
I'll attach a test case in a sec.
Comment 5 Damon Chaplin 2002-04-22 17:03:17 UTC
Created attachment 7867 [details]
Test case
Comment 6 Luis Villa 2002-04-22 18:13:31 UTC
Re-assigning as well.
Comment 7 Kristian Rietveld 2002-04-23 21:14:49 UTC
Can't reproduce with GTK+ HEAD.
Comment 8 Kristian Rietveld 2002-04-25 14:24:41 UTC
Putting on 2.0.3 for tracking. It would be cool if someone else could
also verify that this bug is really gone.
Comment 9 Luis Villa 2002-04-25 14:26:53 UTC
Venkat: please test to see if this is gone. Putting to NEEDINFO while
we wait.
Comment 10 venkat 2002-04-26 04:54:05 UTC
Iam able to reproduce in the latest build(code taken on 25th april).
But, the number of times to repeat the step 7 which i mentioned 
earlier  to produce the core dump is not constant. Sometimes, iam 
able to reproduce the core dump, if i repeat the step 7 two times. 
Sometimes in  10th time. Now all the widgets which i mentioned 
earlier is now under 'Deprecatedd' menu. Following is the stack trace 
which i got.


Debugging information:
[New Thread 1024 (LWP 2413)]
0x40ff8519 in __wait4 () from /lib/i686/libc.so.6
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui- init.c line 593
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 g_node_nth_child
    at gnode.c line 862
  • #7 gtk_tree_store_iter_nth_child
    at gtktreestore.c line 732
  • #8 gtk_tree_model_iter_nth_child
    at gtktreemodel.c line 897
  • #9 gtk_tree_row_reference_unref_path_helper
    at gtktreemodel.c line 1469
  • #10 gtk_tree_row_reference_unref_path
    at gtktreemodel.c line 1485
  • #11 gtk_tree_row_ref_deleted_callback
    at gtktreemodel.c line 1371
  • #12 gtk_tree_row_reference_deleted
    at gtktreemodel.c line 1731
  • #13 gtk_tree_view_row_deleted
    at gtktreeview.c line 5912
  • #14 g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #15 g_closure_invoke
    at gclosure.c line 437
  • #16 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #17 g_signal_emit_valist
    at gsignal.c line 2100
  • #18 g_signal_emit_by_name
    at gsignal.c line 2168
  • #19 gtk_tree_model_row_deleted
    at gtktreemodel.c line 1139
  • #20 gtk_tree_store_remove
    at gtktreestore.c line 1055
  • #21 tree_remove_widget
    at tree.c line 228
  • #22 on_widget_destroy
    at gbwidget.c line 583
  • #23 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #24 g_closure_invoke
    at gclosure.c line 437
  • #25 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #26 g_signal_emit_valist
    at gsignal.c line 2100
  • #27 gtk_signal_emit
    at gtksignal.c line 355
  • #28 gtk_object_dispose
    at gtkobject.c line 373
  • #29 gtk_widget_dispose
    at gtkwidget.c line 5625
  • #30 gtk_window_dispose
    at gtkwindow.c line 1546
  • #31 g_object_run_dispose
    at gobject.c line 469
  • #32 gtk_object_destroy
    at gtkobject.c line 358
  • #33 gtk_widget_destroy
    at gtkwidget.c line 1581
  • #34 glade_project_remove_component
    at glade_project.c line 808
  • #35 editor_delete_widget
    at editor.c line 3194
  • #36 glade_clipboard_cut_or_copy
    at glade_clipboard.c line 246
  • #37 glade_clipboard_cut
    at glade_clipboard.c line 159
  • #38 glade_project_window_cut
    at glade_project_window.c line 1466
  • #39 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #40 g_closure_invoke
    at gclosure.c line 437
  • #41 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #42 g_signal_emit_valist
    at gsignal.c line 2100
  • #43 g_signal_emit
    at gsignal.c line 2144
  • #44 closure_accel_activate
    at gtkwidget.c line 2560
  • #45 g_closure_invoke
    at gclosure.c line 437
  • #46 signal_emit_unlocked_R
    at gsignal.c line 2341
  • #47 g_signal_emit_valist
    at gsignal.c line 2110
  • #48 g_signal_emit
    at gsignal.c line 2144
  • #49 _gtk_accel_group_activate
    at gtkaccelgroup.c line 747
  • #50 gtk_accel_groups_activate
    at gtkaccelgroup.c line 785
  • #51 _gtk_window_activate_key
    at gtkwindow.c line 5929
  • #52 gtk_window_key_press_event
    at gtkwindow.c line 3581
  • #53 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #54 g_type_class_meta_marshal
    at gclosure.c line 514
  • #55 g_closure_invoke
    at gclosure.c line 437
  • #56 signal_emit_unlocked_R
    at gsignal.c line 2379
  • #57 g_signal_emit_valist
    at gsignal.c line 2110
  • #58 gtk_signal_emit
    at gtksignal.c line 355
  • #59 gtk_widget_event_internal
    at gtkwidget.c line 3085
  • #60 gtk_widget_event
    at gtkwidget.c line 2946
  • #61 gtk_propagate_event
    at gtkmain.c line 2070
  • #62 gtk_main_do_event
    at gtkmain.c line 1337
  • #63 gdk_event_dispatch
    at gdkevents-x11.c line 1752
  • #64 g_main_dispatch
    at gmain.c line 1617
  • #65 g_main_context_dispatch
    at gmain.c line 2161
  • #66 g_main_context_iterate
    at gmain.c line 2242
  • #67 g_main_loop_run
    at gmain.c line 2462
  • #68 bonobo_main
    at bonobo-main.c line 290
  • #69 main
    at main.c line 190
  • #70 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129
  • #0 __wait4
    from /lib/i686/libc.so.6
  • #1 __DTOR_END__
    from /lib/i686/libc.so.6
  • #2 waitpid
    at wrapsyscall.c line 172
  • #3 libgnomeui_segv_handle
    at gnome-ui- init.c line 593
  • #4 pthread_sighandler
    at signals.c line 97
  • #5 <signal handler called>
  • #6 g_node_nth_child
    at gnode.c line 862
  • #7 gtk_tree_store_iter_nth_child
    at gtktreestore.c line 732


Comment 11 venkat 2002-04-26 04:56:38 UTC
The stack trace which i specified earlier is obtained  on linux os.
Comment 12 Kristian Rietveld 2002-04-26 09:11:52 UTC
Hmmm, for some reason the testcase crashes now. I've got a patch which
I will commit after getting approval.
Comment 13 Kristian Rietveld 2002-04-26 19:59:34 UTC
Should be fixed on HEAD now. Will commit on gtk-2-0 later today.
Comment 14 Damon Chaplin 2002-05-15 17:37:41 UTC
*** Bug 80224 has been marked as a duplicate of this bug. ***
Comment 15 venkat 2002-08-22 11:11:06 UTC
Closing, as the problem is not present in the latest build
Comment 16 Damon Chaplin 2002-09-12 18:57:14 UTC
*** Bug 80089 has been marked as a duplicate of this bug. ***