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 351814 - GtkTreeModelFilter: row-deleted should probably emit signal first, then decrease visible nodes
GtkTreeModelFilter: row-deleted should probably emit signal first, then decre...
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
2.10.x
Other All
: Normal major
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
: 352152 352309 353261 354312 354595 355012 355296 356320 356406 356418 357062 357990 358220 358222 358380 359949 360082 360690 360840 361207 361595 361775 362298 362473 362548 363159 363360 363541 363676 363896 364444 364684 365127 365205 365796 366385 366571 366766 366853 368892 369737 370531 371114 371452 371521 372302 372320 372695 372784 374416 374806 374844 374852 374920 375113 376033 378653 379598 379701 380135 381168 381573 381853 382439 382910 383005 383412 384128 385232 388849 389275 390653 390908 390962 391567 392778 392968 393988 394717 395011 395258 395401 395981 398056 398543 399820 399977 400615 401607 402254 402295 403350 417657 422586 424669 425282 434338 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-08-17 18:50 UTC by Stefan Horning
Modified: 2011-05-22 15:48 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
Stack trace as > 65k chars (101.75 KB, text/plain)
2006-10-05 14:42 UTC, Don Scorgie
  Details
Sadly not a fix (4.29 KB, patch)
2006-11-14 22:49 UTC, Diego Escalante Urrelo (not reading bugmail)
none Details | Review
Workarounds/Fixes the problem (seriously!) (2.47 KB, patch)
2007-01-08 11:08 UTC, Diego Escalante Urrelo (not reading bugmail)
committed Details | Review
gtk+ patch (818 bytes, patch)
2007-01-28 20:33 UTC, Kristian Rietveld
none Details | Review
Workaround committed to trunk (3.01 KB, patch)
2007-02-26 10:19 UTC, Loïc Minier
committed Details | Review
GNOME 2.14 backport (2.89 KB, patch)
2007-02-26 10:25 UTC, Loïc Minier
committed Details | Review

Description Stefan Horning 2006-08-17 18:50:33 UTC
What were you doing when the application crashed?
If you delete more then one bookmark (mass selection) at the time it leads to a crash. 


Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.15.91 2006-08-08 (Ubuntu)
BugBuddy Version: 2.15.90

Memory status: size: 185040896 vsize: 0 resident: 185040896 share: 0 rss: 59150336 rss_rlim: 0
CPU usage: start_time: 1155840498 rtime: 0 utime: 1375 stime: 0 cutime:1266 cstime: 0 timeout: 109 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/epiphany'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1228343632 (LWP 13793)]
[New Thread -1354761312 (LWP 13811)]
[New Thread -1310872672 (LWP 13810)]
[New Thread -1319265376 (LWP 13808)]
[New Thread -1327658080 (LWP 13807)]
[New Thread -1344443488 (LWP 13806)]
[New Thread -1336050784 (LWP 13802)]
[New Thread -1293980768 (LWP 13797)]
[New Thread -1253815392 (LWP 13795)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1228343632 (LWP 13793))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libc.so.6
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 gtk_moz_embed_get_title
    from /usr/lib/firefox/libgtkembedmoz.so
  • #4 <signal handler called>
  • #5 ephy_node_get_property_boolean
  • #6 ephy_bookmarks_new
  • #7 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #8 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #12 _gtk_tree_view_find_node
    from /usr/lib/libgtk-x11-2.0.so.0
  • #13 g_cclosure_marshal_VOID__BOXED
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 gtk_tree_model_row_deleted
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 gtk_tree_model_sort_convert_iter_to_child_iter
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 g_cclosure_marshal_VOID__BOXED
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_signal_chain_from_overridden
    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_tree_model_row_deleted
    from /usr/lib/libgtk-x11-2.0.so.0
  • #26 gtk_tree_model_filter_convert_child_iter_to_iter
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 g_cclosure_marshal_VOID__BOXED
    from /usr/lib/libgobject-2.0.so.0
  • #28 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #29 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #30 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #31 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #32 gtk_tree_model_row_deleted
    from /usr/lib/libgtk-x11-2.0.so.0
  • #33 ephy_tree_model_node_new
  • #34 ephy_node_reorder_children
  • #35 g_hash_table_foreach
    from /usr/lib/libglib-2.0.so.0
  • #36 ephy_node_signal_connect_object
  • #37 ephy_node_sort_children
  • #38 g_hash_table_foreach
    from /usr/lib/libglib-2.0.so.0
  • #39 ephy_node_unref
  • #40 ephy_node_view_remove
  • #41 ephy_bookmarks_new
  • #42 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #43 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #44 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #45 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #46 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #47 _gtk_action_emit_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #48 gtk_action_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #49 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #50 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #51 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #52 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #53 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #54 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #55 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #56 gtk_menu_shell_append
    from /usr/lib/libgtk-x11-2.0.so.0
  • #57 gtk_menu_reorder_child
    from /usr/lib/libgtk-x11-2.0.so.0
  • #58 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #59 g_value_set_boxed
    from /usr/lib/libgobject-2.0.so.0
  • #60 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #61 g_signal_chain_from_overridden
    from /usr/lib/libgobject-2.0.so.0
  • #62 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #63 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #64 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #65 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #66 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #67 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #68 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #69 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #70 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #71 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #72 main
  • #0 __kernel_vsyscall

Comment 1 Reinout van Schouwen 2006-08-18 07:05:26 UTC
I have tried to reproduce the problem (mandriva cooker, epiphany 2.15.91) but it worked for me.
Comment 2 Don Scorgie 2006-08-18 11:41:19 UTC
I can confirm the problem here, using Dapper and JHBuild (epipihany 2.15.91)

Generated stack-trace (as it contains a little more information):

The terminal produces the following:
(epiphany:7606): Gtk-CRITICAL **: gtk_tree_model_filter_convert_iter_to_child_iter: assertion `filter_iter->stamp == filter->priv->stamp' failed
as it dies.

The crash happens with 2 or more bookmarks selected, and using the delete button or the menu entry.

Distribution: Ubuntu 6.06 (dapper)
Gnome Release: 2.15.4 2006-07-23 (JHBuild)
BugBuddy Version: 2.15.0

Memory status: size: 126644224 vsize: 0 resident: 126644224 share: 0 rss: 35336192 rss_rlim: 0
CPU usage: start_time: 1155900994 rtime: 0 utime: 252 stime: 0 cutime:228 cstime: 0 timeout: 24 it_real_value: 0 frequency: 0

Backtrace was generated from '/opt/gnome2/bin/epiphany'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1227118912 (LWP 7497)]
[New Thread -1314444368 (LWP 7511)]
[New Thread -1306051664 (LWP 7510)]
[New Thread -1294746704 (LWP 7507)]
[New Thread -1286354000 (LWP 7506)]
[New Thread -1277961296 (LWP 7505)]
[New Thread -1269568592 (LWP 7504)]
[New Thread -1260766288 (LWP 7503)]
[New Thread -1251476560 (LWP 7500)]
[New Thread -1232852048 (LWP 7499)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1227118912 (LWP 7497))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 867
  • #3 nsProfileLock::FatalSignalHandler
    from /opt/gnome2/lib/firefox-2.0b1/libgtkembedmoz.so
  • #4 <signal handler called>
  • #5 ephy_node_get_property_boolean
    at ephy-node.c line 578
  • #6 ephy_bookmarks_editor_update_menu
    at ephy-bookmarks-editor.c line 1368
  • #7 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #8 IA__g_closure_invoke
    at gclosure.c line 490
  • #9 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #10 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #11 IA__g_signal_emit_by_name
    at gsignal.c line 2265
  • #12 gtk_tree_view_row_deleted
    at gtktreeview.c line 8417
  • #13 IA__g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566
  • #14 IA__g_closure_invoke
    at gclosure.c line 490
  • #15 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #16 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #17 IA__g_signal_emit
    at gsignal.c line 2241
  • #18 IA__gtk_tree_model_row_deleted
    at gtktreemodel.c line 1528
  • #19 gtk_tree_model_sort_row_deleted
    at gtktreemodelsort.c line 750

Comment 3 Reinout van Schouwen 2006-08-21 21:34:36 UTC
*** Bug 352309 has been marked as a duplicate of this bug. ***
Comment 4 Diego Escalante Urrelo (not reading bugmail) 2006-08-27 03:20:34 UTC
*** Bug 352152 has been marked as a duplicate of this bug. ***
Comment 5 Diego Escalante Urrelo (not reading bugmail) 2006-08-27 03:21:35 UTC
Yes this happens in 2.15.91 in edgy.
Comment 6 Karsten Bräckelmann 2006-08-28 16:04:18 UTC
*** Bug 353261 has been marked as a duplicate of this bug. ***
Comment 7 Diego Escalante Urrelo (not reading bugmail) 2006-09-04 18:16:11 UTC
*** Bug 354312 has been marked as a duplicate of this bug. ***
Comment 8 Christian Persch 2006-09-07 11:36:40 UTC
*** Bug 354595 has been marked as a duplicate of this bug. ***
Comment 9 Diego Escalante Urrelo (not reading bugmail) 2006-09-08 20:54:06 UTC
*** Bug 355012 has been marked as a duplicate of this bug. ***
Comment 10 Rob Bradford 2006-09-10 15:17:17 UTC
*** Bug 355296 has been marked as a duplicate of this bug. ***
Comment 11 Diego Escalante Urrelo (not reading bugmail) 2006-09-17 04:40:29 UTC
*** Bug 356320 has been marked as a duplicate of this bug. ***
Comment 12 Karsten Bräckelmann 2006-09-17 15:57:04 UTC
*** Bug 356406 has been marked as a duplicate of this bug. ***
Comment 13 Sergej Kotliar 2006-09-17 17:42:37 UTC
*** Bug 356418 has been marked as a duplicate of this bug. ***
Comment 14 Reinout van Schouwen 2006-09-21 15:40:37 UTC
*** Bug 357062 has been marked as a duplicate of this bug. ***
Comment 15 Karsten Bräckelmann 2006-09-27 16:02:42 UTC
*** Bug 357990 has been marked as a duplicate of this bug. ***
Comment 16 Elijah Newren 2006-09-29 01:53:14 UTC
*** Bug 358220 has been marked as a duplicate of this bug. ***
Comment 17 Elijah Newren 2006-09-29 01:53:22 UTC
*** Bug 358222 has been marked as a duplicate of this bug. ***
Comment 18 Karsten Bräckelmann 2006-09-29 21:48:59 UTC
*** Bug 358380 has been marked as a duplicate of this bug. ***
Comment 19 André Klapper 2006-10-05 14:22:16 UTC
Can somebody please help the developers to fix this bug by trying to reproduce
this crash with debugging packages of at least epiphany installed? See
http://live.gnome.org/GettingTraces/DistroSpecificInstructions for more
information. Thanks a lot in advance, your help is appreciated!
Comment 20 Don Scorgie 2006-10-05 14:42:16 UTC
Created attachment 74060 [details]
Stack trace as > 65k chars

Very similar to trace given in comment #2 above but as requested, 1 stacktrace from epiphany 2.16.1 recompiled with debug symbols.  In addition to firefox-dbg, gtk-dbg, glib-gdb etc.

Added as attachment due to 65k limit for comments
Comment 21 André Klapper 2006-10-05 15:13:42 UTC
don, thanks a lot for your efforts!

marking this bug as a Gnome 2.16.x target as we have many duplicates.

chpe, can i ask you to take a look at this as this bites many users? stacktrace with symbols and line numbers attached. thanks in advance!
Comment 22 Karsten Bräckelmann 2006-10-05 17:22:17 UTC
*** Bug 359949 has been marked as a duplicate of this bug. ***
Comment 23 Elijah Newren 2006-10-06 06:24:39 UTC
*** Bug 360082 has been marked as a duplicate of this bug. ***
Comment 24 Elijah Newren 2006-10-08 17:28:16 UTC
*** Bug 360690 has been marked as a duplicate of this bug. ***
Comment 25 Diego Escalante Urrelo (not reading bugmail) 2006-10-09 00:08:29 UTC
Ok, I have been trying to find reasons why this happens.
Some info I have gathered:

1. In lib/widgets/ephy-node-view.c: ephy_node_view_remove() and get_node_from_path() call gtk_tree_model_filter_convert_iter_to_child_iter() giving an already inited GtkTreeIter (documentation says this is not good).
Changing this doesn't solve the problem.

2. History window had a similar problem that was workaround'd in bug #346662.

3. ephy_node_view_remove() calls ephy_node_view_get_selection() to get the selected items and then does:
for (l = list; l; l = l->next)
{
        ephy_node_unref (l->data);
}
BUT!, ephy_node_unref() is called only _once_ no matter how many elements you have selected. I understand/guess that this is wrong and that since it's a for over a list it should go again and again until "l" is NULL.
Instead there's a lot of calls to get_selection() (I see one call for each element selected, I guess that's not ok :/), this buddy calls get_node_from_path().

4. The real crash seems to be in get_node_from_path().


I'm stuck there, I hope someone can give me some ideas to resolve this or, even better, resolve this using this info.
Comment 26 Elijah Newren 2006-10-09 07:12:50 UTC
*** Bug 360840 has been marked as a duplicate of this bug. ***
Comment 27 Karsten Bräckelmann 2006-10-10 17:33:03 UTC
*** Bug 361207 has been marked as a duplicate of this bug. ***
Comment 28 Karsten Bräckelmann 2006-10-12 00:57:11 UTC
*** Bug 361595 has been marked as a duplicate of this bug. ***
Comment 29 Karsten Bräckelmann 2006-10-12 18:51:58 UTC
*** Bug 361775 has been marked as a duplicate of this bug. ***
Comment 30 Baptiste Mille-Mathias 2006-10-15 17:28:00 UTC
*** Bug 362298 has been marked as a duplicate of this bug. ***
Comment 31 Diego Escalante Urrelo (not reading bugmail) 2006-10-15 21:52:21 UTC
*** Bug 362473 has been marked as a duplicate of this bug. ***
Comment 32 Jean-François Rameau 2006-10-16 10:43:15 UTC
*** Bug 362548 has been marked as a duplicate of this bug. ***
Comment 33 Karsten Bräckelmann 2006-10-18 15:13:06 UTC
*** Bug 363159 has been marked as a duplicate of this bug. ***
Comment 34 Karsten Bräckelmann 2006-10-19 09:16:28 UTC
*** Bug 363360 has been marked as a duplicate of this bug. ***
Comment 35 Karsten Bräckelmann 2006-10-19 23:45:17 UTC
*** Bug 363541 has been marked as a duplicate of this bug. ***
Comment 36 Karsten Bräckelmann 2006-10-20 14:38:24 UTC
*** Bug 363676 has been marked as a duplicate of this bug. ***
Comment 37 André Klapper 2006-10-21 15:13:37 UTC
*** Bug 363896 has been marked as a duplicate of this bug. ***
Comment 38 Karsten Bräckelmann 2006-10-23 15:20:26 UTC
*** Bug 364444 has been marked as a duplicate of this bug. ***
Comment 39 Karsten Bräckelmann 2006-10-25 22:15:24 UTC
*** Bug 365127 has been marked as a duplicate of this bug. ***
Comment 40 Reinout van Schouwen 2006-10-26 07:54:44 UTC
*** Bug 365205 has been marked as a duplicate of this bug. ***
Comment 41 Sebastien Bacher 2006-10-26 19:00:55 UTC
Ubuntu bug about that: https://launchpad.net/distros/ubuntu/+source/epiphany-browser/+bug/68420
Comment 42 Karsten Bräckelmann 2006-10-27 16:13:25 UTC
*** Bug 365796 has been marked as a duplicate of this bug. ***
Comment 43 Jean-François Rameau 2006-10-28 17:27:59 UTC
*** Bug 366385 has been marked as a duplicate of this bug. ***
Comment 44 Reinout van Schouwen 2006-10-29 00:17:01 UTC
*** Bug 366571 has been marked as a duplicate of this bug. ***
Comment 45 Reinout van Schouwen 2006-10-29 12:06:17 UTC
*** Bug 366766 has been marked as a duplicate of this bug. ***
Comment 46 Reinout van Schouwen 2006-10-29 15:27:33 UTC
*** Bug 366853 has been marked as a duplicate of this bug. ***
Comment 47 Pavel Šefránek 2006-10-29 15:40:39 UTC
LOL, this bug has a very huge amount of duplicates. Bug buddy really needs some simple dupfinder or at least some "intelligent" users.
Comment 48 jsiltala 2006-10-29 15:58:11 UTC
Pavel,

I produced one of these duplicates. I am reluctant to take the blame though: an
application crashed, a nice bug reporting tool showed up, I used it. If
bug-buddy is broken, then that's another matter. (Feel free to correct me if
there's something I'm missing here.)

Blame issues aside, this really doesn't look good and produces a lot of extra
work for people who might as well be fixing the bug.
Comment 49 Javier F. Serrador 2006-10-29 18:53:44 UTC
*** Bug 364684 has been marked as a duplicate of this bug. ***
Comment 50 Reinout van Schouwen 2006-10-30 15:17:28 UTC
Please refrain from posting comments that do not directly assist in solving the problem. Thank you!
Comment 51 Reinout van Schouwen 2006-11-01 15:43:34 UTC
*** Bug 368892 has been marked as a duplicate of this bug. ***
Comment 52 André Klapper 2006-11-03 01:05:37 UTC
*** Bug 369737 has been marked as a duplicate of this bug. ***
Comment 53 Reinout van Schouwen 2006-11-04 16:04:07 UTC
*** Bug 370531 has been marked as a duplicate of this bug. ***
Comment 54 André Klapper 2006-11-05 17:05:22 UTC
*** Bug 371114 has been marked as a duplicate of this bug. ***
Comment 55 Christian Persch 2006-11-05 17:39:42 UTC
From last duplicate: also happens when renaming from context menu in the bme.
Comment 56 André Klapper 2006-11-06 14:26:09 UTC
*** Bug 371452 has been marked as a duplicate of this bug. ***
Comment 57 Reinout van Schouwen 2006-11-06 16:55:27 UTC
*** Bug 371521 has been marked as a duplicate of this bug. ***
Comment 58 Diego Escalante Urrelo (not reading bugmail) 2006-11-08 02:33:29 UTC
*** Bug 372302 has been marked as a duplicate of this bug. ***
Comment 59 Diego Escalante Urrelo (not reading bugmail) 2006-11-08 05:17:08 UTC
*** Bug 372320 has been marked as a duplicate of this bug. ***
Comment 60 André Klapper 2006-11-09 00:15:26 UTC
*** Bug 372695 has been marked as a duplicate of this bug. ***
Comment 61 Diego Escalante Urrelo (not reading bugmail) 2006-11-09 05:03:14 UTC
*** Bug 372784 has been marked as a duplicate of this bug. ***
Comment 62 Diego Escalante Urrelo (not reading bugmail) 2006-11-12 22:05:34 UTC
*** Bug 374416 has been marked as a duplicate of this bug. ***
Comment 63 Diego Escalante Urrelo (not reading bugmail) 2006-11-14 00:12:23 UTC
*** Bug 374806 has been marked as a duplicate of this bug. ***
Comment 64 Diego Escalante Urrelo (not reading bugmail) 2006-11-14 00:12:33 UTC
*** Bug 374920 has been marked as a duplicate of this bug. ***
Comment 65 Diego Escalante Urrelo (not reading bugmail) 2006-11-14 00:26:06 UTC
*** Bug 374852 has been marked as a duplicate of this bug. ***
Comment 66 Diego Escalante Urrelo (not reading bugmail) 2006-11-14 00:27:08 UTC
bug #374852 produces this exact trace when moving bookmarks massively.
Comment 67 Susana 2006-11-14 09:51:40 UTC
*** Bug 374844 has been marked as a duplicate of this bug. ***
Comment 68 Reinout van Schouwen 2006-11-14 16:45:24 UTC
*** Bug 375113 has been marked as a duplicate of this bug. ***
Comment 69 Diego Escalante Urrelo (not reading bugmail) 2006-11-14 22:49:57 UTC
Created attachment 76604 [details] [review]
Sadly not a fix

A diff of some changes I made to try to debug the problem, I thought it might be useful. Sadly it's not a fix. :(
Comment 70 Diego Escalante Urrelo (not reading bugmail) 2006-11-17 08:44:00 UTC
*** Bug 376033 has been marked as a duplicate of this bug. ***
Comment 71 Reinout van Schouwen 2006-11-24 15:05:30 UTC
*** Bug 378653 has been marked as a duplicate of this bug. ***
Comment 72 Jean-François Rameau 2006-11-27 19:57:31 UTC
*** Bug 379598 has been marked as a duplicate of this bug. ***
Comment 73 Jean-François Rameau 2006-11-27 20:02:03 UTC
*** Bug 379701 has been marked as a duplicate of this bug. ***
Comment 74 Bruno Boaventura 2006-11-28 22:03:25 UTC
*** Bug 380135 has been marked as a duplicate of this bug. ***
Comment 75 Diego Escalante Urrelo (not reading bugmail) 2006-12-01 06:46:57 UTC
*** Bug 381168 has been marked as a duplicate of this bug. ***
Comment 76 Bruno Boaventura 2006-12-02 14:01:21 UTC
*** Bug 381573 has been marked as a duplicate of this bug. ***
Comment 77 Bruno Boaventura 2006-12-03 12:19:48 UTC
*** Bug 381853 has been marked as a duplicate of this bug. ***
Comment 78 Diego Escalante Urrelo (not reading bugmail) 2006-12-05 01:59:25 UTC
*** Bug 382439 has been marked as a duplicate of this bug. ***
Comment 79 Diego Escalante Urrelo (not reading bugmail) 2006-12-06 07:18:06 UTC
*** Bug 382910 has been marked as a duplicate of this bug. ***
Comment 80 Christian Kirbach 2006-12-06 14:37:53 UTC
*** Bug 383005 has been marked as a duplicate of this bug. ***
Comment 81 Bruno Boaventura 2006-12-07 21:05:33 UTC
*** Bug 383412 has been marked as a duplicate of this bug. ***
Comment 82 Reinout van Schouwen 2006-12-09 23:23:36 UTC
*** Bug 384128 has been marked as a duplicate of this bug. ***
Comment 83 Reinout van Schouwen 2006-12-14 10:09:40 UTC
*** Bug 385232 has been marked as a duplicate of this bug. ***
Comment 84 Jean-François Rameau 2006-12-23 08:52:35 UTC
*** Bug 388849 has been marked as a duplicate of this bug. ***
Comment 85 Diego Escalante Urrelo (not reading bugmail) 2006-12-24 19:54:11 UTC
*** Bug 389275 has been marked as a duplicate of this bug. ***
Comment 86 Jens Granseuer 2006-12-29 16:35:19 UTC
*** Bug 390653 has been marked as a duplicate of this bug. ***
Comment 87 Diego Escalante Urrelo (not reading bugmail) 2006-12-30 08:39:06 UTC
*** Bug 390908 has been marked as a duplicate of this bug. ***
Comment 88 Diego Escalante Urrelo (not reading bugmail) 2006-12-30 13:12:06 UTC
*** Bug 390962 has been marked as a duplicate of this bug. ***
Comment 89 Diego Escalante Urrelo (not reading bugmail) 2007-01-01 18:13:32 UTC
*** Bug 391567 has been marked as a duplicate of this bug. ***
Comment 90 Christian Kirbach 2007-01-04 16:08:40 UTC
*** Bug 392778 has been marked as a duplicate of this bug. ***
Comment 91 Diego Escalante Urrelo (not reading bugmail) 2007-01-05 01:16:32 UTC
*** Bug 392968 has been marked as a duplicate of this bug. ***
Comment 92 Reinout van Schouwen 2007-01-07 19:42:56 UTC
*** Bug 393988 has been marked as a duplicate of this bug. ***
Comment 93 Diego Escalante Urrelo (not reading bugmail) 2007-01-08 11:08:58 UTC
Created attachment 79733 [details] [review]
Workarounds/Fixes the problem (seriously!)

Well, I decided to not let me tackle by this bug.

The problem arises when (according to what I believe) the following takes place in lib/widgets/ephy-tree-model-node.c:
static gboolean
ephy_tree_model_node_get_iter (GtkTreeModel *tree_model,
                               GtkTreeIter *iter,
                               GtkTreePath *path)
{
        EphyTreeModelNode *model = EPHY_TREE_MODEL_NODE (tree_model);
        int i;

        g_return_val_if_fail (EPHY_IS_TREE_MODEL_NODE (model), FALSE);
        g_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, FALSE);

        if (model->priv->root == NULL)
                return FALSE;

        i = gtk_tree_path_get_indices (path)[0];

        iter->stamp = model->priv->stamp;
        iter->user_data = ephy_node_get_nth_child (model->priv->root, i);

        if (iter->user_data == NULL)
        {
                iter->stamp = 0;
                return FALSE;
        }

        return TRUE;
}

stamp is set to 0 (making the GtkTreeIter invalid) if there's no user_data set. A printing of the iters in get_node_from_path would reveal an output like this:

iter2->stamp: 1253014665; iter3->stamp: -1224161903; iter->stamp: -1047029049;
iter2->stamp: 1253014666; iter3->stamp: -1224161903; iter->stamp: -1047029049;
iter2->stamp: 0; iter3->stamp: -1224161903; iter->stamp: -1047029049;
saliendo con NULL
<practical spanish on dvd>"saliendo con" means "goint out with"</practical spanish on dvd>

Being iter2 the faulty one:
gtk_tree_model_sort_convert_iter_to_child_iter
                (GTK_TREE_MODEL_SORT (view->priv->sortmodel), &iter2, &iter);

So, if you check for the iter2 stamp:

if (iter2.stamp == 0)

You can now if it was marked as invalid on purpose, thus saving yourself from using an empty iter->user_data.

With the attached patch the crash no longer occurs but you get a warning on ephy_bookmarks_editor_update_menu about node being NULL. I changed the g_return_if_fail just for testing.

Conclusion:
1. You can use a modified version of this patch (without the comments and maybe with some little correction) to avoid this bug totally.
2. You could use the patch to find out what the hell happens when user_data is set to NULL and thus the stamp is "tainted".

BTW: I don't get the idea of -> and ., I will investigate! Muahaha! thou shall not beat me C! ~

/me dances the "I fixed (or at least workaround'd) THE bug" dance.
\o> <o/ \o/ \o~ ~o/
Comment 94 Christian Persch 2007-01-08 22:12:45 UTC
Many thanks for the patch!

So even if this only a workaround, let's use it, I'm tired of all those dups :)

Can you produce a patch that removes all the g_print:s and only keeps the minimally needed changes?

Then commit that one to HEAD please, wait a few days for regressions and then commit to gnome-2-16 too.
Comment 95 Diego Escalante Urrelo (not reading bugmail) 2007-01-08 22:53:59 UTC
Committed to trunk.
Comment 96 Reinout van Schouwen 2007-01-10 09:07:23 UTC
*** Bug 394717 has been marked as a duplicate of this bug. ***
Comment 97 Diego Escalante Urrelo (not reading bugmail) 2007-01-10 15:37:16 UTC
*** Bug 395011 has been marked as a duplicate of this bug. ***
Comment 98 Diego Escalante Urrelo (not reading bugmail) 2007-01-11 03:01:02 UTC
*** Bug 395258 has been marked as a duplicate of this bug. ***
Comment 99 Reinout van Schouwen 2007-01-11 16:24:13 UTC
*** Bug 395401 has been marked as a duplicate of this bug. ***
Comment 100 Reinout van Schouwen 2007-01-13 20:48:10 UTC
*** Bug 395981 has been marked as a duplicate of this bug. ***
Comment 101 André Klapper 2007-01-15 09:43:45 UTC
Any Ubuntu Feisty Users in here that have installed the latest updates (means: GNOME 2.17.5) and could report whether they can still reproduce this crash?

Thanks in advance for helping!
Comment 102 Michael Van Dorpe 2007-01-15 20:03:19 UTC
With a fresh feisty install, gnome 2.17.5, using an old home partition, I had no problems deleting several epiphany 2.17.5 bookmarks at the same time, either  with the delete key, the right click menu, or the "delete" option from the main menu.

The terminal did not show any errors either. It looks like this bug is solved, right?

Linux ubuntu 2.6.20-5-generic #2 SMP Sat Jan 6 14:50:47 UTC 2007 i686 GNU/Linux
Comment 103 Diego Escalante Urrelo (not reading bugmail) 2007-01-17 04:27:29 UTC
Thanks Michael, I think that it's safe to apply it to 2.16.
However I'm not sure if this can be considered a fix or just a workaround.

What do you think chpe?
Comment 104 Christian Persch 2007-01-17 14:20:54 UTC
Please commit to gnome-2-16 and resolve this as FIXED. Thanks again for the patch!
Comment 105 Diego Escalante Urrelo (not reading bugmail) 2007-01-17 23:57:45 UTC
Committed as revision 6827.
Closing the bug :).
Comment 106 Reinout van Schouwen 2007-01-18 16:49:47 UTC
*** Bug 398056 has been marked as a duplicate of this bug. ***
Comment 107 Reinout van Schouwen 2007-01-19 22:24:39 UTC
*** Bug 398543 has been marked as a duplicate of this bug. ***
Comment 108 Reinout van Schouwen 2007-01-23 16:33:13 UTC
*** Bug 399820 has been marked as a duplicate of this bug. ***
Comment 109 Diego Escalante Urrelo (not reading bugmail) 2007-01-23 22:26:36 UTC
*** Bug 399977 has been marked as a duplicate of this bug. ***
Comment 110 Reinout van Schouwen 2007-01-25 15:37:42 UTC
*** Bug 400615 has been marked as a duplicate of this bug. ***
Comment 111 palfrey 2007-01-28 12:05:04 UTC
*** Bug 401607 has been marked as a duplicate of this bug. ***
Comment 112 Kristian Rietveld 2007-01-28 20:33:49 UTC
Created attachment 81392 [details] [review]
gtk+ patch

This patch against gtk+ trunk (should apply cleanly to gtk-2-10) makes the asserts go away for me with the workaround in this bug and in #346662 reverted.  Some testing might be nice ;)
Comment 113 Reinout van Schouwen 2007-01-30 08:23:11 UTC
*** Bug 402254 has been marked as a duplicate of this bug. ***
Comment 114 Reinout van Schouwen 2007-01-30 08:26:05 UTC
*** Bug 402295 has been marked as a duplicate of this bug. ***
Comment 115 Christian Persch 2007-01-31 13:16:04 UTC
Kris: should we move this bug to gtk+ (or create a clone), so it doesn't get lost?
Comment 116 Kristian Rietveld 2007-01-31 13:21:11 UTC
I will move it over.  Could you also verify whether the gtk+ fix works for you?
Comment 117 Christian Persch 2007-01-31 13:52:00 UTC
I was unable to reproduce the bug with the patch applied. (However I couldn't consistently reproduce it even without the patch, so further confirmation would be good.)
Comment 118 Reinout van Schouwen 2007-02-01 21:45:33 UTC
*** Bug 403350 has been marked as a duplicate of this bug. ***
Comment 119 André Klapper 2007-02-19 11:31:15 UTC
no dups for 17 days, seems to be fixed (and updated).
removing gnome target milestone and blocker state.
Comment 120 André Klapper 2007-02-24 20:57:45 UTC
*cough* well, no dups because this was added to the auto-reject list.
  +21 dups so far.
Comment 121 Reinout van Schouwen 2007-02-26 09:34:34 UTC
Andre: so shouldn't the status change you made be reverted to blocker?
Comment 122 Loïc Minier 2007-02-26 10:19:18 UTC
Created attachment 83376 [details] [review]
Workaround committed to trunk
Comment 123 Loïc Minier 2007-02-26 10:25:35 UTC
Created attachment 83377 [details] [review]
GNOME 2.14 backport
Comment 124 Christian Persch 2007-02-26 12:18:26 UTC
Loïc: feel free to commit that to epiphany's gnome-2-14 branch, if you want.
Comment 125 Reinout van Schouwen 2007-03-12 22:37:38 UTC
*** Bug 417657 has been marked as a duplicate of this bug. ***
Comment 126 Loïc Minier 2007-03-16 11:01:11 UTC
(In reply to comment #124)
> Loïc: feel free to commit that to epiphany's gnome-2-14 branch, if you want.

Committed in gnome-2-14 as r6970.

2007-01-08  Diego Escalante Urrelo <diegoe@svn.gnome.org>

        * src/bookmarks/ephy-bookmarks-editor.c:
        * lib/widgets/ephy-node-view.c:

        Workaround/semi-fix for bug #351814. The real cause of the problem is
        the user_data that is never set on a GtkTreeIter, so the Ephy
        implementation of the tree makes it to have a stamp of 0 being that
        way an invalid iter. Patch by Diego Escalante Urrelo.
Comment 127 Reinout van Schouwen 2007-03-25 16:45:19 UTC
*** Bug 422586 has been marked as a duplicate of this bug. ***
Comment 128 Pedro Villavicencio 2007-03-31 01:35:25 UTC
*** Bug 424669 has been marked as a duplicate of this bug. ***
Comment 129 Reinout van Schouwen 2007-04-02 07:55:16 UTC
*** Bug 425282 has been marked as a duplicate of this bug. ***
Comment 130 Jonathon Jongsma 2007-04-29 17:19:30 UTC
*** Bug 434338 has been marked as a duplicate of this bug. ***
Comment 131 André Klapper 2007-05-08 16:45:41 UTC
46 rejected dup reports so far.

can this bug be closed now?
Comment 132 Christian Persch 2007-05-08 17:31:09 UTC
Comment on attachment 81392 [details] [review]
gtk+ patch

Kris, was this gtk+ patch committed?
Comment 133 Kristian Rietveld 2007-05-08 18:28:00 UTC
No, please leave the bug open.
Comment 134 Diego Escalante Urrelo (not reading bugmail) 2007-08-20 12:20:18 UTC
About the workaround used in Epiphany, Rob Bradford commented this on a similar fix on o-hand's bugzilla:

Yo.

The correct fix is to check the return value of gtk_combo_box_get_active_iter
(...) it returns a gboolean if the iter has been set. Failure to check this
means that the iter can be invalid. Which is what was giving this crash.

This is a much nicer solution than checking the stamp and so i'd recommend
fixing Epiphany in a similar way.

Cheerio.

And we are actually not doing that:

Index: lib/widgets/ephy-node-view.c
===================================================================
--- lib/widgets/ephy-node-view.c (révision 6795)
+++ lib/widgets/ephy-node-view.c (révision 6796)
@@ -160,16 +160,21 @@ static EphyNode *
 get_node_from_path (EphyNodeView *view, GtkTreePath *path)
 {
 	EphyNode *node;
-	GtkTreeIter iter, iter2;
+	GtkTreeIter iter, iter2, iter3;
 
 	if (path == NULL) return NULL;
 
 	gtk_tree_model_get_iter (view->priv->sortmodel, &iter, path);

chpe?
Comment 135 Christian Persch 2007-08-20 21:43:04 UTC
Not sure what exactly you're proposing; could you attach the patch?
Comment 136 Diego Escalante Urrelo (not reading bugmail) 2007-08-20 22:42:07 UTC
It's just:

 get_node_from_path (EphyNodeView *view, GtkTreePath *path)
 {

(...)

gboolean ret;

(...)

ret = gtk_tree_model_get_iter (view->priv->sortmodel, &iter, path);

if (ret == FALSE)
  return NULL


(...)
Comment 137 André Klapper 2007-11-30 01:09:37 UTC
removing from auto-reject list
Comment 138 Reinout van Schouwen 2008-07-14 22:47:26 UTC
There have been no more duplicates since it was removed from the auto-reject list. Is this still a problem?
Comment 139 Matthew A. R. Sherian 2008-07-17 18:56:17 UTC
I just tried it under 2.22.2 and had no trouble deleting an entire category or a multiple selection of bookmarks.
Comment 140 Kristian Rietveld 2011-05-22 15:48:08 UTC
(In reply to comment #112)
> Created an attachment (id=81392) [details] [review]
> gtk+ patch
> 
> This patch against gtk+ trunk (should apply cleanly to gtk-2-10) makes the
> asserts go away for me with the workaround in this bug and in #346662 reverted.
>  Some testing might be nice ;)


I just spent a couple of days fixing up GtkTreeModelFilter's row-deleted handling.  I can now say for sure that this patch is clearly broken, so it's good that I never committed this.

Unfortunately, I can no longer recall the exact causes of this bug...  I do get the impression that maybe the problems arose because the code was trying to access already invalid nodes. I will close the bug for now, if any problem shows up in the future we will take it from there.
Comment 141 Kristian Rietveld 2011-05-22 15:48:15 UTC
(In reply to comment #112)
> Created an attachment (id=81392) [details] [review]
> gtk+ patch
> 
> This patch against gtk+ trunk (should apply cleanly to gtk-2-10) makes the
> asserts go away for me with the workaround in this bug and in #346662 reverted.
>  Some testing might be nice ;)


I just spent a couple of days fixing up GtkTreeModelFilter's row-deleted handling.  I can now say for sure that this patch is clearly broken, so it's good that I never committed this.

Unfortunately, I can no longer recall the exact causes of this bug...  I do get the impression that maybe the problems arose because the code was trying to access already invalid nodes. I will close the bug for now, if any problem shows up in the future we will take it from there.
Comment 142 Kristian Rietveld 2011-05-22 15:48:18 UTC
(In reply to comment #112)
> Created an attachment (id=81392) [details] [review]
> gtk+ patch
> 
> This patch against gtk+ trunk (should apply cleanly to gtk-2-10) makes the
> asserts go away for me with the workaround in this bug and in #346662 reverted.
>  Some testing might be nice ;)


I just spent a couple of days fixing up GtkTreeModelFilter's row-deleted handling.  I can now say for sure that this patch is clearly broken, so it's good that I never committed this.

Unfortunately, I can no longer recall the exact causes of this bug...  I do get the impression that maybe the problems arose because the code was trying to access already invalid nodes. I will close the bug for now, if any problem shows up in the future we will take it from there.