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 642082 - mail-client/evolution-2.32.2-r1 fails to open address book
mail-client/evolution-2.32.2-r1 fails to open address book
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Contacts
2.32.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2011-02-11 04:18 UTC by gottlieb
Modified: 2011-07-15 06:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description gottlieb 2011-02-11 04:18:14 UTC
This problem first occurred around gentoo's release 2-31.
It has been suggested that I report it here.
The gentoo bug is http://bugs.gentoo.org/show_bug.cgi?id=354233
The following is from that bug

This problem has existed for several evolution versions (see bug #348063).
I have been asked to open a new bug.

Current Status: ~amd64 evolution-2.32.2-r1, e-d-s-2.32.2, evo-python-2.32.0,
evo-webcal-2-32-0.  Calendar works; addressbook fails; tasks fail (I don't use
evo for Mail)

When I try, from gnome-terminal, evolution --component=addressbook 
evo starts and asserts "there are no items to show in this view".
Some seconds later, the terminal says

(evolution:16256): libebook-WARNING **: e-book.c:3079: cannot activate book:
Error calling StartServiceByName for
org.gnome.evolution.dataserver.AddressBook: Timeout was reached

(evolution:16256): e-utils-WARNING **: Something called
e_alert_dialog_constructed() with a NULL parent window.  This is no longer
legal, please fix it.

Also a dialog box appear saying

  Unable to open address book

  This address book cannot be opened.  Please check that the path
  /home/gottlieb/.local/share/evolution/addressbook/system exists and that
  permissions are set to access it.

  Detailed error message: Error calling StartServiceByName for
  org.gnome.evolution.dataserver.AddressBook: Timeout was reached

Note that /home/gottlieb/.local/share/evolution/addressbook/system *does*
exist and I can read it.  The directory is empty.

I had been asked to move my ~/.evolution to ~/evolution.old, which I did.

If I move it back and try evolution --component=addressbook, the same dialog
box appears but I get the following on the screen

Migrating cached data
Migrating config data
Migrating local user data
  rmdir /home/gottlieb/.evolution/addressbook
  FAILED: Directory not empty (contents follows)
          local
  rmdir /home/gottlieb/.evolution/tasks
  FAILED: Directory not empty (contents follows)
          tasks

(evolution:7204): libebook-WARNING **: e-book.c:3079: cannot activate book:
Error calling StartServiceByName for
org.gnome.evolution.dataserver.AddressBook: Timeout was reached

(evolution:7204): e-utils-WARNING **: Something called
e_alert_dialog_constructed() with a NULL parent window.  This is no longer
legal, please fix it.

============================================================================


(In reply to comment #3)
> You are trying to copy files to the old location: .evolution was replaced by
> .local/share/evolution, then, you should try to put that files under
> .local/share/evolution. 
> 
> This is what I have:
> 
>  $ ls -l .local/share/evolution/addressbook/system/ <---- THIS IS THE NEW
> LOCATION
> total 2578
> -rw------- 1 pacho users 2490368 feb  3 19:50 addressbook.db
> -rw-r--r-- 1 pacho users   63317 feb  3 19:50 addressbook.db.summary
> -rw-r--r-- 1 pacho users   24576 oct 27 10:42
> beagle-Cov0orOMp0yvFKfWvpnoEw.changes.db
> -rw------- 1 pacho users   49152 oct 27 10:42
> beagle-KQ1pxPptb0WoOvaqaUsvJg.changes.db
> -rw-r--r-- 1 pacho users   24576 oct 27 10:42
> beagle-MN+tklfPt0mEx8NEqFhO6Q.changes.db
> -rw------- 1 pacho users   49152 oct 27 10:42
> beagle-wfTvC2gCB02LniCxU_L5Ow.changes.db
> 

I knew that is the old location.  I wasn't sure that evo used the same
file format in the new location so want evo to do the migration just as it
had done successfully for the calendar.  Now I understand that migration
was just moving the files.  I now moved them.

gottlieb@ajglap ~ $ ls -l
/home/gottlieb/.local/share/evolution/addressbook/system/
total 200
-rw-r--r-- 1 gottlieb gottlieb 180224 Oct 24 16:39 addressbook.db
-rw-r--r-- 1 gottlieb gottlieb  17269 Oct 24 16:39 addressbook.db.summary
gottlieb@ajglap ~ $ 

However, I get the same dialog box and the same messages on the screen as
reported above.
Comment 1 Akhil Laddha 2011-02-14 06:29:01 UTC
Can you please check whether e-addressbook-factory is running or not ?
Comment 2 gottlieb 2011-02-14 15:18:21 UTC
(In reply to comment #1)
> Can you please check whether e-addressbook-factory is running or not ?

It is not.  I closed evolution then executed
  evolution --component=addressbook
waited for dialog box with the reported error msg and then typed
  ps x | grep e-add
the result was
  17348 pts/0    S+     0:00 grep --colour=auto e-add
FYI I then typed
  ps x | grep evo
and the result was
   4472 ?        SLl    0:00 /usr/libexec/evolution/2.32/evolution-alarm-notify
  17215 pts/0    SLl    0:01 evolution --component=addressbook
  17399 pts/0    S+     0:00 grep --colour=auto evo
Comment 3 Milan Crha 2011-03-01 09:36:17 UTC
When you fix this:
>  Detailed error message: Error calling StartServiceByName for
>  org.gnome.evolution.dataserver.AddressBook: Timeout was reached

then it may work after that. As far as I can tell this is an issue on your machine, maybe something with DBus. Who knows.

Please run e-addressbook-factory from a console, to see what it'll print there, and whether it'll crash or not. I have it located in /usr/libexec/e-addressbook-factory, but your gentoo can have it elsewhere.

Also note that there is a
/usr/share/dbus-1/services/org.gnome.evolution.dataserver.AddressBook.service
which contains an information for a DBus how to start the factory and where to find it.
Comment 4 gottlieb 2011-03-01 13:07:19 UTC
(In reply to comment #3)
> When you fix this:
> >  Detailed error message: Error calling StartServiceByName for
> >  org.gnome.evolution.dataserver.AddressBook: Timeout was reached
> 
> then it may work after that. As far as I can tell this is an issue on your
> machine, maybe something with DBus. Who knows.
> 
> Please run e-addressbook-factory from a console, to see what it'll print there,
> and whether it'll crash or not. I have it located in
> /usr/libexec/e-addressbook-factory, but your gentoo can have it elsewhere.

OK.
gottlieb@ajglap ~ $ /usr/libexec/e-addressbook-factory 
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'

But I still get the same errors as before and no contacts.

> Also note that there is a
> /usr/share/dbus-1/services/org.gnome.evolution.dataserver.AddressBook.service
> which contains an information for a DBus how to start the factory and where to
> find it.

This file contains
[D-BUS Service]
Name=org.gnome.evolution.dataserver.AddressBook
Exec=/usr/libexec/e-addressbook-factory

Also I believe I have dbus running (started at boot)
gottlieb@ajglap ~ $ ps ax | grep dbus
 3216 ?        Ss     0:02 /usr/bin/dbus-daemon --system
23254 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/ssh-agent -- gnome-session
23255 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 8 --session
23863 ?        S      0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 8 --session
Comment 5 Milan Crha 2011-03-02 15:04:59 UTC
(In reply to comment #4)
> gottlieb@ajglap ~ $ /usr/libexec/e-addressbook-factory 
> e-data-server-Message: adding type `EBookBackendWebdavFactory'

Does it end with "Server is up and running" and does it show any activity when you select a local calendar? Is your evolution-data-server of the same version as evolution? There should be always only one factory running, and if it doesn't, then the activity is shown on the other factory.

This really seems to me like some local issue on your machine. Maybe ask your distribution for help? I'm pretty much out of idea.
Comment 6 gottlieb 2011-03-02 15:44:26 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > gottlieb@ajglap ~ $ /usr/libexec/e-addressbook-factory 
> > e-data-server-Message: adding type `EBookBackendWebdavFactory'
> 
> Does it end with "Server is up and running"

No the last line is 
e-data-server-Message: adding type `EBookBackendLDAPFactory'

Perhaps more interesting is that when I run evolution and do
ps x | grep e-addr
nothing shows up.  When I run e-addressbook-factory from a terminal
naturally I do get a grep hit

> and does it show any activity when
> you select a local calendar?
No.  I unchecked and rechecked all calendars and made a new appointment
on my "personal on this computer" calendar and the terminal showed no
activity.  I should note that the calendars seem to work fine; it is the addressbook that fails

> Is your evolution-data-server of the same version
> as evolution? There should be always only one factory running, and if it
> doesn't, then the activity is shown on the other factory.

evo is 2.32.2-r1  and e-d-s is 2.32.2.  The -r1 is gentoo updating the ebuild.  In any case both are the latest gentoo versions.

> This really seems to me like some local issue on your machine. Maybe ask your
> distribution for help? I'm pretty much out of idea.

I started with bugs.gentoo.org and after a while was referred here.
Comment 7 Milan Crha 2011-03-03 07:31:09 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #4)
> > > gottlieb@ajglap ~ $ /usr/libexec/e-addressbook-factory 
> > > e-data-server-Message: adding type `EBookBackendWebdavFactory'
> > 
> > Does it end with "Server is up and running"
> 
> No the last line is 
> e-data-server-Message: adding type `EBookBackendLDAPFactory'
> 
> Perhaps more interesting is that when I run evolution and do
> ps x | grep e-addr
> nothing shows up.  When I run e-addressbook-factory from a terminal
> naturally I do get a grep hit

OK, so there's something wrong. Did it crash silently? When you run it under gdb, will it tell you anything?There is obviously no communication between Evolution (client) and e-addressbook-factory (server), which seems to me like something wrongly configures in your setup. What exactly I cannot tell, I'm sorry.
Comment 8 Serge Gavrilov 2011-03-25 19:04:59 UTC
Several people report this problem in gentoo bugzilla. Would you be so kind to  help to resolve this strange issue!

The bug is reproducible with new clean account. 

Please take a look http://bugs.gentoo.org/show_bug.cgi?id=354233
Comment 9 Serge Gavrilov 2011-03-25 19:47:32 UTC
Since I am not sure that I have the same problem as original reporter, I will open a new bug.
Comment 10 Milan Crha 2011-03-28 07:33:33 UTC
From the gentoo bug, the problem seems to be with Qt. See that report.
Comment 11 Akhil Laddha 2011-06-03 06:44:56 UTC
gottlieb, can you please response to comment#7, tia.
Comment 12 gottlieb 2011-06-03 11:37:07 UTC
(In reply to comment #11)
> gottlieb, can you please response to comment#7, tia.

My issues was fix by the cairo rebuild suggested in one of the bugs
this bug points to.  Specifically,

USE=-qt4 emerge -1 cairo
emerge -1 pango
emerge -1 libgweather
emerge -1 evolution-data-server

All is well here.
allan
Comment 13 Akhil Laddha 2011-07-15 06:50:37 UTC
Thanks.