Saturday, 6 February 2010

Akondai / KAddressBook / Google Error

Background

Following the installation of Akondai, I can sync with google and fetch / update calendar entries, and fetch contacts, but when I try to add the new contact "Google Test" with a phone number of "1234" on my PC using KAddressbook, I get an error - "Failed adding new contact".

Information Gathering

I run the Akondai Console, and enable debugging, and I see:

NotificationManager::notify ( Item (678, ) in collection 7 added )

AgentBase(akonadi_googledata_resource_1): Failed adding new contact.

And

0x9b81c50 * OK Akonadi Almost IMAP Server [PROTOCOL 15]

0x9b81c50 0 LOGIN "kontact-476707713"

0x9b81c50 0 OK User logged in

0x9b81c50 1 BEGIN

0x9b81c50 1 OK Begin completed

0x9b81c50 2 APPEND 7 0 (\MimeType[text/directory]) {141}

0x9cf8698 + Ready for literal data (expecting 141 bytes)

0x9b81c50 2 [UIDNEXT 678 DATETIME "06-Feb-2010 16:46:56 +0000"]

0x9b81c50 2 OK Append completed

0x9b81c50 3 COMMIT

0x9b81c50 3 OK Commit completed

0x9bba558 3931 X-AKLSUB 7 0 ()

0x9bba558 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9bba558 3931 OK List completed

0x9bba558 3932 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9bba558 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9bba558 3932 OK UID FETCH completed

0x9bba558 3933 X-AKLSUB 7 0 ()

0x9bba558 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9bba558 3933 OK List completed

0x9bba558 3934 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9bba558 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9bba558 3934 OK UID FETCH completed

0x9bba558 3935 X-AKLSUB 7 0 ()

0x9b0b3c0 635 X-AKLSUB 7 0 ()

0x9bba558 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9bba558 3935 OK List completed

0x9b95838 1335 X-AKLSUB 7 0 ()

0x9b95838 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9b95838 1335 OK List completed

0x9bba558 3936 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9b95838 1336 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9b0b3c0 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9b95838 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9bba558 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9b0b3c0 635 OK List completed

0x9b0b3c0 636 UID FETCH 678 FULLPAYLOAD CACHEONLY EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9bba558 3936 OK UID FETCH completed

0x9b95838 1336 OK UID FETCH completed

0x9b0b3c0 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9b0b3c0 636 OK UID FETCH completed

0x9c79110 2712 X-AKLSUB 7 0 ()

0x9c79110 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9c79110 2712 OK List completed

0x9c79110 2713 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9c79110 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9c79110 2713 OK UID FETCH completed

0x9c79110 2714 X-AKLSUB 7 0 ()

0x9c79110 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9c79110 2714 OK List completed

0x9c79110 2715 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9c79110 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9c79110 2715 OK UID FETCH completed

0x9b0b3c0 637 UID STORE 678 NOREV (REMOTEID.SILENT "" DIRTY.SILENT false PLD:RFC822.SILENT {141}

0x9b95d78 + Ready for literal data (expecting 141 bytes)

0x9b0b3c0 637 OK DATETIME "06-Feb-2010 16:46:56 +0000" STORE completed

0x9c0c9e0 336 STATUS 7 (MESSAGES UNSEEN SIZE)

0x9c0c9e0 * STATUS "akonadi_googledata_resource_1" (MESSAGES 60 UNSEEN 60 SIZE 111201)

0x9c0c9e0 336 OK STATUS completed

When I ise the Akondai console to look in the database, I can see the new entry I have added:
BEGIN:VCARD

CLASS:PUBLIC

FN:Google Test

N:Test;Google;;;

NAME:Google Test

TEL;TYPE=HOME:1234

UID:7sKGnrCVCK

VERSION:3.0

END:VCARD

Diagnosis


As the entry successfully gets placed into the Akondai sql database, it is assumed that the problem is caused by the communication between Akondai and google.

I know that the authentication link is OK, as the rest of the contact information came from google in the first place. Plus, I can modify an entry on google, and see the results within Kontact.

Research

It appears that there is a problem with the library that communicates with google. The libraries ARE called akonadi-googledata libgcal.

There is currently a known feature whereby contacts that have 1 or more phone number, or 1 or more email address do not synchronise correctly.

At present, I am assuming that this is the same cause as above.

The 'broken' version of libgcal is 0.98 and akonadi-googledata is 1.0.1, and the latest information can be found here: http://code.google.com/p/libgcal/issues/detail?id=50







No comments:

Post a Comment