Trying to delete an item from the desktop makes xfdesktop segfault, when compiled with thunar-vfs support. Running in GDB catches the segfault long enough to see the Xfdesktop popped up a "Question" window of somekind. BT follows #0 0xb794ab64 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #1 0xb78d699f in g_list_foreach () from /usr/lib/libglib-2.0.so.0 #2 0x080660d5 in xfdesktop_file_icon_menu_deactivate_idled ( user_data=0xb7970640) at xfdesktop-file-icon-manager.c:1398 #3 0xb78dbc03 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0 #4 0xb78d8c02 in g_main_depth () from /usr/lib/libglib-2.0.so.0 #5 0xb78d9c78 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #6 0xb78d9fb0 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #7 0xb78da553 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #8 0xb7b4d0f6 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0 #9 0xb7f8701f in xfce_message_dialog (parent=0x80c15b8, title=0x806cbf7 "Question", icon_id=0x806cba5 "gtk-dialog-question", primary_text=0x817aa68 "Are you sure that you want to delete \"firefox\"?", secondary_text=0x806d1e0 "If you delete a file, it is permanently lost.", first_button_type=0x806cb86 "gtk-cancel") at dialogs.c:688 #10 0x080637f8 in xfdesktop_file_icon_manager_delete_selected ( fmanager=0x806d220) at xfdesktop-file-icon-manager.c:490 #11 0xb7957966 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #12 0xb7945cb6 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #13 0xb795748f in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #14 0xb795655c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #15 0xb79567e6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #16 0xb7cb6a77 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #17 0xb7bd6192 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #18 0xb7bd5725 in gtk_menu_shell_deactivate () from /usr/lib/libgtk-x11-2.0.so.0 #19 0xb7bce426 in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0 #20 0xb7bc70ce in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0 #21 0xb7945f49 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #22 0xb7945cb6 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #23 0xb7956f15 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #24 0xb795633a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #25 0xb79567e6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #26 0xb7cb68a7 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0 #27 0xb7bc5be2 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #28 0xb7bc4a36 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #29 0xb7a6f085 in gdk_x11_register_standard_event_type () from /usr/lib/libgdk-x11-2.0.so.0 #30 0xb78d8c02 in g_main_depth () from /usr/lib/libglib-2.0.so.0 #31 0xb78d9c78 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #32 0xb78d9fb0 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #33 0xb78da553 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #34 0xb7bc42e3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #35 0x08053e30 in main (argc=1, argv=0xbfadaa74) at main.c:357
I can't reproduce this, and I can't see any reason why it would crash there. Are you still seeing this problem? Does it occur whenever you delete any file, or is it random? What SVN revision? Please make sure you can reproduce this with current SVN.
Still occurs with SVN rev 20869 of exo, thunar, and xfdesktop. BT remains the same
I'm still not able to reproduce it at all. Here's a random idea that really just involves shooting in the dark: Index: xfdesktop-file-icon-manager.c =================================================================== --- xfdesktop-file-icon-manager.c (revision 20840) +++ xfdesktop-file-icon-manager.c (working copy) @@ -1818,8 +1818,10 @@ xfdesktop_file_icon_menu_deactivate_idled); /* make sure icons don't get destroyed while menu is open */ - g_list_foreach(selected, (GFunc)g_object_ref, NULL); - g_object_set_data(G_OBJECT(menu), "--xfdesktop-icon-list", selected); + if(selected && selected->data) { + g_list_foreach(selected, (GFunc)g_object_ref, NULL); + g_object_set_data(G_OBJECT(menu), "--xfdesktop-icon-list", selected); + } if(multi_sel) { img = gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); Let me know if this patch fixes it, apply to current SVN. Though if it does, I'm gonna kinda be pissed, because it shouldn't fix it. Is it 100% reproducible? Does it happen with any file, or just that particular one?
Well, you'll be glad to here that the patch doesn't fix the issue. I suppose. 100% reproducable, any file.
Ok, so we have a possible link to gtk 2.6. What's the specific gtk and glib versions you're using?
Both Nikolas and I are running 2.6.10 of both. Honestly, Brian, the only thing I need to update gtk/glib is a couple of minutes to start the compile. I can upgrade gtk+ and see if the problem goes away
Awesome - could you give it a try?
Done. Problem resolved with Gtk+ 2.8.17
That's pretty weird. 2.6.10 is the final version in the 2.6.x series, so, while it's possible it is indeed a bug in gtk, there isn't an easy upgrade path for people who are on distros 'stuck' on 2.6.x right now. I'll leave this open for now; I want to try to reproduce this myself, but I don't have the energy to set up a 2.6.x environment right now.
OK, this is a long shot, but could it have been related to bug #1701? Could you update thunar and xfdesktop to current SVN and see if it's still there?
gonna close this to get it off my list....
and here is another one where I avoid the thunar warning by starting thunar (I hardly ever use file managers): Gtk-CRITICAL **: gtk_style_finalize: assertion `style->attach_count == 0' failedaborting... Program received signal SIGABRT, Aborted. [Switching to Thread -1219258688 (LWP 24725)] 0xffffe410 in __kernel_vsyscall () (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb76699a1 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb766b2b9 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb77ae006 in g_logv () from /usr/lib/libglib-2.0.so.0 #4 0xb77ae03a in g_log () from /usr/lib/libglib-2.0.so.0 #5 0xb77ae10a in g_return_if_fail_warning () from /usr/lib/libglib-2.0.so.0 #6 0xb7ca0844 in _gtk_style_init_for_settings () from /usr/lib/libgtk-x11-2.0.so.0 #7 0xb7869f48 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #8 0xb7d37a05 in gtk_widget_set_usize () from /usr/lib/libgtk-x11-2.0.so.0 #9 0xb7d37bfb in gtk_widget_set_usize () from /usr/lib/libgtk-x11-2.0.so.0 #10 0xb7b8a8ab in gtk_bin_get_type () from /usr/lib/libgtk-x11-2.0.so.0 #11 0xb7bc6c36 in gtk_container_forall () from /usr/lib/libgtk-x11-2.0.so.0 #12 0xb7d37bed in gtk_widget_set_usize () from /usr/lib/libgtk-x11-2.0.so.0 #13 0xb7d37c46 in gtk_widget_reset_rc_styles () from /usr/lib/libgtk-x11-2.0.so.0 #14 0xb7c86223 in gtk_rc_style_unref () from /usr/lib/libgtk-x11-2.0.so.0 #15 0xb7c1f890 in gtk_icon_theme_new () from /usr/lib/libgtk-x11-2.0.so.0 #16 0xb77a7bf2 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0 #17 0xb77a58d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #18 0xb77a8996 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #19 0xb77a8cb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #20 0xb7c4e765 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #21 0x08055819 in main (argc=1, argv=0xbfc23354) at main.c:394
sorry! the last update is in wrong bug. ignore, please.