FS#10885 - "The Evolution addressbook has quit unexpectedly."

Attached to Project: Arch Linux
Opened by Leonardo Ferreira Fontenelle (leonardof) - Friday, 11 July 2008, 07:52 GMT
Last edited by Jan de Groot (JGC) - Friday, 11 July 2008, 08:06 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Architecture i686
Severity High
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Recently I installed ArchLinux, with GNOME 2.22.3. I can use Evolution (2.22.3.1-2) normally to read and send emails, but I can't use my addressbook at all. When I compose a message, I can't select contacts, neither there's autocompletion. When I switch to the Contacts view, I receive this error message in a dialog:

The Evolution addressbook has quit unexpectedly.
Your contacts for file:///home/leonardof/.evolution/addressbook/local/system will not be available until Evolution is restarted.

I even though my addressbook was corrupt or missing, but I'm able to use it normally with Evolution 2.22.3.1 in a parallel Gentoo installation which uses the same /home partition.

After searching the web for this error, I found some instructions on how to provide a trace for this error:

[Open gnome-terminal]

$ evolution --force-shutdown

$ /usr/lib/evolution-data-server-1.2/evolution-data-server-2.22

evolution-data-server-Message: Starting server
e-data-server-Message: adding type `EBookBackendLDAPFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `ECalBackendFileTodosFactory'
e-data-server-Message: adding type `ECalBackendFileEventsFactory'
e-data-server-Message: adding type `ECalBackendFileJournalFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `ECalBackendContactsEventsFactory'
e-data-server-Message: adding type `ECalBackendCalDAVEventsFactory'
e-data-server-Message: adding type `ECalBackendGroupwiseTodosFactory'
e-data-server-Message: adding type `ECalBackendGroupwiseEventsFactory'
e-data-server-Message: adding type `ECalBackendGroupwiseJournalFactory'
e-data-server-Message: adding type `ECalBackendHttpTodosFactory'
e-data-server-Message: adding type `ECalBackendHttpEventsFactory'
e-data-server-Message: adding type `ECalBackendHttpMemosFactory'
e-data-server-Message: adding type `ECalBackendWeatherEventsFactory'
e-data-server-Message: adding type `ECalBackendGoogleTodosFactory'
e-data-server-Message: adding type `ECalBackendGoogleEventsFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
in server_log_handler
evolution-data-server-Message: Server up and running

[Actually the directions were to run /usr/libexec/evolution-data-server-1.6, but I couldn't find anything in /usr/libexec]

[Launch evolution as usual]

[Switch to Contacts view]

[Get this output in terminal:]

impl_GNOME_Evolution_Addressbook_BookFactory_getBook
+ file:///home/leonardof/.evolution/addressbook/local/system
=> 0x9198ec0
impl_GNOME_Evolution_Addressbook_Book_open (0x9198ec0)
impl_GNOME_Evolution_Addressbook_BookFactory_getBook
+ file:///home/leonardof/.evolution/addressbook/local/system
=> 0x9198fb0
impl_GNOME_Evolution_Addressbook_Book_open (0x9198fb0)

(evolution-data-server-2.22:3683): libedata-book-WARNING **: impl_GNOME_Evolution_Addressbook_Book_getBookView ((contains "x-evolution-any-field" ""))

e_data_book_respond_get_book_view
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: page 1: illegal page type or format
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: PANIC: Argumento inválido
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: /home/leonardof/.evolution/addressbook/local/system/addressbook.db: pgin failed for page 1
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: fatal region error detected; run recovery
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: fatal region error detected; run recovery
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: fatal region error detected; run recovery
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: e_book_backend_file_search: error building list: DB_RUNRECOVERY: Fatal error, run database recovery
book_view file uref

(evolution-data-server-2.22:3683): libedata-book-WARNING **: impl_GNOME_Evolution_Addressbook_Book_getBookView ((contains "x-evolution-any-field" ""))

e_data_book_respond_get_book_view
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: libdb error: fatal region error detected; run recovery
in server_log_handler

(evolution-data-server-2.22:3683): libebookbackend-WARNING **: e_book_backend_file_search: error getting the cursor for /home/leonardof/.evolution/addressbook/local/system/addressbook.db
Aborted


This task depends upon

Closed by  Jan de Groot (JGC)
Friday, 11 July 2008, 08:06 GMT
Reason for closing:  Not a bug
Comment by Jan de Groot (JGC) - Friday, 11 July 2008, 08:05 GMT
The message tells your address book is corrupted. As you're coming from a gentoo installation, I'm blaming your gentoo installation for this. The reason is simple:
upstream ships Evolution-data-server with db 4.1 compiled static inside evolution. It's possible to link evolution-data-server dynamic with any version of db. On archlinux, we link against db 4.1, as that's what upstream uses. On gentoo however, evolution-data-server is linked against whatever db version is on your system. This means your addressbook is created with a db version newer than 4.1, which isn't compatible with the version we're shipping with.
To fix your problem, recompile evolution-data-server and evolution-exchange and change the PKGBUILD so it uses the same db version as your gentoo installation uses.

Loading...