GNOME Bugzilla – Bug 603836
evolution crash at startup after re-enabling exchange account after ubuntu upgrade to 9.10
Last modified: 2010-01-14 10:31:40 UTC
evolution repeatedly crashes at program startup after briefly displaying and then closing the password dialog for the exchange account. the password field never becomes editable. running from command prompt: valsasna@aubergine:~$ evolution e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: Nessun risultato corrispondente) e-data-server-ui-Message: Il file chiavi non presenta il gruppo "Passwords-Exchange" ** (evolution:4324): DEBUG: mailto URL command: evolution %s ** (evolution:4324): DEBUG: mailto URL program: evolution ** (evolution:4324): CRITICAL **: atk_object_set_name: assertion `name != NULL' failed Segmentation fault the data-server and exchange-storage processes are left running valsasna@aubergine:~$ ps axf|grep evol 4337 ? Sl 0:00 /usr/lib/evolution/evolution-data-server-2.28 --oaf-activate-iid=OAFIID:GNOME_Evolution_DataServer_InterfaceCheck --oaf-ior-fd=32 4341 ? Sl 0:00 /usr/lib/evolution/2.28/evolution-exchange-storage --oaf-activate-iid=OAFIID:GNOME_Evolution_Exchange_Component_Factory:2.28 --oaf-ior-fd=33 I was using evolution exchange connector on ubuntu 8.04 LTS, then I had disabled the account because it crashed from time to time. Then I upgraded to ubuntu 9.10 (performing three incremental upgrades); during the upgrade evolution performed the conversion to sqlite. After the upgrade I re-enabled the exchange account in evolution, and it was enabled during the same evolution session. The first session went fine. After the next reboot I am unable to start evolution. please find (attached) strace and (below) gdb output valsasna@aubergine:~$ gdb evolution GNU gdb (GDB) 7.0-ubuntu Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/evolution...Reading symbols from /usr/lib/debug/usr/bin/evolution...done. (no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: Nessun risultato corrispondente) e-data-server-ui-Message: Il file chiavi non presenta il gruppo "Passwords-Exchange" ** (evolution:4222): DEBUG: mailto URL command: evolution %s ** (evolution:4222): DEBUG: mailto URL program: evolution [New Thread 0xb66ccb70 (LWP 4244)] [Thread 0xb66ccb70 (LWP 4244) exited] [New Thread 0xb66ccb70 (LWP 4245)] [New Thread 0xb5ecbb70 (LWP 4246)] [New Thread 0xb54ffb70 (LWP 4247)] [New Thread 0xb4cfeb70 (LWP 4248)] [New Thread 0xb44fdb70 (LWP 4249)] [New Thread 0xb3cfcb70 (LWP 4250)] [New Thread 0xb34fbb70 (LWP 4251)] [New Thread 0xb2cfab70 (LWP 4252)] [New Thread 0xb24f9b70 (LWP 4253)] [New Thread 0xb1cf8b70 (LWP 4254)] [New Thread 0xb14f7b70 (LWP 4255)] [Thread 0xb1cf8b70 (LWP 4254) exited] [New Thread 0xb1cf8b70 (LWP 4256)] ** (evolution:4222): CRITICAL **: atk_object_set_name: assertion `name != NULL' failed [New Thread 0xb0cf6b70 (LWP 4257)] [New Thread 0xb04f5b70 (LWP 4258)] [Thread 0xb4cfeb70 (LWP 4248) exited] [Thread 0xb34fbb70 (LWP 4251) exited] [New Thread 0xb34fbb70 (LWP 4259)] [New Thread 0xb4cfeb70 (LWP 4260)] [New Thread 0xafcf4b70 (LWP 4261)] [New Thread 0xaf4f3b70 (LWP 4262)] [New Thread 0xaecf2b70 (LWP 4263)] [New Thread 0xae2ffb70 (LWP 4264)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb4cfeb70 (LWP 4260)] 0x05b22a7b in ?? () from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so (gdb) (gdb) quit A debugging session is active. Inferior 1 [process 4222] will be killed. Quit anyway? (y or n) y MAtteo
Created attachment 149142 [details] created with strace -f evolution > evol.strace 2>&1
Thanks for taking the time to report this bug. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so and reopen this bug or report a new one. Thanks in advance!
hope this is more helpful. strace seems not affected by debug symbols. after uninstalling evolution-exchange, imap accounts work as usual. valsasna@aubergine:~$ dpkg -l|grep dbg ... ii evolution-data-server-dbg 2.28.1-0ubuntu1 evolution database backend server with debug ii evolution-dbg 2.28.1-0ubuntu2 debugging symbols for Evolution ii evolution-exchange-dbg 2.28.1-0ubuntu1 Exchange plugin for Evolution with debugging ... valsasna@aubergine:~$ gdb evolution GNU gdb (GDB) 7.0-ubuntu Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/evolution...Reading symbols from /usr/lib/debug/usr/bin/evolution...done. (no debugging symbols found)...done. (gdb) run Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: Nessun risultato corrispondente) e-data-server-ui-Message: Il file chiavi non presenta il gruppo "Passwords-Exchange" ** (evolution:6944): DEBUG: mailto URL command: evolution %s ** (evolution:6944): DEBUG: mailto URL program: evolution [New Thread 0xb66ccb70 (LWP 6958)] [Thread 0xb66ccb70 (LWP 6958) exited] [New Thread 0xb66ccb70 (LWP 6959)] [New Thread 0xb5ecbb70 (LWP 6960)] [New Thread 0xb56c5b70 (LWP 6961)] [New Thread 0xb4ec4b70 (LWP 6962)] [New Thread 0xb46bdb70 (LWP 6963)] [New Thread 0xb3cffb70 (LWP 6964)] [New Thread 0xb34feb70 (LWP 6965)] [New Thread 0xb2cfdb70 (LWP 6966)] [New Thread 0xb24fcb70 (LWP 6967)] [New Thread 0xb1cfbb70 (LWP 6968)] [New Thread 0xb14fab70 (LWP 6969)] [New Thread 0xb0cf9b70 (LWP 6970)] [New Thread 0xb04f8b70 (LWP 6971)] [New Thread 0xafcf7b70 (LWP 6972)] [New Thread 0xaf4f6b70 (LWP 6973)] ** (evolution:6944): CRITICAL **: atk_object_set_name: assertion `name != NULL' failed [Thread 0xaf4f6b70 (LWP 6973) exited] [New Thread 0xaf4f6b70 (LWP 6974)] [New Thread 0xaecf5b70 (LWP 6975)] [New Thread 0xae4f4b70 (LWP 6976)] [New Thread 0xadcf3b70 (LWP 6977)] [Thread 0xadcf3b70 (LWP 6977) exited] [New Thread 0xadcf3b70 (LWP 6978)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb1cfbb70 (LWP 6968)] 0x02f0ca7b in exchange_get_folder_info (store=0x81e5660, top=0x0, flags=7, ex=0x8534c34) at camel-exchange-store.c:735 735 camel-exchange-store.c: Nessun file o directory. in camel-exchange-store.c (gdb)
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb1cfbb70 (LWP 6968)] 0x02f0ca7b in exchange_get_folder_info (store=0x81e5660, top=0x0, flags=7, ex=0x8534c34) at camel-exchange-store.c:735 735 camel-exchange-store.c: Nessun file o directory. in camel-exchange-store.c (gdb) <- "Here wrote bt full" example: (gdb) bt full and paste the stacktrace, thank :-)
sorry: ... Program received signal SIGSEGV, Segmentation fault.
+ Trace 219465
Thread 3008109424 (LWP 7538)
(gdb)
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 528022 ***
Hi, looking at the stack traces, I'm not sure it is correct to consider Bug 603836 a duplicate of bug 528022: the two stack traces have the same "lower part", but different "upper parts" my trace ends at #0 exchange_get_folder_info at camel-exchange-store.c line 735 while the one from 528022 is at a different point in camel-exchange-store.c (using the same version of evolution, but distribution patches //may// account for that), and enters several more functions, which suggests the error may occur in a different code path. # #0 __kernel_vsyscall # #1 __lll_mutex_lock_wait from /lib/libpthread.so.0 # #2 _L_mutex_lock_82 from /lib/libpthread.so.0 # #3 __pthread_mutex_lock at pthread_mutex_lock.c line 81 # #4 segv_redirect at ../../../evolution/shell/main.c line 528 # #5 <signal handler called> # #6 *__GI___libc_free at malloc.c line 3596 # #7 IA__g_free at ../../../glib/glib/gmem.c line 190 # #8 IA__g_ptr_array_free at ../../../glib/glib/garray.c line 394 # #9 exchange_get_folder_info at ../../../evolution-exchange/camel/camel-exchange-store.c line 771
It seems you've right, the gnome-2-28 sources are showing that the crash point is on line > if (camel_stub_marshal_eof (exch->stub->cmd)) thus the stub is most likely NULL. There is a downstream bug report about the same https://bugzilla.redhat.com/show_bug.cgi?id=545133 which was invoked when the exchange server was unreachable.
I tried to reproduce this, but I failed. It doesn't want to crash to me. After a bit more investigation it seems the evolution-exchange-storage crashed for some reason, just between this line and a line above it, which is trying to connect to it. It's pretty unlikely, but obviously can happen. I added a test for Non-NULL value there, as a workaround, because this code doesn't exist in actual 2.29.5 development version.
Created commit 09caf93 in eex gnome-2-28 (2.28.3+) It'll claim the evolution should be restarted, instead of crashing itself. The proper way might be to get why evolution-exchange process crashed and fix that.