CardDAV sync fails with error 409

Tracked by Jolla

asked 2017-07-06 02:35:40 +0300

luen gravatar image

updated 2017-07-06 02:40:56 +0300

When I synchronized my cardDAV account, it used to fail and carddav-client wrote the following in the log:

[W] CardDav::upsyncResponse:1128 - void CardDav::upsyncResponse() error: 299 ( 409 )
[W] Syncer::cardDavError:290 - CardDAV sync finished with error: 409 purging state data for account: 24
[C] CardDavClient::syncFinished:142 - CardDAV sync failed: 401 ""

As I understand it, 409 refers to the HTTP response code, and 409 means Conflict:

Indicates that the request could not be processed because of conflict in the request, such as an edit conflict between multiple simultaneous updates.

  • buteo-sync-plugin-carddav version: 0.0.24-1.15.1 (SFOS 2.0.5.6 on FP2).
  • On the server I run Baikal 0.4.6 (with sabre/dav 3.1.4)

I could find the conflicting contact by checking the server logs (it attempted PUT /dav.php/addressbooks/erik/default/<CONTACT ID>.vcf/<ANOTHER ID>.vcf but got 409), so I removed the contact from the addressbook in Sailfish, but now I instead get the following sync error:

[W] Syncer::continueSync:166 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "24:AB:/dav.php/addressbooks/erik/default/<CONTACT ID>.vcf:<CONTACT ID>" from account 24
[W] Syncer::cardDavError:290 - CardDAV sync finished with error: 0 purging state data for account: 24
[C] CardDavClient::syncFinished:142 - CardDAV sync failed: 401 ""
edit retag flag offensive close delete