Troubleshooting

1. I get Cannot initialize the Evolution shell.
2. I get Cannot open composer window.
3. The address suggestion list steals focus from the "To:" entry box when I'm typing. How can I make it keep focus?
4. I updated Evolution and now my addressbook information is gone! What should I do?
5. Evolution reported an error when trying to retrieve from my local spool in /var/spool/mail/username. Why?
6. Evolution crashes reporting that it couldn't allocate N billion bytes; how do I fix this?
7. What is killev and why do I need to use it?
8. What is oaf-slay and why do I need to use it?

1. I get Cannot initialize the Evolution shell.

There are a number of things that can cause this error. Check that:

  • oafd is listed in your PATH environment variable.

  • GNOME_Evolution_Shell.oaf and the other       GNOME_Evolution_*.oaf files are readable and installed in $prefix/share/oaf, where $prefix is one of the prefixes listed in GNOME_PATH or OAF_INFO_PATH.  (These variables are supposed to contain $PATH-like colon-separated lists of paths.  If the installation prefix for Evolution is different from that). Run `oaf-slay' once before running `evolution' again if you change $GNOME_PATH or $OAF_INFO_PATH.

  • evolution, evolution-mail and the other evolution-* executables are in your $PATH.

2. I get Cannot open composer window.

This actually means that Evolution cannot activate the HTML editor component from GtkHTML. The comments in the previous answer still apply; also make sure that gnome-gtkhtml-editor is in your PATH.

3. The address suggestion list steals focus from the "To:" entry box when I'm typing. How can I make it keep focus?

This is a bug in GTK version 1.2.10. To avoid it, downgrade to GTK version 1.2.9, or install the Ximian version of GTK 1.2.10.

4. I updated Evolution and now my addressbook information is gone! What should I do?

Evolution uses the libdb library to handle the addressbook database. Two versions of libdb can be used with Evolution: version 1.88 and version 2.

Unfortunately, an Evolution executable that is linked against a certain version of libdb will only be able to read addressbook files written by another Evolution executable that is linked with the same version of the library. If your addressbook is not readable by Evolution anymore, it probably means that you used to have Evolution linked with a certain version of libdb, but now it gets linked to a different version.

Because of the way libdb is designed, it is not easy for Evolution to automatically do the conversion between the two formats. But, if your Evolution used to be linked against version 1.85 and now is linked to version 2, there is a very simple way to convert the database and recover your data.

  • First of all, check the format of the database using the file command:

                    file ~/evolution/local/Contacts/addressbook.db
                  

    You want version 1.85 there. If your version is 2, then your current Evolution is probably linked against version 1.85 and you cannot convert the database to the old format. To do that, follow these instructions:

  • Quit Evolution.

  • Make a copy of the addressbook database for backup purposes, then move the original out of the way.

                    cd ~/evolution/local/Contacts
                    cp addressbook.db addressbook.db.backup
                    mv addressbook.db addressbook.db.tmp
                   
  • Convert the contacts to the new format using db_dump185 and db_load:

                    db_dump185 addressbook.db.tmp | db_load ~/evolution/local/Contacts/addressbook.db
                  
  • Restart Evolution.

5. Evolution reported an error when trying to retrieve from my local spool in /var/spool/mail/username. Why?

Evolution doesn't have an external helper for moving mail, so /var/spool/mail/ must be writable by you. Try this:

            chmod 1777 /var/spool/mail
          

We're working on a solution to this problem now.

6. Evolution crashes reporting that it couldn't allocate N billion bytes; how do I fix this?

This usually happens when a component tries talking a certain version of a CORBA interface to another component that supports a different version. For example, this can happen when you recompile and install a single component without recompiling/installing the rest of Evolution.

If you run into this problem, make sure all the components are compiled and installed at the same time. This also applies to GtkHTML upgrades; after upgrading and installing a newer GtkHTML, always re-compile and re-install Evolution against it.

7. What is killev and why do I need to use it?

Evolution is actually made up of several components that run as separate processes. Evolution's shell is not very good at cleaning up stale processes, so it is possible that sometimes already-running components cause unexpected and/or broken behavior.

It's always a good idea to run killev after a crash in Evolution, especially if the Evolution shell itself crashed. (If a component crashes instead, you should try to exit the shell cleanly first, so you give a chance to the other components to clean things up properly.)

8. What is oaf-slay and why do I need to use it?

oaf-slay is an utility which comes with OAF, the Object Activation Framework that is used in the GNOME Desktop to activate components. It will kill the object activation daemon (oafd) as well as all the active components on the system.

Using oaf-slay oaf-slay is quite drastic and can cause problems with other programs that use oaf, especially with Nautilus. To avoid problems, do not run oaf-slay while you are in GNOME.