[Thunar-dev] Experimental Thunar Trash tarball

Björn Martensen bjoern.martensen at gmail.com
Thu Jul 27 23:31:32 CEST 2006

Benedikt Meurer wrote:
> Björn Martensen wrote:
>>>>> Besides that I'm unable to make Thunar crash with the tree pane, even on
>>>>> Linux. Can you describe the exact steps to make it crash?
>>>> I just chose sidepane -> tree and expand a tree. at that moment thunar
>>>> crashes. when I restart thunar after the crash, it crashes instantly and
>>>> I have to set the sidepane mode to shortcuts or disable it in thunarrc
>>>> to get thunar to start normally again.
>>> Uhm, no, the backtrace tells that the tree pane is being destroyed,
>>> which is hardly the case when expanding a tree node. BTW: Do you run the
>>> latest SVN?
>> Argh! After applying the patch I pasted in a mail just minutes ago,
>> Thunar now crashes when I delete a folder while using the tree sidepane :(
> Patch?

The one from the gnome bugzilla.

Comment #2 from Chris Wilson    (points: 9)
2006-07-27 20:45 UTC [reply]

Indeed, plenty of valgrind errors to look at first. In particular, I'd
==5934== Invalid read of size 4
==5934==    at 0x80AF283: thunar_tree_model_unref_node
==5934==    by 0x4294919: gtk_tree_model_unref_node (gtktreemodel.c:1363)
==5934==    by 0x4297424: gtk_tree_model_filter_real_unref_node
==5934==    by 0x42974CC: gtk_tree_model_filter_free_level
==5934==    by 0x429ACA8: gtk_tree_model_filter_row_deleted
==5934==    by 0x4490E38: g_cclosure_marshal_VOID__BOXED (gmarshal.c:566)
==5934==    by 0x4483FFA: g_closure_invoke (gclosure.c:490)
==5934==    by 0x4494822: signal_emit_unlocked_R (gsignal.c:2438)
==5934==    by 0x4495D46: g_signal_emit_valist (gsignal.c:2197)
==5934==    by 0x4495F08: g_signal_emit (gsignal.c:2241)
==5934==    by 0x4294634: gtk_tree_model_row_deleted (gtktreemodel.c:1528)
==5934==    by 0x80B10E6: thunar_tree_model_item_notify_loading
==5934==  Address 0x50A6190 is 0 bytes inside a block of size 20 free'd
==5934==    at 0x4004FEA: free (vg_replace_malloc.c:233)
==5934==    by 0x44E62C0: g_free (gmem.c:187)
==5934==    by 0x44F5D25: g_slice_free1 (gslice.c:829)
==5934==    by 0x44E96F0: g_nodes_free (gnode.c:62)
==5934==    by 0x80B10C4: thunar_tree_model_item_notify_loading
==5934==    by 0x4490EE8: g_cclosure_marshal_VOID__PARAM (gmarshal.c:531)
==5934==    by 0x4483FFA: g_closure_invoke (gclosure.c:490)
==5934==    by 0x4494822: signal_emit_unlocked_R (gsignal.c:2438)
==5934==    by 0x4495D46: g_signal_emit_valist (gsignal.c:2197)
==5934==    by 0x4495F08: g_signal_emit (gsignal.c:2241)
==5934==    by 0x44887B0: g_object_dispatch_properties_changed
==5934==    by 0x4484DBE: g_object_notify_dispatcher (gobject.c:249)

stemming from this bug:
--- thunar/,thunar-tree-model.c 2006-07-27 21:40:22.000000000 +0100
+++ thunar/thunar-tree-model.c  2006-07-27 21:39:27.000000000 +0100
@@ -1483,15 +1483,15 @@
       path = gtk_tree_model_get_path (GTK_TREE_MODEL (model), &iter);
       if (G_LIKELY (path != NULL))
-          /* drop the dummy from the model */
-          g_node_destroy (iter.user_data);
           /* notify the view */
           gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path);

           /* release the path */
           gtk_tree_path_free (path);

+          /* drop the dummy from the model */
+          g_node_destroy (iter.user_data);
           /* determine the iter to the parent node */
           iter.stamp = model->stamp;
           iter.user_data = node;

Maybe the mail wasn't sent correctly as I replied to my own mail..
However, this fixes the crashes with the tree (expanding/collapsing) but
 as I said, removing of folders while using the tree sidepane now
crashes thunar. With the shortcuts, everything works fine.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://mail.xfce.org/pipermail/thunar-dev/attachments/20060727/e40661a4/attachment.pgp>

More information about the Thunar-dev mailing list