After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 603836 - evolution crash at startup after re-enabling exchange account after ubuntu upgrade to 9.10
evolution crash at startup after re-enabling exchange account after ubuntu up...
Status: RESOLVED FIXED
Product: Evolution Exchange
Classification: Deprecated
Component: Connector
2.28.x
Other Linux
: High critical
: ---
Assigned To: Connector Maintainer
Ximian Connector QA
Depends on:
Blocks:
 
 
Reported: 2009-12-05 10:15 UTC by MAtteo HCE Valsasna
Modified: 2010-01-14 10:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
created with strace -f evolution > evol.strace 2>&1 (95.19 KB, application/x-gzip)
2009-12-05 10:19 UTC, MAtteo HCE Valsasna
Details

Description MAtteo HCE Valsasna 2009-12-05 10:15:02 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
Comment 1 MAtteo HCE Valsasna 2009-12-05 10:19:20 UTC
Created attachment 149142 [details]
created with strace -f evolution > evol.strace 2>&1
Comment 2 Fabio Durán Verdugo 2009-12-05 13:41:25 UTC
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!
Comment 3 MAtteo HCE Valsasna 2009-12-05 15:32:16 UTC
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)
Comment 4 Fabio Durán Verdugo 2009-12-05 15:44:29 UTC
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 :-)
Comment 5 MAtteo HCE Valsasna 2009-12-05 16:47:44 UTC
sorry:

...
Program received signal SIGSEGV, Segmentation fault.

Thread 3008109424 (LWP 7538)

  • #0 exchange_get_folder_info
    at camel-exchange-store.c line 735
  • #1 camel_store_get_folder_info
    at camel-store.c line 895
  • #2 get_folderinfo_exec
    at mail-ops.c line 1073
  • #3 mail_msg_proxy
    at mail-mt.c line 522
  • #4 g_thread_pool_thread_proxy
    at /build/buildd/glib2.0-2.22.2/glib/gthreadpool.c line 265
  • #5 g_thread_create_proxy
    at /build/buildd/glib2.0-2.22.2/glib/gthread.c line 635
  • #6 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #7 clone
    from /lib/tls/i686/cmov/libc.so.6
(gdb)
Comment 6 Fabio Durán Verdugo 2009-12-06 00:35:17 UTC
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 ***
Comment 7 MAtteo HCE Valsasna 2009-12-06 09:12:05 UTC
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
Comment 8 Milan Crha 2010-01-05 17:11:58 UTC
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.
Comment 9 Milan Crha 2010-01-14 10:25:59 UTC
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.
Comment 10 Milan Crha 2010-01-14 10:31:40 UTC
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.