Bug 363205 - Akonadi stops synchronizing CalDAV calendar after awhile, due to Malformed URL error.
Summary: Akonadi stops synchronizing CalDAV calendar after awhile, due to Malformed UR...
Status: CONFIRMED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: DAV Resource (show other bugs)
Version: 5.5.3
Platform: Debian testing Linux
: NOR grave
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-18 09:21 UTC by spam
Modified: 2017-08-03 19:43 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description spam 2016-05-18 09:21:21 UTC
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
Comment 1 Branimir Amidzic 2017-03-18 18:49:57 UTC
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
Comment 2 Denis Kurz 2017-08-03 13:08:34 UTC
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.