GNOME Bugzilla – Bug 655507
crash on startup when initializing spamassassin
Last modified: 2013-09-13 01:05:40 UTC
this report has been filed here: https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/817466 "After the 3.1.3-0ubuntu2 => 3.1.4-0ubuntu1 upgrade in oneiric this morning, evolution started to crash on startup. 100% reproducible. It seems to happen while initializing the spamassassin plugin. Attached a trace. For now, I've downgraded both evo and e-d-s (to 3.1.3.1-0ubuntu3) and it's ok." backtrace: Core was generated by `evolution'. Program terminated with signal 11, Segmentation fault.
+ Trace 227927
Created attachment 193164 [details] [review] evo patch for evolution; Thanks for a bug report. Could you give your user a package with this patch included, please? It may fix the issue, I hope. The problem seems to be that the module got unloded, while the GType system kept static string from that module, thus it later failed, especially when the memory itself was rewritten with other stuff. This patch keeps extensions loaded "forever".
Fixed in: http://git.gnome.org/browse/evolution/commit/?id=4fc04af617091c77dfc9f6353299378918cb69cc I keep forgetting to avoid G_PARAM_STATIC_STRINGS when installing GObject properties in dynamically loaded modules.
Well, are you sure it's enough? Because it doesn't work for comp-editor, which valgrind dislikes on master, but likes on 3.0.x. Valgrind claims the below thing, and with my tests, the module with comp-editor is loaded and unloaded more than 10 times without my patch, where with the patch it's loaded only twice (the first time is from e-shell routine which I'm not sure whether worth the code). Invalid read of size 1 at 0x4A079B1: strcmp (mc_replace_strmem.c:538) by 0x3A98662C98: g_str_equal (in /lib64/libglib-2.0.so.0.2800.8) by 0x3A98631CDD: g_hash_table_lookup (in /lib64/libglib-2.0.so.0.2800.8) by 0x3A9862948D: g_intern_static_string (in /lib64/libglib-2.0.so.0.2800.8) by 0x17F97705: comp_editor_get_type (comp-editor.c:210) by 0x17C89AD2: cal_config_comp_editor_class_init (e-cal-config-comp-editor.c:89) by 0x3A9962F382: g_type_class_ref (in /lib64/libgobject-2.0.so.0.2800.8) by 0x64DB326: extensible_load_extension (e-extensible.c:94) by 0x64F07D1: e_type_traverse (e-util.c:526) by 0x64DB4B5: e_extensible_load_extensions (e-extensible.c:142) by 0x64DB5A9: e_extensible_list_extensions (e-extensible.c:172) by 0x4C27299: e_shell_load_modules (e-shell.c:1336) by 0x4032EB: main (main.c:664) Address 0x13200a2a is 6 bytes before a block of size 24 free'd at 0x4A055FE: free (vg_replace_malloc.c:366) by 0x3A98649742: g_free (in /lib64/libglib-2.0.so.0.2800.8) by 0x3A9865E85E: g_slice_free1 (in /lib64/libglib-2.0.so.0.2800.8) by 0x3A98663149: g_string_free (in /lib64/libglib-2.0.so.0.2800.8) by 0x3A98630F47: g_build_filename (in /lib64/libglib-2.0.so.0.2800.8) by 0x3AA731C287: ensure_valid_themes (gtkicontheme.c:1091) by 0x3AA731C415: choose_icon (gtkicontheme.c:1241) by 0x3AA731CF31: gtk_icon_theme_lookup_icon (gtkicontheme.c:1416) by 0x59E5B7B: preferences_window_load_pixbuf (e-preferences-window.c:109) by 0x59E6A19: e_preferences_window_add_page (e-preferences-window.c:418) by 0x10A5540A: mail_shell_backend_constructed (e-mail-shell-backend.c:404) by 0x3A996131F2: g_object_newv (in /lib64/libgobject-2.0.so.0.2800.8) by 0x3A99613B15: g_object_new_valist (in /lib64/libgobject-2.0.so.0.2800.8) by 0x3A99613E23: g_object_new (in /lib64/libgobject-2.0.so.0.2800.8) by 0x64DB369: extensible_load_extension (e-extensible.c:100) by 0x64F07D1: e_type_traverse (e-util.c:526) by 0x64F07A8: e_type_traverse (e-util.c:520) by 0x64F07A8: e_type_traverse (e-util.c:520) by 0x64DB4B5: e_extensible_load_extensions (e-extensible.c:142) by 0x64DB5A9: e_extensible_list_extensions (e-extensible.c:172) by 0x4C27299: e_shell_load_modules (e-shell.c:1336) by 0x4032EB: main (main.c:664) Also, here's a downstream bug about complete failure to start evolution 3.1.4: https://bugzilla.redhat.com/show_bug.cgi?id=726915
I've a confirmation from a downstream reporter that the attached fix helped him, thus I'm committing it to sources. Created commit 90f7050 in evo master (3.1.5+)
*** Bug 655593 has been marked as a duplicate of this bug. ***
*** Bug 655661 has been marked as a duplicate of this bug. ***
*** Bug 655750 has been marked as a duplicate of this bug. ***