panel crashes (dumps core) when weather applet loads.
Could you try to get a backtrace of the crash from gdb? that may helpp us find the cause. $ gdb xfce4-panel gdb> run [add weather plugin] *crash* gdb> bt <output of backtrace>
Without a bit more information we can't find out what's wrong and we will have no choice but to close the bug as WORKSFORME.
My panel is also crashing. I'm now running 4.1.99.3 (RC3) from the installers. I'm running Ubuntu Hoary with GTK+ 2.6.0, Xorg 6.8.1 without composite. I added and removed the weather applet a few times until it crashed the panel. Here's the gdb backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1217681472 (LWP 5964)] 0xb733a825 in make_pixmap () from /usr/lib/xfce4/panel-plugins/libweather.so (gdb) bt #0 0xb733a825 in make_pixmap () from /usr/lib/xfce4/panel-plugins/libweather.so #1 0xb733a969 in gtk_scrollbox_set_label () from /usr/lib/xfce4/panel-plugins/libweather.so #2 0xb733a0d2 in xfceweather_create_control () from /usr/lib/xfce4/panel-plugins/libweather.so #3 0x080518a1 in control_class_info_create_control () #4 0x080520fd in insert_control () #5 0x08050e7d in dialog_response () #6 0x08050ee7 in treeview_dblclick () #7 0xb7df6e66 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 #8 0xb7ab7375 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #9 0xb7ac78ad in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #10 0xb7ac67b1 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #11 0xb7ac6c37 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #12 0xb7ed88ea in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0 #13 0xb7df5a6b in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #14 0xb7df4a48 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #15 0xb7cb18f8 in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0 #16 0xb7a55d7a in g_main_depth () from /usr/lib/libglib-2.0.so.0 #17 0xb7a56d2e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #18 0xb7a57050 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #19 0xb7a5759a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #20 0xb7df439c in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #21 0x08058dc1 in main () (gdb)
I'm able to reproduce this bug too. It's caused by the variable "type" inside the function gtk_scrollbox_get_type (scrollbox.c:392). It doesn't retain its value when reloading the plugin, i've been able to fix this by using "g_type_from_name". However it doesn't fix the problem: #0 0x40b26da0 in ?? () #1 0x4056bfda in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0 #2 0x4055673f in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0 #3 0x40555ece in g_object_newv () from /usr/lib/libgobject-2.0.so.0 #4 0x4055670e in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0 #5 0x40555b96 in g_object_new () from /usr/lib/libgobject-2.0.so.0 #6 0x40c95f71 in gtk_scrollbox_new () at scrollbox.c:363 #7 0x40c94f5e in xfceweather_create_control (control=0x83d9a20) at plugin.c:450 #8 0x080518e1 in add_control_dialog () #9 0x0805216d in insert_control () #10 0x08050dfd in add_control_dialog () #11 0x08050e67 in add_control_dialog () #12 0x40195934 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x40552c20 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #14 0x40566c28 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #15 0x405659be in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #16 0x40565ee4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #17 0x40294957 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0 #18 0x40193ed2 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x40192c26 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x40391185 in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0 #21 0x405a7c02 in g_main_depth () from /usr/lib/libglib-2.0.so.0 #22 0x405a8cf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #23 0x405a9030 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #24 0x405a9673 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #25 0x401924e3 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #26 0x08058f01 in main () I think this is caused by the "gtk_scrollbox_class_init" still using the old instance's memory locations (for example the callbacks). A possible solution could be to unregister the scrollbox class, if that's possible. Anyway, while this bug should be fixed, it's only a problem when reloading the plugin after unloading it. It should not crash on first load.
Should be fixed in latest version.
Re-assigning to Colin Leroy who is the new maintainer of the plugin.