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 547565 - Address book is unreachable
Address book is unreachable
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Contacts
2.22.x (obsolete)
Other All
: Normal normal
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2008-08-13 10:21 UTC by mweynants
Modified: 2009-09-02 17:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Output from evolution-data-server (4.91 KB, text/plain)
2008-08-13 12:59 UTC, mweynants
Details
Output of evolution (316 bytes, text/plain)
2008-08-13 13:00 UTC, mweynants
Details

Description mweynants 2008-08-13 10:21:00 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)
Comment 1 André Klapper 2008-08-13 11:45:25 UTC
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.
Comment 2 mweynants 2008-08-13 12:59:07 UTC
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.
Comment 3 mweynants 2008-08-13 13:00:36 UTC
Created attachment 116496 [details]
Output of evolution

Output of evolution when selecting the 'Contact' from main page. Please see 'evolution-data-serve' details.
Comment 4 André Klapper 2008-08-13 14:16:59 UTC
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
Comment 5 André Klapper 2008-08-13 14:26:21 UTC
> 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?
Comment 6 mweynants 2008-08-13 17:49:20 UTC
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
Comment 7 André Klapper 2008-08-13 18:28:09 UTC
(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
Comment 8 mweynants 2008-08-13 19:24:31 UTC
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
Comment 9 André Klapper 2008-08-13 20:29:33 UTC
hmm, looks all good to me. no, don't revert the name - could have been only if you had copied gconf data too.
Comment 10 Srinivasa Ragavan 2008-08-14 09:09:18 UTC
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. 
Comment 11 Akhil Laddha 2009-02-03 05:37:12 UTC
see bug 542284 , bug 569909 , bug 545992 look dupe to me 
Comment 12 Akhil Laddha 2009-08-24 12:43:45 UTC
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.
Comment 13 jslavin 2009-09-02 14:25:15 UTC
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):
  • File "<stdin>", line 1 in ?
  • File "/usr/lib64/python2.4/bsddb/__init__.py", line 270 in first
    rv = self.dbc.first()
bsddb._db.DBRunRecoveryError: (-30977, 'DB_RUNRECOVERY: Fatal error, run database recovery -- addressbook.db: pgin failed for page 1')

  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.
Comment 14 jslavin 2009-09-02 17:10:53 UTC
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')
Comment 15 mweynants 2009-09-02 17:24:57 UTC
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
Comment 16 jslavin 2009-09-02 17:40:35 UTC
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.
Comment 17 André Klapper 2009-09-02 17:49:57 UTC
If you need help please ask in a forum. Thanks.