xfdesktop issues several critical warnings at runtime 1) At startup with either launcher or minimized app icon views, the following critical warning shows: (xfdesktop:1174): Gtk-CRITICAL **: gtk_style_detach: assertion `style->attach_count > 0' failed 2) With minimized app icons, double clicking on an icon issues the two following critical warnings: ** (xfdesktop:1148): CRITICAL **: xfdesktop_icon_get_position: assertion `XFDESK TOP_IS_ICON(icon)' failed ** (xfdesktop:1148): CRITICAL **: xfdesktop_icon_view_paint_icon: assertion `xfd esktop_icon_get_position(icon, &row, &col)' failed I believe this warnings should be fixed in the final release.
I don't see these...
I get only the first (xfdesktop:4484): Gtk-CRITICAL **: gtk_style_finalize: assertion `style->attach_ count == 0' failed
Well, wuite frankly, I do not think we should have such warnings in a final dot zero release. I'm not quite sure about the "low" priority, as I think it might denote other problems.
Well, I can't reproduce it, and I have more important things to do, so from my perspective, it's low priority. If someone else wants to track it down and fix it, feel free...
Fixed with patch attached to #2271 - I suspect it might be related.
Not sure how your bug 2271 patch could fix the warnings in your (2). Window icon code is completely unrelated.
Yeah, that's true. My patch fixes the warnings I was seeing on the system at the time, which are not the same as the one mentioned in this bug report... Oh, well.
Does your patch actually fix warnings, or is it unrelated? Cuz it's really frustrating if it does, because I don't see how it would change anything :-(
I installed the patch and I still get (xfdesktop:10236): Gtk-CRITICAL **: gtk_style_finalize: assertion `style->attach_count == 0' failed when I start xfdesktop (and I still get (xfdesktop:10236): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GObject' (xfdesktop:10236): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (xfdesktop:10236): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed after I press F5 = refresh and after the second F5 xfdesktop crashed.)
Can either (or both) of you try setting the env var G_DEBUG=fatal_criticals, then run xfdesktop in gdb and get a backtrace? It should abort on the critical message...
aborted, yes. Here is my bt: [Thread debugging using libthread_db enabled] [New Thread -1218439488 (LWP 24387)] [New Thread -1220027472 (LWP 24403)] [Thread -1220027472 (LWP 24403) exited] Gtk-CRITICAL **: gtk_style_finalize: assertion `style->attach_count == 0' failedaborting... Program received signal SIGABRT, Aborted. [Switching to Thread -1218439488 (LWP 24387)] 0xffffe410 in __kernel_vsyscall () (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb77319a1 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb77332b9 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7876006 in g_logv () from /usr/lib/libglib-2.0.so.0 #4 0xb787603a in g_log () from /usr/lib/libglib-2.0.so.0 #5 0xb787610a in g_return_if_fail_warning () from /usr/lib/libglib-2.0.so.0 #6 0xb7d68844 in _gtk_style_init_for_settings () from /usr/lib/libgtk-x11-2.0.so.0 #7 0xb7931f48 in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #8 0xb7ce3f9d in gtk_icon_source_get_size () from /usr/lib/libgtk-x11-2.0.so.0 #9 0xb7ce40e6 in gtk_icon_source_get_size () from /usr/lib/libgtk-x11-2.0.so.0 #10 0xb7ce4129 in gtk_icon_source_get_size () from /usr/lib/libgtk-x11-2.0.so.0 #11 0xb7ce6635 in gtk_icon_set_render_icon () from /usr/lib/libgtk-x11-2.0.so.0 #12 0xb7e002ec in gtk_widget_render_icon () from /usr/lib/libgtk-x11-2.0.so.0 #13 0xb7cf9590 in gtk_image_get () from /usr/lib/libgtk-x11-2.0.so.0 #14 0xb7cfa0e0 in gtk_image_get () from /usr/lib/libgtk-x11-2.0.so.0 #15 0xb793bc85 in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 #16 0xb792f16f in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #17 0xb792f79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #18 0xb793e5cc in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #19 0xb793fb19 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #20 0xb7943030 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #21 0xb7d6100d in gtk_size_group_remove_widget () from /usr/lib/libgtk-x11-2.0.so.0 #22 0xb7d613a9 in _gtk_size_group_compute_requisition () from /usr/lib/libgtk-x11-2.0.so.0 #23 0xb7df9d18 in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0 #24 0xb7cde27b in gtk_hbox_new () from /usr/lib/libgtk-x11-2.0.so.0 #25 0xb793bc85 in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 #26 0xb792f16f in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #27 0xb792f79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #28 0xb793e5cc in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #29 0xb793fb19 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #30 0xb7943030 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #31 0xb7d6100d in gtk_size_group_remove_widget () from /usr/lib/libgtk-x11-2.0.so.0 #32 0xb7d613a9 in _gtk_size_group_compute_requisition () from /usr/lib/libgtk-x11-2.0.so.0 #33 0xb7df9d18 in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0 #34 0xb7df5f8f in gtk_vbox_new () from /usr/lib/libgtk-x11-2.0.so.0 #35 0xb793bc85 in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 #36 0xb792f16f in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #37 0xb792f79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #38 0xb793e5cc in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #39 0xb793fb19 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #40 0xb7943030 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #41 0xb7d6100d in gtk_size_group_remove_widget () from /usr/lib/libgtk-x11-2.0.so.0 #42 0xb7d613a9 in _gtk_size_group_compute_requisition () from /usr/lib/libgtk-x11-2.0.so.0 #43 0xb7df9d18 in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0 #44 0xb7e0a019 in gtk_window_reshow_with_initial_size () from /usr/lib/libgtk-x11-2.0.so.0 #45 0xb793bc85 in g_cclosure_marshal_VOID__BOXED () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #46 0xb792f16f in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #47 0xb792f79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #48 0xb793e5cc in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #49 0xb793fb19 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #50 0xb7943030 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #51 0xb7d6100d in gtk_size_group_remove_widget () from /usr/lib/libgtk-x11-2.0.so.0 #52 0xb7d613a9 in _gtk_size_group_compute_requisition () from /usr/lib/libgtk-x11-2.0.so.0 #53 0xb7df9d18 in gtk_widget_size_request () from /usr/lib/libgtk-x11-2.0.so.0 #54 0xb7e0b199 in _gtk_window_constrain_size () from /usr/lib/libgtk-x11-2.0.so.0 #55 0xb7e0ba6c in gtk_window_get_position () from /usr/lib/libgtk-x11-2.0.so.0 #56 0xb793b423 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #57 0xb792f16f in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #58 0xb792f79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #59 0xb793e9ce in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #60 0xb793fb19 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #61 0xb793fe89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #62 0xb7c8e833 in gtk_container_check_resize () from /usr/lib/libgtk-x11-2.0.so.0 #63 0xb7c8e8a6 in gtk_container_check_resize () from /usr/lib/libgtk-x11-2.0.so.0 #64 0xb786fbf2 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0 #65 0xb786d8d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #66 0xb7870996 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #67 0xb7870cb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #68 0xb7ca0363 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0 #69 0x08070b43 in xfdesktop_special_file_icon_trash_handle_error ( gscreen=0x80aa0f0, method=0x807846c "QueryTrash", message=0x825e748 "The name org.xfce.FileManager was not provided by any .service files") at xfdesktop-special-file-icon.c:446 #70 0x0806ffe6 in org_xfce_Trash_query_trash_async_callback (proxy=0x80c2630, call=0x0, user_data=0x80d2120) at xfdesktop-dbus-bindings-trash.h:143 #71 0xb7910c2d in dbus_g_method_return_error () from /usr/lib/libdbus-glib-1.so.2 #72 0xb78e9889 in dbus_pending_call_get_data () from /usr/lib/libdbus-1.so.2 #73 0xb78d8873 in dbus_connection_has_messages_to_send () from /usr/lib/libdbus-1.so.2 #74 0xb78dad3e in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.2 #75 0xb790bbe7 in dbus_g_message_get_message () from /usr/lib/libdbus-glib-1.so.2 #76 0xb786d8d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #77 0xb7870996 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #78 0xb7870cb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #79 0xb7d16765 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #80 0x08055819 in main (argc=1, argv=0xbfceae54) at main.c:394 (gdb)
Here is another one, but with thunar running so that we avoid the trash warning: 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
just in case these are helpfull: This is xfdesktop version 4.3.99.1, running on Xfce 4.3.99.1. Built with GTK+ 2.8.20, linked with GTK+ 2.8.20. Build options: Desktop Menu: enabled Desktop Icons: enabled Desktop File Icons: enabled
The first one might be fixed; can you check? I have no idea about the second one...
Olivier, your #2 series of criticals should be fixed now. I think this entire bug is probably fixed as well.
With current HEAD I still get on start (xfdesktop:10981): Gtk-CRITICAL **: gtk_style_detach: assertion `style->attach_count > 0' failed The warnings Juha mentioned still occur as well but the patch in 2272 helps.
tested with current svn and sadly both cases still crash. bt is also the same. (I have clean svn version; no other fixes)
Juha, if you're seeing an actual crash during normal operation (i.e., without G_DEBUG set), please open another bug report. I think I'm giving up on the gtk_style_detach() warning, as I can't reproduce it and it seems harmless anyway. Olivier's #2 should be fixed.
tried patch from 2272 and it fixed all warnings from refresh and I do not have the crash in refresh anymore. I think it is worth commiting. It seems to solve the main problem. But it did not fix those startup critical warnings (=this bug). I do not see crash after patch 2272. Only CRIT warnings.