GNOME Bugzilla – Bug 547565
Address book is unreachable
Last modified: 2009-09-02 17:49:57 UTC
Please describe the problem: Each time you select the Contact or AddressBook, an error describing that it is not possible to open the selected addressbook. Additional comments ask to verify if the path exist and the right permission are set to access '/home/user/.evolution/addressbook/local/system'. After checking : - the path exist and contains the files for the Address Book - the permissions are 755 for dir and 644 for files - the files belong to the right user Steps to reproduce: 1. select Contact in the main screen of Evolution 2. click on 'On this Computer -> personal' 3. the error occured Please note that you can create a new Contact list in the 'On This Computer'. It is created normally but present the same problem when accessing it. Actual results: An popup windows is displayed and the following error message is displayed : We were unable to open this addressbook. Please check that the path /home/user/.evolution/addressbook/local/system exists and that you have permission to access it. Expected results: Having access to the contacts stored in the Adress Book Does this happen every time? Yes Other information: Evolution has been updated from 2.1.x version (under FC8) to V2.22.1.1 (under OpenSuse11)
Please shut down evolution, run "evolution --force-shutdown", then start evolution and evolution-data-server from a terminal window and post the output here when trying to create a new one.
Created attachment 116495 [details] Output from evolution-data-server Evolution was started, 'Contact' was selected from main page, error as reported was displayed in screen for the 'Personal' folder which is selected by default. New folder created and error being reported again for the newly created folder. Evolution output will also be attached in separate file.
Created attachment 116496 [details] Output of evolution Output of evolution when selecting the 'Contact' from main page. Please see 'evolution-data-serve' details.
Ouch. Comment 2 looks evil, yes. (evolution-data-server-2.22:32700): libebookbackend-WARNING **: libdb error: page 1: illegal page type or format (evolution-data-server-2.22:32700): libebookbackend-WARNING **: libdb error: PANIC: Invalid argument (evolution-data-server-2.22:32700): libebookbackend-WARNING **: libdb error: /home/user/.evolution/addressbook/local/system/addressbook.db: pgin failed for page 1 (evolution-data-server-2.22:32700): libebookbackend-WARNING **: libdb error: fatal region error detected; run recovery (evolution-data-server-2.22:32700): libebookbackend-WARNING **: e_book_backend_file_maybe_upgrade_db failed (evolution-data-server-2.22:32700): libebook-WARNING **: "e_book_get_book_view" on book before "e_book_open" (evolution-data-server-2.22:32700): libebookbackend-WARNING **: db->open (... DB_CREATE ...) failed with DB_RUNRECOVERY: Fatal error, run database recovery
> Evolution has been updated from 2.1.x version (under FC8) > to V2.22.1.1 (under OpenSuse11) What does "has been updated" exactly mean? Please provide an exact step by step description about what you did. > /home/user/.evolution/addressbook/local/system Are you really using "user" as username? Which username did you use in Fedora 8?
Hi Andre, The structure of my machines are a little bit complicated. Will try to summarize. If not completely clear, please ask for details. The '.evolution' directory is really stored on a NFS server. So, even if I change the machine, I establish a symbolic link .evolution -> .evolution on the server via the NFS to have Evolution working fine with my old data. The usual user I used is not 'user' but has the same UID and GID. So, this should not be a problem to access the NFS server. I had a FC8 distribution with evolution 2.1 (I think... but not sure) connected to the .evolution on the NFS server. Everything was working fine, aka access to the stored emails and the Contacts. I installed a fresh OpenSuse 11.0 on a new machine due to hardware problem on the old one. I defined the 'user' user with the right UID and GID to allow acces to the NFS server without any permissions problems. Then, as usual, I established a symbolic link between /home/user/.evolution and the NFS server. The whole Evolution V 2.22.1.1 on OpenSuse 11.0 is working fine except the Contact. I am able to retrieve any old emails. I have also checked the permissions of the 'addressbook' directory and any files/directories it contains. They are the same as for the mail section eg '/home/user/.evolution/mail/local'. I hope to have been clear enough for you to understand the structure of my machines. Do not hesitate to ask for more details if required. Thanks, Michel
(In reply to comment #6) Sounds like you didn't copy your account data from gconf, so did you had to recreate the accounts on the new computer? You only have one addressbook? > The usual user I used is not 'user' but has the same UID and GID. So, this > should not be a problem to access the NFS server. The question is really if the userNAME has changed in between. Please also provide the output of gconftool-2 --get /apps/evolution/addressbook/sources
Hi Andre, You are right, I did not copy any account information from old to new machine. I did not use gconf at all. On the old machine, the user was 'michel', on the new machine, the user is 'user', but same UID and GID for giving correct access to the NFS server. The output of the requested 'gconftool-2' command is --> user@linwkst:~> gconftool-2 --get /apps/evolution/addressbook/sources [<?xml version="1.0"?> <group uid="1216649483.4278.18@linwkst" name="On This Computer" base_uri="file:///home/user/.evolution/addressbook/local" readonly="no"><source uid="1216649483.4278.19@linwkst" name="Personal" uri="file:///home/user/.evolution/addressbook/local/system" relative_uri="system"><properties><property name="default" value="true"/><property name="completion" value="true"/></properties></source><source uid="1218619199.31535.0@linwkst" name="test" relative_uri="1218619199.31535.0@linwkst"/><source uid="1218631837.32703.0@linwkst" name="New_Book" relative_uri="1218631837.32703.0@linwkst"/></group> ,<?xml version="1.0"?> <group uid="1216649483.4278.20@linwkst" name="On LDAP Servers" base_uri="ldap://" readonly="no"/> ] <-- Originally, I had only one Folder in Contact named 'Personal'. For test, I created the 'Test' and 'New Book' ones. The 'New Book' one was created when you asked for the output of the 'evolution-data-server'. Does you questions means that the Address Book, in whatever way, contains the 'user name' of the user that created the entries, giving therefore a problem if you change the name from 'michel' to 'user' but having the same UID/GID? Do you think I should revert the user name to the original one aka 'michel'? Thanks for your help, Best regards, Michel
hmm, looks all good to me. no, don't revert the name - could have been only if you had copied gconf data too.
Just reminds me if it has to do anything with http://mail.gnome.org/archives/evolution-hackers/2008-June/msg00036.html But it is clear the OpenSUSE 11.0 ships static and fedora uses dynamic linked libdb (not sure what version). it seems to be db corruption.
see bug 542284 , bug 569909 , bug 545992 look dupe to me
Does this solution help ? http://mail.gnome.org/archives/evolution-list/2009-April/msg00139.html This version is no longer maintained, which means that it will not receive any further security or bug fix updates. The current stable GNOME and Evolution version is 2.26. Can you please check again whether this issue still happens in Evolution 2.24 or 2.26 and update this report by adding a comment and changing the "Version" field? Thanks a lot. Again thank you for reporting this bug and we are sorry it could not be fixed for the version you originally used here.
The errors from evolution-data-server appear essentially identical to the errors I'm getting when I try to access the file using the python bsddb module: system> python >>> import bsddb >>> a = bsddb.hashopen('addressbook.db','r') >>> a.first() Traceback (most recent call last):
+ Trace 217288
rv = self.dbc.first()
Could it be related to a change in the database format? I started getting this error when my system was changed from Fedora Core 8 to CentOs 5.3 -- not sure if that was an upgrade or downgrade with respect to evolution. I think they both use evolution 2.12. In any case, I tried to use the same access method (i.e. reading the file using python and bsddb module) and got the same result for an older (pre-upgrade) version of the addressbook.db file that I have in a backup. So it isn't a problem with the file itself since the old file definitely did work at the time I was using it. Can anyone shed any light on the format of the addressbook.db files created by evolution and how they're accessed? If it's a simple format change then it shouldn't be so hard to create a format conversion tool.
Another bit of information. If I move aside my addressbook directory and then (after shutting down evolution-data-server and then starting evolution again) make new entries in the empty addressbook, the addressbook is fine. I can also access the addressbook and all entries via the python bsddb module -- that is when I take the same steps as in my previous message, I get no errors and the data in the database is exactly as it should be: >>> import bsddb >>> a = bsddb.hashopen('addressbook.db','r') >>> a.first() ('PAS-DB-VERSION\x00', '0.2\x00') >>> a.next() ('pas-id-4A9E9F3800000000\x00', 'BEGIN:VCARD\r\nVERSION:3.0\r\nREV:2009-09-02T16:37:12Z\r\nUID:pas-id-4A9E9F3800000000\r\nEMAIL;TYPE=OTHER:someone@cfa.harvard.edu\r\nX-EVOLUTION-FILE-AS:Somebody\\, Someone\r\nN:Somebody;Someone;;;\r\nFN:Someone Somebody\r\nEND:VCARD\x00')
Dear jslavin, Thank you for all your effort. As you mentionned in your email dated 24/08/2009, this version is no more supported. Whatever has been tried before did not work. I definitely stopped using Evolution. I am sorry for returning this information so late, but I did not received, for whatever reason, the intermediate notifications of the bug being updated. Thank you for your efforts. best regards, Michel
Well, supported or not, those of us who use CentOs (or RHEL) are stuck with it for a while. Yes, I have filed a bug with CentOs. The reason I continue to post bugs here is that I thought that perhaps the developers might provide a little information that might enable me to fix the problem for myself.
If you need help please ask in a forum. Thanks.