We have moved to a new Sailfish OS Forum. Please start new discussions there.

Revision history [back]

click to hide/show revision 1
initial version

posted 2020-06-30 10:04:08 +0200

CardDav sync draining battery by continiously resyncing due to an error

HI there!

Since about 3 days, my phone has been extremely hot and drained its battery within 4-5 hours while idle on my Xperia X, while Android support was disabled. After some digging, it seemed that the buteo CardDav synchronisation plugin was almost continuously using up 1 full CPU core according to htop.

After following the steps at https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Sync_Logs it seems like the sync plugin is failing and almost immediately restarting. Some relevant log lines:

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"
[D] unknown:0 - Disable sync on change: false false
[D] unknown:0 - Process 6924 has been killed

...

[D] {IRRELEVANT DATA CUT}<d:response><d:href>/dav.php/addressbooks/chris/default/e1a2f6de68b142ce9f810ce75cb157b9.vcf</d:href><d:propstat><d:prop><d:getetag>&quot;80e6ca1aa324c64ab25574f71e063c6d&quot;</d:getetag><card:address-data>BEGIN:VCARD&#13;"
[D] unknown:0 - "VERSION:3.0&#13;" 
[D] unknown:0 - "PRODID:-//Sabre//Sabre VObject 4.3.0//EN&#13;" 
[D] unknown:0 - "UID:e1a2f6de68b142ce9f810ce75cb157b9&#13;"
[D] unknown:0 - "FN:{REDACTED}&#13;" 
[D] unknown:0 - "N:{REDACTED};{REDACTED};;;&#13;" 
[D] unknown:0 - "BDAY:{REDACTED}&#13;" 
[D] unknown:0 - "TEL;TYPE=CELL:{REDACTED}&#13;" 
[D] unknown:0 - "NOTE:IBAN:{REDACTED}&#13;" 
[D] unknown:0 - "REV:20200425T111931Z&#13;" [D] unknown:0 - "END:VCARD&#13;" 
[D] unknown:0 - "</card:address-data></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>"

...

[D] unknown:0 - Parsed pure server-addition with guid: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9"
[D] unknown:0 - void CardDav::downsyncComplete() downsync complete with total AMR: 63 , 0 , 0

...

[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" marked as added or modified remotely, not found locally
[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" was downloaded during a failed sync and then modified remotely

...

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - New network state: true  New type:  "WLAN" ( 2 )
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"

And the cycle starts anew.

Any hints on how to resolve this would be appreciated. I'm using Baikal 7.0 (which uses Sabre/Dav 4.1.0) as my CalDAV and CardDav server, if that matters. I guess I'll try duplicating the contact and removing the one that caused the synchronisation issue.

And as a suggestion on the software side: it would be nice if the synchronisation daemon would disable the synchronisation if it fails for example 3 times in a row, while notifying the user with some helpful information why it went wrong, so they know about it and can take action.

CardDav sync draining battery by continiously resyncing due to an error

HI there!

Since about 3 days, my phone has been extremely hot and drained its battery within 4-5 hours while idle on my Xperia X, while Android support was disabled. After some digging, it seemed that the buteo CardDav synchronisation plugin was almost continuously using up 1 full CPU core according to htop.

After following the steps at https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Sync_Logs it seems like the sync plugin is failing and almost immediately restarting. Some relevant log lines:

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"
[D] unknown:0 - Disable sync on change: false false
[D] unknown:0 - Process 6924 has been killed

...

[D] {IRRELEVANT DATA CUT}<d:response><d:href>/dav.php/addressbooks/chris/default/e1a2f6de68b142ce9f810ce75cb157b9.vcf</d:href><d:propstat><d:prop><d:getetag>&quot;80e6ca1aa324c64ab25574f71e063c6d&quot;</d:getetag><card:address-data>BEGIN:VCARD&#13;"
[D] unknown:0 - "VERSION:3.0&#13;" 
[D] unknown:0 - "PRODID:-//Sabre//Sabre VObject 4.3.0//EN&#13;" 
[D] unknown:0 - "UID:e1a2f6de68b142ce9f810ce75cb157b9&#13;"
[D] unknown:0 - "FN:{REDACTED}&#13;" 
[D] unknown:0 - "N:{REDACTED};{REDACTED};;;&#13;" 
[D] unknown:0 - "BDAY:{REDACTED}&#13;" 
[D] unknown:0 - "TEL;TYPE=CELL:{REDACTED}&#13;" 
[D] unknown:0 - "NOTE:IBAN:{REDACTED}&#13;" 
[D] unknown:0 - "REV:20200425T111931Z&#13;" [D] unknown:0 - "END:VCARD&#13;" 
[D] unknown:0 - "</card:address-data></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>"

...

[D] unknown:0 - Parsed pure server-addition with guid: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9"
[D] unknown:0 - void CardDav::downsyncComplete() downsync complete with total AMR: 63 , 0 , 0

...

[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" marked as added or modified remotely, not found locally
[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" was downloaded during a failed sync and then modified remotely

...

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - New network state: true  New type:  "WLAN" ( 2 )
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"

And the cycle starts anew.

Any hints on how to resolve this would be appreciated. I'm using Baikal 7.0 (which uses Sabre/Dav 4.1.0) as my CalDAV and CardDav server, if that matters. I guess I'll try duplicating the contact and removing the one that caused the synchronisation issue.issue. EDIT: it solved the problem!

And as a suggestion on the software side: it would be nice if the synchronisation daemon would disable the synchronisation if it fails for example 3 times in a row, while notifying the user with some helpful information why it went wrong, so they know about it and can take action.

Kind regards, Chris

CardDav sync draining battery by continiously resyncing due to an error

HI there!

Since about 3 days, my phone has been extremely hot and drained its battery within 4-5 hours while idle on my Xperia X, while Android support was disabled. After some digging, it seemed that the buteo CardDav synchronisation plugin was almost continuously using up 1 full CPU core according to htop.

After following the steps at https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Sync_Logs it seems like the sync plugin is failing and almost immediately restarting. Some relevant log lines:

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"
[D] unknown:0 - Disable sync on change: false false
[D] unknown:0 - Process 6924 has been killed

...

[D] {IRRELEVANT DATA CUT}<d:response><d:href>/dav.php/addressbooks/chris/default/e1a2f6de68b142ce9f810ce75cb157b9.vcf</d:href><d:propstat><d:prop><d:getetag>&quot;80e6ca1aa324c64ab25574f71e063c6d&quot;</d:getetag><card:address-data>BEGIN:VCARD&#13;"
[D] unknown:0 - "VERSION:3.0&#13;" 
[D] unknown:0 - "PRODID:-//Sabre//Sabre VObject 4.3.0//EN&#13;" 
[D] unknown:0 - "UID:e1a2f6de68b142ce9f810ce75cb157b9&#13;"
[D] unknown:0 - "FN:{REDACTED}&#13;" 
[D] unknown:0 - "N:{REDACTED};{REDACTED};;;&#13;" 
[D] unknown:0 - "BDAY:{REDACTED}&#13;" 
[D] unknown:0 - "TEL;TYPE=CELL:{REDACTED}&#13;" 
[D] unknown:0 - "NOTE:IBAN:{REDACTED}&#13;" 
[D] unknown:0 - "REV:20200425T111931Z&#13;"  [D] unknown:0 - "END:VCARD&#13;" 
[D] unknown:0 - "</card:address-data></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>"

...

[D] unknown:0 - Parsed pure server-addition with guid: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9"
[D] unknown:0 - void CardDav::downsyncComplete() downsync complete with total AMR: 63 , 0 , 0

...

[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" marked as added or modified remotely, not found locally
[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" was downloaded during a failed sync and then modified remotely

...

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - New network state: true  New type:  "WLAN" ( 2 )
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"

And the cycle starts anew.

Any hints on how to resolve this would be appreciated. I'm using Baikal 7.0 (which uses Sabre/Dav 4.1.0) as my CalDAV and CardDav server, if that matters. I guess I'll try duplicating the contact and removing the one that caused the synchronisation issue. EDIT: it solved the problem!

And as a suggestion on the software side: it would be nice if the synchronisation daemon would disable the synchronisation if it fails for example 3 times in a row, while notifying the user with some helpful information why it went wrong, so they know about it and can take action.

Kind regards, Chris

CardDav sync draining battery by continiously resyncing due to an error

HI there!

Since about 3 days, my phone has been extremely hot and drained its battery within 4-5 hours while idle on my Xperia X, while Android support was disabled. After some digging, it seemed that the buteo CardDav synchronisation plugin was almost continuously using up 1 full CPU core according to htop.

After following the steps at https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Sync_Logs it seems like the sync plugin is failing and almost immediately restarting. Some relevant log lines:

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"
[D] unknown:0 - Disable sync on change: false false
[D] unknown:0 - Process 6924 has been killed

...

[D] {IRRELEVANT DATA CUT}<d:response><d:href>/dav.php/addressbooks/chris/default/e1a2f6de68b142ce9f810ce75cb157b9.vcf</d:href><d:propstat><d:prop><d:getetag>&quot;80e6ca1aa324c64ab25574f71e063c6d&quot;</d:getetag><card:address-data>BEGIN:VCARD&#13;"
[D] unknown:0 - "VERSION:3.0&#13;" 
[D] unknown:0 - "PRODID:-//Sabre//Sabre VObject 4.3.0//EN&#13;" 
[D] unknown:0 - "UID:e1a2f6de68b142ce9f810ce75cb157b9&#13;"
[D] unknown:0 - "FN:{REDACTED}&#13;" 
[D] unknown:0 - "N:{REDACTED};{REDACTED};;;&#13;" 
[D] unknown:0 - "BDAY:{REDACTED}&#13;" 
[D] unknown:0 - "TEL;TYPE=CELL:{REDACTED}&#13;" 
[D] unknown:0 - "NOTE:IBAN:{REDACTED}&#13;" 
[D] unknown:0 - "REV:20200425T111931Z&#13;" 
[D] unknown:0 - "END:VCARD&#13;" 
[D] unknown:0 - "</card:address-data></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>"

...

[D] unknown:0 - Parsed pure server-addition with guid: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9"
[D] unknown:0 - void CardDav::downsyncComplete() downsync complete with total AMR: 63 , 0 , 0

...

[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" marked as added or modified remotely, not found locally
[D] unknown:0 - contact: "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" was downloaded during a failed sync and then modified remotely

...

[W] unknown:0 - void Syncer::continueSync(const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&, const QList<QtContacts::QContact>&) no contact id specified for contact with guid "16:AB:/dav.php/addressbooks/chris/default/:e1a2f6de68b142ce9f810ce75cb157b9" from account 16
[W] unknown:0 - CardDAV sync finished with error: 0 purging state data for account: 16
[C] unknown:0 - CardDAV sync failed: 401 ""
[D] unknown:0 - New network state: true  New type:  "WLAN" ( 2 )
[D] unknown:0 - Session finished: "carddav.Contacts-16" , status: 3
[D] unknown:0 - aStatus 3
[D] unknown:0 - ProfileManager::syncProfile( "carddav.Contacts-16" )
[D] unknown:0 - found a valid sync profile with the given name: "carddav.Contacts-16"
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Trying to start next sync in queue. Profile: "carddav.Contacts-6" false
[D] unknown:0 - Synchronizer::getBackUpRestoreState
[D] unknown:0 - Starting sync with profile "carddav.Contacts-6"

And the cycle starts anew.

Any hints on how to resolve this would be appreciated. I'm using Baikal 7.0 (which uses Sabre/Dav 4.1.0) as my CalDAV and CardDav server, if that matters. I guess I'll try duplicating the contact and removing the one that caused the synchronisation issue. issue.
EDIT: it Deleting and readding the contact via another device solved the problem!

And as a suggestion on the software side: it would be nice if the synchronisation daemon would disable the synchronisation if it fails for example 3 times in a row, while notifying the user with some helpful information why it went wrong, so they know about it and can take action.

Kind regards, Chris