| Summary: | Akonadi stops synchronizing CalDAV calendar after awhile, due to Malformed URL error. | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] Akonadi | Reporter: | spam |
| Component: | DAV Resource | Assignee: | kdepim bugs <pim-bugs-null> |
| Status: | CONFIRMED --- | ||
| Severity: | grave | CC: | kdenis, mail |
| Priority: | NOR | ||
| Version First Reported In: | 5.5.3 | ||
| Target Milestone: | --- | ||
| Platform: | Debian testing | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
I'm having the same problem with eGroupware 16.1.005, while everything works as expected with ownCloud calendars and tasks. It seem that there was similar problem fixed in 4.14.10. See bug: https://bugs.kde.org/show_bug.cgi?id=338570 I just realized that my events in KOrganizer are out of sync with my mobile, and also with the web frontend offered by my calendar hoster. Instead of deleting and re-establishing the whole calendar resource, and thus losing all events that I had created during the last three weeks, I used akonadiconsole to fix the problem: 1. Open the Browser tab in akonadiconsole 2. Navigate to the broken resource 3. For every item (TODO or Event) with an empty Remote ID: a. create a suitable backup (I used the camera app for this......) b. delete the item 4. When there's no empty-Remote-ID item left, sync your calendar (e.g. right-click the resource in akonadiconsole, select "Synchronize Folder", or do the same in KOrganizer) 5. Close akonadiconsole and re-create all your lost events in KOrganizer based on your backups You might realize that the Remote ID is an URL. This could explain the Malformed URL error. I don't know exactly when Akonadi stopped synchronizing my events, and thus the patchlevel at the time. I'm pretty sure that it was some 5.5.x version, though. Although I don't know if the current version, 5.5.3, still enters this broken state with items with empty Remote IDs, I can say for sure that it isn't capable of fixing the broken state itself, so I set the version to 5.5.3. |
Workaround: Re-creating entire resource helps, but you'll lose any recent changes to calendar. I found these lines when executing "akonadictl restart" Invalid URL: QUrl("") log_davresource: Error when uploading item: 100 "There was a problem with the request. The item has not been created on the server.\nMalformed URL . (0)." Akonadi Console, debugger, dav groupware resource tab: akonadi_davgroupware_resource_3 (0x7f467805d980) 3 { Command: "SelectResource" Resource ID: "akonadi_davgroupware_resource_3" } akonadi_davgroupware_resource_3 (0x7f467805d980) 3 { Response: "SelectResource" Error Code: "0" Error Msg: "" } akonadi_davgroupware_resource_3 (0x7f467805d980) 4 { Command: "SelectResource" Resource ID: "akonadi_davgroupware_resource_3" } akonadi_davgroupware_resource_3 (0x7f467805d980) 4 { Response: "SelectResource" Error Code: "0" Error Msg: "" } akonadi_davgroupware_resource_3 (0x7f467805d980) 5 { Command: "FetchCollections" Collections: "UID 41" Depth: "0" Resource: "" Mimetypes: "()" Ancestors Depth: "2" Ancestors Attributes: "QSet()" Enabled: "true" Sync: "false" Display: "false" Index: "false" Status: "false" } akonadi_davgroupware_resource_3 (0x7f467805d980) 5 { Response: "FetchCollections" Error Code: "0" Error Msg: "" ID: "41" Name: "https://social.hjkos.com/caldav.php/hjkos/calendar/" Parent ID: "40" Remote ID: "https://social.hjkos.com/caldav.php/hjkos/calendar/" Remote Revision: "" Resource: "akonadi_davgroupware_resource_3" Mimetypes: "(application/x-vnd.akonadi.calendar.event, application/x-vnd.akonadi.calendar.todo, inode/directory, application/x-vnd.akonadi.calendar.journal)" Statistics: { Count: "-1" Unseen: "-1" Size: "-1" } Search Query: "" Search Collections: "QVector()" Cache Policy: { Inherit: "true" Interval: "5" Cache Timeout: "-1" Sync on Demand: "false" Local Parts: "(ALL)" } Ancestors: { { ID: "40" Remote ID: "akonadi_davgroupware_resource_3" Name: "akonadi_davgroupware_resource_3" Attributes: "QMap()" } { ID: "0" Remote ID: "" Name: "" Attributes: "QMap()" } } Attributes: "QMap((AccessRights, a)(ENTITYDISPLAY, ("Roman Kostetskiy calendar" "" "" ()))(ctag, "0c99f4f27683489a6c04eb5fdbb210f5")(davprotocol, 0))" Display: "Undefined" Sync: "Undefined" Index: "Undefined" Enabled: "true" Virtual: "false" Referenced: "false" } akonadi_davgroupware_resource_3 (0x7f467805d980) 5 { Response: "FetchCollections" Error Code: "0" Error Msg: "" ID: "-1" Name: "" Parent ID: "-1" Remote ID: "" Remote Revision: "" Resource: "" Mimetypes: "()" Statistics: { Count: "-1" Unseen: "-1" Size: "-1" } Search Query: "" Search Collections: "QVector()" Cache Policy: { Inherit: "true" Interval: "-1" Cache Timeout: "-1" Sync on Demand: "false" Local Parts: "()" } Ancestors: { } Attributes: "QMap()" Display: "Undefined" Sync: "Undefined" Index: "Undefined" Enabled: "true" Virtual: "false" Referenced: "false" } akonadi_davgroupware_resource_3 (0x7f467805d980) 6 { Command: "FetchItems" Items: "UID 2882" Scope Context: { Tag: "QVariant(Invalid)" Collection: "QVariant(Invalid)" } Fetch Scope: { Fetch Flags: "QFlags(0x1|0x4|0x10|0x20|0x40|0x100|0x200)" Tag Fetch Scope: "QSet()" Changed Since: "QDateTime( Qt::TimeSpec(LocalTime))" Ancestor Depth: "2" Requested Parts: "QVector(PLD:RFC822)" } } akonadi_davgroupware_resource_3 (0x7f467805d980) 6 { Response: "FetchItems" Error Code: "0" Error Msg: "" ID: "2882" Revision: "2" Collection ID: "41" Remote ID: "" Remote Revision: "" GID: "" Size: "4500" Mimetype: "application/x-vnd.akonadi.calendar.event" Time: "QDateTime(2016-05-10 19:35:48.000 UTC Qt::TimeSpec(UTC))" Flags: "QVector()" Tags: { } Relations: { } Virtual References: "QVector()" Ancestors: { { ID: "41" Remote ID: "https://social.hjkos.com/caldav.php/hjkos/calendar/" Name: "" Attributes: "QMap()" } { ID: "40" Remote ID: "akonadi_davgroupware_resource_3" Name: "" Attributes: "QMap()" } { ID: "0" Remote ID: "" Name: "" Attributes: "QMap()" } } Cached Parts: "QVector()" Parts: { PLD:RFC822: { Size: "4500" External: "true" Version: "0" Data: "8074_r2" } } } akonadi_davgroupware_resource_3 (0x7f467805d980) 6 { Response: "FetchItems" Error Code: "0" Error Msg: "" ID: "-1" Revision: "0" Collection ID: "-1" Remote ID: "" Remote Revision: "" GID: "" Size: "0" Mimetype: "" Time: "QDateTime( Qt::TimeSpec(LocalTime))" Flags: "QVector()" Tags: { } Relations: { } Virtual References: "QVector()" Ancestors: { } Cached Parts: "QVector()" Parts: { } } Reproducible: Always Steps to Reproduce: 1. Set up CalDAV calendar 2. Use it for a while. 3. Realize that your changes in KOrganizer do not show up on other devices. Actual Results: Synchronization completely broken Expected Results: Synchronization completely working