Contacts not syncing with my computer

Bug #727370 reported by Jono Bacon
280
This bug affects 44 people
Affects Status Importance Assigned to Milestone
evolution-couchdb
Fix Released
Medium
Rodrigo Moya
evolution-couchdb (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Although I read #585530, contact syncing is not working for me in Evolution in Natty. I have enabled contact syncing in the Ubuntu One Control Panel and everything is installed as it should be. I have also tried killing the sync daemon and restarting it and no luck.

affects: bindwood → evolution-couchdb
Revision history for this message
Roman Yepishev (rye) wrote :

Hello Jono,

Could you please check whether you have evolution-couchdb package installed.

Additionally there is a simple script to see whether your desktopcouch installation is working:
http://people.canonical.com/~roman.yepishev/us/ubuntuone-desktopcouch-admin.py

Please download it and run as
python ubuntuone-desktopcouch-admin.py -l

It should print something like this:
System databases:
 * _users
 * management
User databases:
 * bookmarks
 220 documents, replication disabled
 * contacts
 47 documents
 * dc_trash
 271 documents
 * notes
 64 documents
 * test
 1 document
 * testdb
 1 document

Do you have contacts database listed there?

Changed in evolution-couchdb:
assignee: nobody → Roman Yepishev (rye)
status: New → Incomplete
Revision history for this message
Jono Bacon (jonobacon) wrote :

Hi Roman,

Thanks for the quick response.

I do have evolution-couchdb installed, and this is what I get when I run the command:

jono@forge:~$ python ubuntuone-desktopcouch-admin.py -l
System databases:
 * _users
 * management
User databases:
 * addrecordexample
 2 documents
 * appofjaq
 2 documents
 * bookmarks
 4 documents, replication disabled
 * bughugger
 2 documents
 * contacts
 1356 documents
 * danapp
 2 documents
 * dc_trash
 13 documents
 * deleterecordsexample
 2 documents
 * fetchrecordsexample
 3 documents
 * glade-help
 3 documents
 * glade-test
 3 documents
 * glade2
 3 documents
 * glade3
 3 documents
 * gwibber_accounts
 1 document
 * gwibber_preferences
 1 document
 * image-notes
 3 documents
 * lernid
 3 documents
 * listenchangesexample
 1 document
 * lolocopter
 3 documents
 * mergimus
 2 documents
 * mynewapp
 3 documents
 * notes
 82 documents
 * pyjunior
 2 documents
 * randomapp
 3 documents

That all looks good and the contacts part matches the number of contacts I have in Ubuntu One.

As such, it seems the problem is with Evolution not reading in my contacts from desktopcouch - everything is enabled in Evolution.

Changed in evolution-couchdb:
status: Incomplete → Confirmed
Revision history for this message
PeterPall (peterpall) wrote :

Nearly the same here:

Evolution isn't showing my ubuntuone contacts even if they clearly are synced - and if I go to the addressbook view I get an error message:

Address book could not be opened.
Detailed error message: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._e_2ddata_2dbook_2derror.Code100: Cannot open book: Could not create DesktopcouchSession object

gunter@book:~$ dbus-send --session --print-reply --dest=org.desktopcouch.CouchDB / org.desktopcouch.CouchDB.getPort
method return sender=:1.76 -> dest=:1.304 reply_serial=2
   int32 38312

gunter@book:~$ /usr/lib/evolution/e-addressbook-factory
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
Server is up and running...

Normally the messages end here and I don't get informed about why the addressbook from couchdb cannot be read. Today I got the following error message instead:
** (e-addressbook-factory:14223): WARNING **: Could not get OAuth tokens from keyring: No matching results
Bye.

That couchdb worked until this evening is shown by the next command:
gunter@book:~/Desktop$ python ubuntuone-desktopcouch-admin.py -l
System databases:
 * _users
 * management
User databases:
 * bookmarks
 3 documents
 * contacts
 141 documents
 * dc_trash
 52 documents
 * notes
 18 documents

Revision history for this message
PeterPall (peterpall) wrote :

Did get the error messages from e-addressbook-factory again that I got a few days back.

Revision history for this message
Jono Bacon (jonobacon) wrote :

I am quite concerned that this is not resolved and we are about to ship Beta 1 - this strikes me as a high-priority bug as a core feature in Ubuntu is not working. Can the Ubuntu One team advise on it's progress?

Changed in evolution-couchdb:
importance: Undecided → Medium
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Peter, the 1st e-addressbook-factory output that you added to the bug shows that desktopcouch hasn't added the OAuth tokens to the keyring, and hence evo-couchdb can't find them, which makes it fail to create the DesktopcouchSession object.

The 2nd output though shows no errors (those warnings are harmless, they're just when checking arguments passed to the json_object_* functions). I'll add code to check before calling those functions though, so that the output is cleaner

Changed in evolution-couchdb:
assignee: Roman Yepishev (rye) → Rodrigo Moya (rodrigo-moya)
status: Confirmed → In Progress
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Jono, can you obtain also the e-addressbook-factory output so that we know if your problem is the same as Peter's?

Revision history for this message
Jono Bacon (jonobacon) wrote :

Rodrigo - how do I do that?

Revision history for this message
Richard Senior (sanhozay) wrote :

I'll also get the output too. My contacts sync is not working (although it seems to have worked partially at some point).

Revision history for this message
Jono Bacon (jonobacon) wrote :

OK, I just ran:

jono@forge:~$ /usr/lib/evolution/e-addressbook-factory

I see this output:

e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
Server is up and running...

I then load Evo and click on the Contacts button and I see a dialog box that says:

This address book cannot be opened. This either means that an incorrect URI was entered, or the server is unreachable.

Detailed error message: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

At some point e-addressbook-factory segfaulted (Evo stays open though) - I am not sure when though - it might have happened after the dialog appeared or when I tried to add a new contract - clicking the New button does nothing - no new contact dialog box.

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

As for the crash, could you please do the following:

first, quit evolution, then, on a terminal:

$ killall -9 e-addressbook-factory
$ gdb /usr/lib/evolution/e-addressbook-factory
(gdb) r

then open evolution and try opening the U1 addressbook and, when e-addressbook-factory crashes, on the (gdb) prompt:

(gdb) thread apply all bt

and paste the full output of that command here?

Revision history for this message
Curtis Hovey (sinzui) wrote :

This is the ouput I get.
gdb /usr/lib/evolution/e-addressbook-factory
...
(gdb) r
Starting program: /usr/lib/evolution/e-addressbook-factory
[Thread debugging using libthread_db enabled]
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
[New Thread 0xb4c18b70 (LWP 27891)]
[New Thread 0xb4417b70 (LWP 27892)]
Server is up and running...
[Thread 0xb4417b70 (LWP 27892) exited]
[New Thread 0xb4417b70 (LWP 27919)]

** (e-addressbook-factory:27888): WARNING **: Could not get OAuth tokens from keyring: No matching results
[New Thread 0xb3affb70 (LWP 27934)]
book_view file uref
[Thread 0xb3affb70 (LWP 27934) exited]
[Thread 0xb4417b70 (LWP 27919) exited]

I see "Ubuntu One" in my passwords and encryption keys. I think this is fine since files are syncing.

Revision history for this message
Sebastien Bacher (seb128) wrote :

evolution-couchdb (0.5.3-0ubuntu1) natty; urgency=low

  * New upstream release:
     - Use g_propagate_error rather than g_set_error when we already have a
       local GError (Rodrigo Moya)
     - Add a temporary hack to avoid crashes on gnome-keyring in threads
       (Rodrigo Moya) (LP: #727370)
     - Translations:
       - cz (Marek Černocký)
       - es (Daniel Mustieles)
       - pt (António Lima)
       - sl (Matej Urbančič)

Changed in evolution-couchdb (Ubuntu):
importance: Undecided → Low
status: New → Fix Released
Changed in evolution-couchdb:
status: In Progress → Fix Released
Revision history for this message
Jono Bacon (jonobacon) wrote :

I just installed the update and I still don't see any contacts in Evolution. Setting back to Confirmed.

Changed in evolution-couchdb:
status: Fix Released → Confirmed
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Jono, can you please get the e-addressbook-factory output again then?

Revision history for this message
Felix Lawrence (felix-lawrence) wrote :

With evolution-couchdb 0.5.3-0ubuntu1, I don't get a segfault but contacts don't sync. I get the below dialog box, and the e-addressbook-factory output is below that. In the keyring there is a key for Ubuntu One but nothing else that's related to this.

Unable to open address book

This address book cannot be opened. This either means that an incorrect URI was entered, or the server is unreachable.

Detailed error message: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._e_2ddata_2dbook_2derror.Code100: Cannot open book: Could not create DesktopcouchSession object

$ /usr/lib/evolution/e-addressbook-factory
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
Server is up and running...
book_view file uref

** (e-addressbook-factory:4765): WARNING **: Could not get OAuth tokens from keyring: No matching results
libedata-book-Message: Flushed summary to disk
libedata-book-Message: Flushed summary to disk

** (e-addressbook-factory:4765): WARNING **: Could not get OAuth tokens from keyring: No matching results

** (e-addressbook-factory:4765): WARNING **: Could not get OAuth tokens from keyring: No matching results

** (e-addressbook-factory:4765): WARNING **: Could not get OAuth tokens from keyring: No matching results

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Felix, that seems to be desktopcouch not adding the tokens to the keyring, so can you please run, on a terminal:

1st, quit evolution
$ killall -9 e-addressbook-factory
$ /usr/lib/desktopcouch-stop
$ rm ~/.config/desktop-couch/desktop-couchdb.ini
$ /usr/lib/evolution/e-addressbook-factory

and then start evolution and try connecting to your U1 addressbook? If it fails, please paste the e-addressbook-factory output again

Revision history for this message
Jono Bacon (jonobacon) wrote :

Rodrigo, I just followed those steps and still nothing happens.

When I try to access the addressbook in Evolution I get an error saying the addressbook is unreachable and that a timeout occurred.

Revision history for this message
Roman Yepishev (rye) wrote :

Regarding keyring entries not being added - that may be LP:668409
Workaround is to remove ~/.local/share/desktop-couch/couchdb.html too

Revision history for this message
Curtis Hovey (sinzui) wrote :

Hi Rodrigo.

\o/ I see my contacts for the first time in 4 months after following the instructions to delete the ini file. This is a pretty non-obvious solution. Did something corrupt my setup? Is something that evolution-couch can do, or suggest that I do?

Revision history for this message
Curtis Hovey (sinzui) wrote :

While Rodrigos instructions fixed my issue, I neglected to mention that there is typo in the instructions. This is what I did:
1st, quit evolution
$ killall -9 e-addressbook-factory
$ /usr/lib/desktopcouch/desktopcouch-stop
$ rm ~/.config/desktop-couch/desktop-couchdb.ini
$ /usr/lib/evolution/e-addressbook-factory

Revision history for this message
Felix Lawrence (felix-lawrence) wrote :

Thanks Rodrigo, those instructions worked for me. I had to do the process twice - the first time, I think I got Jono's timeout message, and in the terminal I got the usual "Could not get OAuth tokens from keyring" message.

Things seem to be working as they should now - however if I look in the terminal, e-addressbook-factory is giving me lots of CRITICAL messages:

felix@camelbuntu:~$ /usr/lib/evolution/e-addressbook-factory
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
Server is up and running...

(e-addressbook-factory:18091): Json-CRITICAL **: json_object_get_object_member: assertion `node != NULL' failed

(e-addressbook-factory:18091): Json-CRITICAL **: json_object_get_object_member: assertion `node != NULL' failed

(e-addressbook-factory:18091): Json-CRITICAL **: json_object_get_object_member: assertion `node != NULL' failed

this last message is repeated lots and lots of times. Might be a separate issue though, and appears symptomless at the moment.

Revision history for this message
Calin Cerghedean (ccerghe1) wrote : Re: [Bug 727370] Re: Contacts not syncing with my computer

I have been having the same issue since the initial upgrade to Natty.
After following the recommended steps, Evolution still has an empty
address book, but the error message is a bit different than before.
"DBus.Error.NoReply: Message did not receive a reply (timeout by message
bus)"
...and the terminal window is displaying:
~$ /usr/lib/evolution/e-addressbook-factory
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
Migrating cached backend data
Migrating local backend data
  rmdir /home/ccerghed/.evolution
  FAILED: Directory not empty (contents follows)
          tasks
Server is up and running...

** (e-addressbook-factory:13563): WARNING **: Could not get CouchDB
database info: Bad Request

** (e-addressbook-factory:13563): WARNING **: Could not create
'contacts' database: Bad Request
Segmentation fault (core dumped)

On Tue, 2011-04-05 at 22:57 +0000, Felix Lawrence wrote:
> Thanks Rodrigo, those instructions worked for me. I had to do the
> process twice - the first time, I think I got Jono's timeout message,
> and in the terminal I got the usual "Could not get OAuth tokens from
> keyring" message.
>
> Things seem to be working as they should now - however if I look in the
> terminal, e-addressbook-factory is giving me lots of CRITICAL messages:
>
> felix@camelbuntu:~$ /usr/lib/evolution/e-addressbook-factory
> e-data-server-Message: adding type `EBookBackendWebdavFactory'
> e-data-server-Message: adding type `EBookBackendVCFFactory'
> e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
> e-data-server-Message: adding type `EBookBackendCouchDBFactory'
> e-data-server-Message: adding type `EBookBackendGoogleFactory'
> e-data-server-Message: adding type `EBookBackendFileFactory'
> e-data-server-Message: adding type `EBookBackendGalFactory'
> e-data-server-Message: adding type `EBookBackendExchangeFactory'
> e-data-server-Message: adding type `EBookBackendLDAPFactory'
> Server is up and running...
>
> (e-addressbook-factory:18091): Json-CRITICAL **:
> json_object_get_object_member: assertion `node != NULL' failed
>
> (e-addressbook-factory:18091): Json-CRITICAL **:
> json_object_get_object_member: assertion `node != NULL' failed
>
> (e-addressbook-factory:18091): Json-CRITICAL **:
> json_object_get_object_member: assertion `node != NULL' failed
>
> this last message is repeated lots and lots of times. Might be a
> separate issue though, and appears symptomless at the moment.
>

Revision history for this message
Felix Lawrence (felix-lawrence) wrote :

At some point in the process, a folder "couchdb:" was created in my home directory. The folder contained a file "127.0.0.1" which is an XML file of my contacts. It starts like this (personal details replaced with X).

<?xml version="1.0" encoding="UTF-8"?>
<xmlhash>
  <object uid="4a2fbfa6157e15c5acd55ed3b8000131">BEGIN:VCARD&#13;
VERSION:3.0&#13;
X-COUCHDB-APPLICATION-ANNOTATIONS:{ "Evolution" : { "revision" : "2011-02-0&#13;
 2T13:50:01Z" } }&#13;
UID:4a2fbfa6157e15c5acd55ed3b8000131&#13;
N:XXX, XXXX;;;&#13;
X-EVOLUTION-FILE-AS:XXX\, XXXX&#13;
FN:XXXX XXX&#13;
EMAIL;X-COUCHDB-UUID="b297d037-98e3-4dd9-b59d-becdfd4a97f5":XXXX@XXXXX&#13;
 XXXX.com.au&#13;
REV:2011-02-02T13:50:01Z&#13;
END:VCARD</object>

Changed in evolution-couchdb:
status: Confirmed → In Progress
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Calin: your problem seems to be related to the OAuth tokens, so can you please compare the tokens in the ~/.config/desktop-couch/desktop-couchdb.ini and the ones in the keyring (search for 'desktopcouch' in seahorse)

Felix: right, just saw the same, seems the e-d-s API in 2.32 has changed, looking into fixing that so that the cache is stored in a proper directory

Revision history for this message
Calin Cerghedean (ccerghe1) wrote :

Thanks for the suggestion - I was able to find the tokens in the .ini
file, but not in seahorse. In my attempt to get this to work, I deleted
the desktopcouch keys (there were 2 of them yesterday.)

On Wed, 2011-04-06 at 10:37 +0000, Rodrigo Moya wrote:
> Calin: your problem seems to be related to the OAuth tokens, so can you
> please compare the tokens in the ~/.config/desktop-couch/desktop-
> couchdb.ini and the ones in the keyring (search for 'desktopcouch' in
> seahorse)
>
> Felix: right, just saw the same, seems the e-d-s API in 2.32 has
> changed, looking into fixing that so that the cache is stored in a
> proper directory
>

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Ok, just remembered we disable debug messages in couchdb-glib by default, so everyone, before running /usr/lib/evolution/e-addressbook-factory as stated above, please run this on the same terminal:

$ export COUCHDB_DEBUG_MESSAGES=1

thus we will get a better debugging information

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Calin, ok so that's LP:668409 as Roman said before

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Just found out we disable debug messages in the couchdb-glib package, so just uploaded 0.7.2-0ubuntu2 to natty, so please make sure you have:

gir1.2-couchdb-1.0_0.7.2-0ubuntu2_amd64.deb
gir1.2-desktopcouch-1.0_0.7.2-0ubuntu2_amd64.deb
libcouchdb-glib-1.0-2_0.7.2-0ubuntu2_amd64.deb
libcouchdb-glib-dev_0.7.2-0ubuntu2_amd64.deb
libcouchdb-glib-doc_0.7.2-0ubuntu2_all.deb
libdesktopcouch-glib-1.0-2_0.7.2-0ubuntu2_amd64.deb
libdesktopcouch-glib-dev_0.7.2-0ubuntu2_amd64.deb

(the -dev and -doc packages are not needed really) when the upgrade is in natty, and then run e-addressbook-factory after setting that environment variable in the same terminal

Revision history for this message
Calin Cerghedean (ccerghe1) wrote :

I was able to avoid the previous crash (unable to create desktopcouch
object) by deleting the .ini file.
Now, I get an empty address book, and after a few seconds, a timeout
error. Here is the output from the terminal:
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
Server is up and running...

** (e-addressbook-factory:23435): WARNING **: Couldn't get desktopcouch
port: Timeout was reached

On Wed, 2011-04-06 at 16:06 +0000, Rodrigo Moya wrote:
> Just found out we disable debug messages in the couchdb-glib package, so
> just uploaded 0.7.2-0ubuntu2 to natty, so please make sure you have:
>
> gir1.2-couchdb-1.0_0.7.2-0ubuntu2_amd64.deb
> gir1.2-desktopcouch-1.0_0.7.2-0ubuntu2_amd64.deb
> libcouchdb-glib-1.0-2_0.7.2-0ubuntu2_amd64.deb
> libcouchdb-glib-dev_0.7.2-0ubuntu2_amd64.deb
> libcouchdb-glib-doc_0.7.2-0ubuntu2_all.deb
> libdesktopcouch-glib-1.0-2_0.7.2-0ubuntu2_amd64.deb
> libdesktopcouch-glib-dev_0.7.2-0ubuntu2_amd64.deb
>
> (the -dev and -doc packages are not needed really) when the upgrade is
> in natty, and then run e-addressbook-factory after setting that
> environment variable in the same terminal
>

Revision history for this message
Calin Cerghedean (ccerghe1) wrote :

I was finally able to fix the issue, by running the following commands:
$ killall -9 e-addressbook-factory
$ /usr/lib/desktopcouch-stop
$ rm ~/.config/desktop-couch/desktop-couchdb.ini
$ /usr/lib/evolution/e-addressbook-factory

If I start Evolution right after these steps, you will get a timeout
message, and an empty address book.
The only way this worked for me was to run the desktopcouch-service from
the terminal (see debug messages in the desktopcouch-service.log
attachment.)
Now I actually have my Ubuntu One address book replicated to my machine.

On Wed, 2011-04-06 at 16:06 +0000, Rodrigo Moya wrote:
> Just found out we disable debug messages in the couchdb-glib package, so
> just uploaded 0.7.2-0ubuntu2 to natty, so please make sure you have:
>
> gir1.2-couchdb-1.0_0.7.2-0ubuntu2_amd64.deb
> gir1.2-desktopcouch-1.0_0.7.2-0ubuntu2_amd64.deb
> libcouchdb-glib-1.0-2_0.7.2-0ubuntu2_amd64.deb
> libcouchdb-glib-dev_0.7.2-0ubuntu2_amd64.deb
> libcouchdb-glib-doc_0.7.2-0ubuntu2_all.deb
> libdesktopcouch-glib-1.0-2_0.7.2-0ubuntu2_amd64.deb
> libdesktopcouch-glib-dev_0.7.2-0ubuntu2_amd64.deb
>
> (the -dev and -doc packages are not needed really) when the upgrade is
> in natty, and then run e-addressbook-factory after setting that
> environment variable in the same terminal
>

Revision history for this message
PeterPall (peterpall) wrote :

On my computer it is sufficient to do a

$ killall -9 e-addressbook-factory
$ /usr/lib/evolution/e-addressbook-factory

and to wait about 10 seconds prior to starting evolution to be able to see the contacts.
But I have to repeat these steps every time i log in to my computer.

Since the above commands won't help if the network connection isn't running it somehow looks like something is starting e-addressbook-factory before the network is up and e-addressbook-factory won't recover from this;
Any try to copy all contacts from the couchdb to the local addressbook will still result in a timeout , though.

Revision history for this message
PeterPall (peterpall) wrote :

Very interesting:

$ killall -9 e-addressbook-factory
$ /usr/lib/evolution/e-addressbook-factory

Fixed the problem only for the current session for me even if I used it for months.

$ killall -9 e-addressbook-factory
$ export COUCHDB_DEBUG_MESSAGES=1
$ /usr/lib/evolution/e-addressbook-factory

has fixed the problem completely.

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

There was a problem in desktopcouch package, so please make sure you update it to the latest available. Also, the network connection doesn't need to be up for U1 contacts to show up, as there is no online connection, it just connects to the local desktopcouch.

So closing this bug as it should be fixed, so please reopen it if after having upgraded you still see it

Changed in evolution-couchdb:
status: In Progress → Fix Released
Revision history for this message
Jono Bacon (jonobacon) wrote :

This bug is still affecting me in Evolution - I have followed all of the steps in this bug report and I am up to date, but I still see no contacts in Evolution. I still get a timeout error dialog when I try to access to the contacts in Evo. I know the contacts are synced - they appear in Futon.

What can I do to help identify what is wrong?

Changed in evolution-couchdb:
status: Fix Released → Confirmed
Changed in evolution-couchdb (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Jono, please run:

$ apt-cache policy desktopcouch couchdb

Maybe you have the nightlies, which were broken

Revision history for this message
Jono Bacon (jonobacon) wrote :

Hi Rodrigo,

jono@forge:~$ apt-cache policy desktopcouch couchdb
couchdb:
  Installed: (none)
  Candidate: 1.0.1-0ubuntu14
  Version table:
     1.0.1-0ubuntu14 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/universe i386 Packages
desktopcouch:
  Installed: 1.0.7-0ubuntu2
  Candidate: 1.0.7-0ubuntu2
  Version table:
 *** 1.0.7-0ubuntu2 0
        500 http://archive.ubuntu.com/ubuntu/ natty/main i386 Packages
        100 /var/lib/dpkg/status

I have not been using the nightlies. Is there anything else I can do?

Revision history for this message
Jono Bacon (jonobacon) wrote :

I noticed it said:

couchdb:
  Installed: (none)

So I installed couchdb, which seemed to pull it in from Universe - should I have done that?

Now I have:

jono@forge:~$ apt-cache policy desktopcouch couchdb
couchdb:
  Installed: 1.0.1-0ubuntu14
  Candidate: 1.0.1-0ubuntu14
  Version table:
 *** 1.0.1-0ubuntu14 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/universe i386 Packages
        100 /var/lib/dpkg/status
desktopcouch:
  Installed: 1.0.7-0ubuntu2
  Candidate: 1.0.7-0ubuntu2
  Version table:
 *** 1.0.7-0ubuntu2 0
        500 http://archive.ubuntu.com/ubuntu/ natty/main i386 Packages
        100 /var/lib/dpkg/status

Revision history for this message
Jono Bacon (jonobacon) wrote :

I just ran though these steps again:

$ killall -9 e-addressbook-factory
$ /usr/lib/desktopcouch/desktopcouch-stop
$ rm ~/.config/desktop-couch/desktop-couchdb.ini
$ /usr/lib/evolution/e-addressbook-factory

Still no contacts in Evo and still get the timeout message. :-/

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

If you didn't have couchdb installed, what was showing up in futon? About it being pulled from universe, it's normal, since it's not in main it seems.

So, what URL were you using when using Futon?

If the non-installation of couchdb was the problem, it will take 10/15 mins at least for desktopcouch to sync the contacts from the cloud to your computer, so you can check ~/.cache/desktop-couch/log/desktop-couch-replication.log.

Revision history for this message
Jono Bacon (jonobacon) wrote :

As requested from Rodrigo on IRC:

jono@forge:~$ export COUCHDB_DEBUG_MESSAGES=1
jono@forge:~$ /usr/lib/evolution/e-addressbook-factory
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
Server is up and running...

When I then access the U1 Contacts in Evo I get this error in Evo:

Unable to open address book

This address book cannot be opened. This either means that an incorrect URI was entered, or the server is unreachable.

Detailed error message: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._e_2ddata_2dbook_2derror.Code100: Cannot open book: Could not create DesktopcouchSession object

and in the terminal (e-addressbook-factory) says:

Unable to open address book

This address book cannot be opened. This either means that an incorrect URI was entered, or the server is unreachable.

Detailed error message: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._e_2ddata_2dbook_2derror.Code100: Cannot open book: Could not create DesktopcouchSession object

and crashes.

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Ok Jono, please do the following:

1st, quit evolution, then:

$ killall -9 e-addressbook-factory
$ export COUCHDB_DEBUG_MESSAGES=1
$ gdb /usr/lib/evolution/e-addressbook-factory
(gdb) r

then try opening the U1 addressbook in Evolution and when e-addressbook-factory, on the (gdb) prompt in the terminal:

(gdb) thread apply all bt

and paste the whole output in the terminal here

Changed in evolution-couchdb:
status: Confirmed → In Progress
Revision history for this message
Jono Bacon (jonobacon) wrote :

Thanks, Rodrigo. I was a bit confused at the last step - after I had typed 'r' in gdb and started Evo, there was no gdb prompt to type 'thread apply all bt', so I hit Ctrl-C and typed it, this is the scrollback from the terminal:

jono@forge:~$ killall -9 e-addressbook-factory
jono@forge:~$ export COUCHDB_DEBUG_MESSAGES=1
jono@forge:~$ gdb /usr/lib/evolution/e-addressbook-factory
GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/evolution/e-addressbook-factory...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/lib/evolution/e-addressbook-factory
[Thread debugging using libthread_db enabled]
e-data-server-Message: adding type `EBookBackendVCFFactory'
e-data-server-Message: adding type `EBookBackendGoogleFactory'
e-data-server-Message: adding type `EBookBackendGalFactory'
e-data-server-Message: adding type `EBookBackendExchangeFactory'
e-data-server-Message: adding type `EBookBackendCouchDBFactory'
e-data-server-Message: adding type `EBookBackendWebdavFactory'
e-data-server-Message: adding type `EBookBackendFileFactory'
e-data-server-Message: adding type `EBookBackendGroupwiseFactory'
e-data-server-Message: adding type `EBookBackendLDAPFactory'
[New Thread 0xb7fdeb70 (LWP 15620)]
[New Thread 0xb75ffb70 (LWP 15621)]
Server is up and running...
[Thread 0xb75ffb70 (LWP 15621) exited]

thread apply all bt

^C
Program received signal SIGINT, Interrupt.
0x0012e416 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 2 (Thread 0xb7fdeb70 (LWP 15620)):
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x005e6f76 in poll () from /lib/i386-linux-gnu/libc.so.6
#2 0x0045d84b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3 0x0044d1af in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4 0x0044d92b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5 0x0020c434 in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6 0x004762df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7 0x00511e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8 0x005f573e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb7fdf730 (LWP 15617)):
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x005e6f76 in poll () from /lib/i386-linux-gnu/libc.so.6
#2 0x0045d84b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3 0x0044d1af in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4 0x0044d92b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5 0x0804b1e3 in ?? ()
#6 0x0053be37 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#7 0x08049df1 in ?? ()
(gdb)

Let me know if I need to do anything differently.

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Jono, I've just pushed a package branch with the patch we talked yesterday. It seems to work ok when you don't have many contacts, but with 1500 I added, evolution doesn't display them all correctly (the space for the contact is shown, but not the contact's details until you navigate to the hidden contacts with the keyboard). So, I'm pushing the branch so that you can have a test, but I need to do some more debugging to see why evolution doesn't display them, so too late for natty. If it works ok for both you and me, we can SRU. I guess it's an evolution bug, but I can't really submit this to natty for now.

So, the branch is at lp:~rodrigo-moya/ubuntu/natty/evolution-couchdb/idle-loading, so do the following:

$ bzr get lp:~rodrigo-moya/ubuntu/natty/evolution-couchdb/idle-loading
$ cd idle-loading
$ bzr bd -- -b

this will build the .debs, which you can then install from ../build-area. So please have a try for a few days, and next week we can SRU it.

Revision history for this message
James Schriver (dashua) wrote :

@Rodrigo, works good. I can now delete u1 synced contacts now through evolution with this patch. I was getting an error before.

Revision history for this message
Apteryx (maxco) wrote :

Hi Rodrigo! I have the same problem on Natty. I've attached "logfile.txt" which is the output from the commands described in #42. The output of the "apt-cache policy desktopcouch couchdb" command (post #36) is:
couchdb:
  Installé : 1.0.1-0ubuntu15
  Candidat : 1.0.1-0ubuntu15
 Table de version :
 *** 1.0.1-0ubuntu15 0
        500 http://mirror.clibre.uqam.ca/ubuntu/ natty/universe amd64 Packages
        100 /var/lib/dpkg/status
desktopcouch:
  Installé : 1.0.7-0ubuntu2
  Candidat : 1.0.7-0ubuntu2
 Table de version :
 *** 1.0.7-0ubuntu2 0
        500 http://mirror.clibre.uqam.ca/ubuntu/ natty/main amd64 Packages
        100 /var/lib/dpkg/status

Revision history for this message
Apteryx (maxco) wrote :

As reported in bug #471805, the synchronization of my contacts to Ubuntu One now works for me, on Natty 64 bits. By the way, is #471805 a duplicate of this bug?

I also had to install manually couchdb and some of the packages you listed in post #29. If these are really required, there is a problem here, because the couchdb package was never installed on a fresh install of Natty, even after activating all the services in Ubuntu One.

Revision history for this message
Raphael Barabas (irgendwoanders) wrote :

Can someone confirm that package "couchdb" is actually needed for contact sync?

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

yes, couchdb is needed for contact syncing

Revision history for this message
Roman Yepishev (rye) wrote :

couchdb-bin, desktopcouch, evolution-couchdb and bindwood are not installed by default.
They can be installed from Ubuntu One Control Panel on the Services tab.

Revision history for this message
Apteryx (maxco) wrote :

Rodrigo, thank you for the reply, but is couchdb-bin enough or couchdb is required?

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

I think couchdb-bin should be enough

Changed in evolution-couchdb:
status: In Progress → Fix Released
Changed in evolution-couchdb (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.