Thunar tree view behaves very strangely

Bug #68711 reported by Jan Rathmann
4
Affects Status Importance Assigned to Milestone
Thunar File Manager
Fix Released
Unknown
thunar (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: thunar

I have noticed a rather annoying bug in Thunar when the tree view is used for the left pane. If I do the following:

- Change into a random directory, which contains subdirectories (e.g. directory x).
- In the tree view click on the arrow left of the symbol of directory x (uncollapses its subdirectories).
- Now delete or move a file in directory x (can be an empty file).
- Now the tree view looks very weird (the following screenshots show it before and after deleting a file).

http://img268.imageshack.us/img268/199/thunarerror1tm7.png
http://img268.imageshack.us/img268/281/thunarerror2ud1.png

- The right look of the tree view can be brought back by collapsing directory x or a directory above directory x in the tree view.

When I start Thunar as root (only way to get a console output), messages likes this appear when I delete a file as described above:

---------------------------------------------------------------------------------------

(thunar:25922): Gtk-CRITICAL **: file gtktreeview.c: line 6054 (do_validate_rows): assertion `gtk_tree_model_iter_next (tree_view->priv->model, &iter)' failed.
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel. This generally means that the model has changed
without letting the view know. Any display from now on is likely to
be incorrect.

(thunar:25922): Gtk-CRITICAL **: file gtktreeview.c: line 6054 (do_validate_rows): assertion `gtk_tree_model_iter_next (tree_view->priv->model, &iter)' failed.
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel. This generally means that the model has changed
without letting the view know. Any display from now on is likely to
be incorrect.

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: _gtk_rbtree_reorder: assertion `tree->root->count == length' failed

(thunar:25922): Gtk-CRITICAL **: file gtktreeview.c: line 6054 (do_validate_rows): assertion `gtk_tree_model_iter_next (tree_view->priv->model, &iter)' failed.
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel. This generally means that the model has changed
without letting the view know. Any display from now on is likely to
be incorrect.

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_iter_next: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): Gtk-CRITICAL **: file gtktreeview.c: line 6054 (do_validate_rows): assertion `gtk_tree_model_iter_next (tree_view->priv->model, &iter)' failed.
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel. This generally means that the model has changed
without letting the view know. Any display from now on is likely to
be incorrect.

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_get_value: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_object_set_property: assertion `G_IS_VALUE (value)' failed

(thunar:25922): GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)' failed

(thunar:25922): Gtk-CRITICAL **: gtk_tree_model_filter_iter_next: assertion `GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' failed

(thunar:25922): Gtk-CRITICAL **: file gtktreeview.c: line 6054 (do_validate_rows): assertion `gtk_tree_model_iter_next (tree_view->priv->model, &iter)' failed.
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel. This generally means that the model has changed
without letting the view know. Any display from now on is likely to
be incorrect.

-------------------------------------------------------------------------------------

This happens on my AMD64-installation of Edgy and I can reproduce it also with the Xubuntu 6.10-Live-CD. I also compiled manually older and current versions of Thunar from the svn repository on Edgy, all show the same behaviour.
On Dapper, which I used before, this bug seems to be definately not present (likewise with current and older versions of Thunar), so I am not sure if the cause for this problem lies somewhere in the source code of Thunar itself and I would maybe suppose instead that this could be some weird interaction between Thunar and certain versions of other software, but I have absolutely no deeper knowledge.

Kind regards,
Jan

Revision history for this message
Luzius Thöny (lucius-antonius) wrote :

I can confirm this. I've seen it for a while on edgy.

Changed in thunar:
status: Unknown → Confirmed
Changed in thunar:
status: Confirmed → Fix Released
Revision history for this message
Cody A.W. Somerville (cody-somerville) wrote :

Fixed with revision 23625.

2006-11-04 Benedikt Meurer <email address hidden>

        * thunar/thunar-tree-model.c(thunar_tree_model_item_files_removed):
          The "row-has-child-toggled" signal must not be emitted if the
          children of the row did not change, otherwise newer GtkTreeView's
          will loose sync with the model and probably crash. Bug #2372.

Changed in thunar:
status: Unconfirmed → Confirmed
Revision history for this message
Cody A.W. Somerville (cody-somerville) wrote :

I just thought I'd note that this fix has been released in Xfce4 RC2.

Revision history for this message
Jani Monoses (jani) wrote :

thanks, I am following upstream commit and devel lists :)

Revision history for this message
Gauvain Pocentek (gpocentek) wrote :

The fix has been uploaded in feisty.
Thanks for the report.

Changed in thunar:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.