(xfce4-session:10994): Gtk-CRITICAL **: IA__gtk_widget_set_visible: assertion 'GTK_IS_WIDGET (widget)' failed *** Error in `/usr/lib/xfce4/panel/wrapper-1.0': free(): invalid pointer: 0x092d8c30 *** ======= Backtrace: ========= /lib/libc.so.6(+0x70cc3)[0xb6dbecc3] /lib/libc.so] /usr/lib/libglib-2.0.so.0(g_free+0x20)[0xb6f39ff0] /usr/lib/xfce4/panel/plugins/libsystemload.so(+0x2eca)[0xb776aeca] /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOIDv+0x49)[0xb70495c9] /usr/lib/libgobject-2.0.so.0(+0xdbbe)[0xb7047bbe] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x462)[0xb7060712] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x33)[0xb7061213] /usr/lib/libxfce4panel-1.0.so.4(+0x68a7)[0xb772f8a7] /usr/lib/libgobject-2.0.so.0(g_object_run_dispose+0x67)[0xb704dfd7] /usr/lib/libgtk-x11-2.0.so.0(gtk_object_destroy+0x6e)[0xb7419f5e] /usr/lib/libgtk-x11-2.0.so.0(+0x6d87d)[0xb732c87d] /usr/lib/libgtk-x11-2.0.so.0(gtk_container_foreach+0x8f)[0xb73686bf] /usr/lib/libgtk-x11-2.0.so.0(+0xaa5c8)[0xb73695c8] /usr/lib/libgtk-x11-2.0.so.0(+0x276d31)[0xb7535d31] /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x73)[0xb7049553] /usr/lib/libgobject-2.0.so.0(+0xc494)[0xb7046494] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x13e)[0xb704796e] /usr/lib/libgobject-2.0.so.0(+0x1f901)[0xb7059901] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0xd94)[0xb7061044] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x33)[0xb7061213] /usr/lib/libgtk-x11-2.0.so.0(+0x15a26b)[0xb741926b] /usr/lib/libgtk-x11-2.0.so.0(+0x264ffe)[0xb7523ffe] /usr/lib/libgtk-x11-2.0.so.0(+0x271760)[0xb7530760] /usr/lib/libgobject-2.0.so.0(g_object_run_dispose+0x67)[0xb704dfd7] /usr/lib/libgtk-x11-2.0.so.0(gtk_object_destroy+0x6e)[0xb7419f5e] /usr/lib/xfce4/panel/wrapper-1.0(main+0x451)[0x804aa11] /lib/libc.so.6(__libc_start_main+0xf3)[0xb6d67983] /usr/lib/xfce4/panel/wrapper-1.0[0x804ab86] Going forward from 1.1.1, this first appears in a08eacc1afa245e4d66d29815958c67de3d6bb2f which was later modified by 6f522991a869ac7489089be6d969f7e0b01bef776f522991a869ac7489089be6d969f7e0b01bef77, but the bug is present in 1.1.2.
This looks to also be reported in https://bugs.launchpad.net/ubuntu/+source/xfce4-panel/+bug/1282541 but I guess reporting bugs upstream is not as efficient as it should be.
Here's a more useful backtrack: Program received signal SIGABRT, Aborted. 0xb6dd0d3c in raise () from /lib/libc.so.6 (gdb) bt #0 0xffffffff in raise () at /lib/libc.so.6 #1 0xffffffff in abort () at /lib/libc.so.6 #2 0xffffffff in () at /lib/libc.so.6 #3 0xffffffff in _int_free () at /lib/libc.so.6 #4 0xffffffff in g_free () at /usr/lib/libglib-2.0.so.0 #5 0xffffffff in monitor_free (plugin=0x9790080, global=0x97b6820) at systemload.c:397 #6 0xffffffff in g_cclosure_marshal_VOID__VOIDv () at /usr/lib/libgobject-2.0.so.0 #7 0xffffffff in () at /usr/lib/libgobject-2.0.so.0 #8 0xffffffff in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0 #9 0xffffffff in g_signal_emit () at /usr/lib/libgobject-2.0.so.0 #10 0xffffffff in xfce_panel_plugin_dispose (object=0x9790080) at xfce-panel-plugin.c:902 #11 0xffffffff in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0 #12 0xffffffff in gtk_object_destroy () at /usr/lib/libgtk-x11-2.0.so.0 #13 0xffffffff in () at /usr/lib/libgtk-x11-2.0.so.0 #14 0xffffffff in gtk_container_foreach () at /usr/lib/libgtk-x11-2.0.so.0 #15 0xffffffff in () at /usr/lib/libgtk-x11-2.0.so.0 #16 0xffffffff in () at /usr/lib/libgtk-x11-2.0.so.0 #17 0xffffffff in g_cclosure_marshal_VOID__VOID () at /usr/lib/libgobject-2.0.so.0 #18 0xffffffff in () at /usr/lib/libgobject-2.0.so.0 #19 0xffffffff in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0 #20 0xffffffff in () at /usr/lib/libgobject-2.0.so.0 #21 0xffffffff in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0 #22 0xffffffff in g_signal_emit () at /usr/lib/libgobject-2.0.so.0 #23 0xffffffff in () at /usr/lib/libgtk-x11-2.0.so.0 #24 0xffffffff in () at /usr/lib/libgtk-x11-2.0.so.0 #25 0xffffffff in () at /usr/lib/libgtk-x11-2.0.so.0 #26 0xffffffff in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0 #27 0xffffffff in gtk_object_destroy () at /usr/lib/libgtk-x11-2.0.so.0 #28 0x0804ad9c in main (argc=8, argv=0xbf81a714) at main.c:412 Looks like this makes the crash stop: diff --git a/panel-plugin/systemload.c b/panel-plugin/systemload.c index 628947e..4df29e5 100644 --- a/panel-plugin/systemload.c +++ b/panel-plugin/systemload.c @@ -394,7 +394,6 @@ monitor_free(XfcePanelPlugin *plugin, t_global_monitor *global) g_source_remove(global->timeout_id); g_free(global->command.command_text); - g_free(global->menu_item); for(count = 0; count < 3; count++) {
Hmm, looking at the code, i'm not sure it makes sense to g_free() a GtkWidget... which is not allocated with g_strdup or g_new.... so yeah :)
Pushed to master in ca2b7fd