Bug 295532 - Akonadi hogs cpu when updating remote ics feed from google
Summary: Akonadi hogs cpu when updating remote ics feed from google
Status: RESOLVED WORKSFORME
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: ICal file resource (show other bugs)
Version: 4.9
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: investigated, triaged
Depends on:
Blocks:
 
Reported: 2012-03-08 14:19 UTC by Daniel Faust
Modified: 2018-09-19 14:39 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
A copy of the ics feed in case it gets changed (48.92 KB, text/calendar)
2012-03-08 14:19 UTC, Daniel Faust
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Faust 2012-03-08 14:19:31 UTC
Created attachment 69374 [details]
A copy of the ics feed in case it gets changed

I am using a remote ics feed from google since KDE 4.7.
After upgrading to KDE 4.8.1 akonadi will hog the cpu when I enable periodic updates for that ics file. Disabling the periodic updates again won't change anything. Only removing the calendar stops the cpu usage. After that I can add a new calendar with the same ics file without any problem as long as I don't enable periodic updates.
The ics feed creating this problem is: https://www.google.com/calendar/ical/i2atv0kpsvau8npuhugfn8f6ho@group.calendar.google.com/public/basic.ics

The cpu usage starts with a delay after enabling periodic updates and on the console I executed 'akonadictl start' I get an uncountable amount of these messages:
AkonadiAgentServer(1965)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: Failed to parse incidence! Item id =  9088 Storage collection id  67 parentCollectionId =  -43235 
AkonadiAgentServer(1965)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: "" 
AkonadiAgentServer(1965)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
AkonadiAgentServer(1965)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 

During that the akonadi systemsettings control module shows that the status of the calendar resource causing this problem is switching between reconnecting and ready all the time.

All other (remote ics) calendars like http://www.kde.org/releaseschedule.ics work fine.
Comment 1 Daniel Faust 2012-03-08 15:16:25 UTC
After a reboot akonadi started to hog the cpu again (even though periodic updates were disabled), removing the calendar solved the problem.
Comment 2 Dennis Schridde 2012-10-04 22:56:55 UTC
I do not experience the cpu-hog, but the error message I see on the console is the same:
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: Failed to parse incidence! Item id =  111587 Storage collection id  317 parentCollectionId =  -689 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: "" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: Failed to parse incidence! Item id =  111586 Storage collection id  317 parentCollectionId =  -690 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: "" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: Failed to parse incidence! Item id =  111585 Storage collection id  317 parentCollectionId =  -691 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: "" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: Failed to parse incidence! Item id =  111584 Storage collection id  317 parentCollectionId =  -692 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: "" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: Failed to parse incidence! Item id =  111583 Storage collection id  317 parentCollectionId =  -693 
akonadi_davgroupware_resource_0(16970)/akonadiserializer (calendar) Akonadi::SerializerPluginKCalCore::deserialize: "" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
akonadi_davgroupware_resource_0(16970)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  ""
Comment 3 Dennis Schridde 2012-10-04 23:03:14 UTC
Upon login I get a message from Plasma: "Unable to fetch item from backend (collection 317, resource -1)" (i.e. for the same collection that creates the deserialize spam on the console). I tried to figure out which account this collection actually corresponds to, but was not successful so far. Assuming it comes from Google Calendar, this issue here might be related to bug #295469.
Comment 4 Dennis Schridde 2012-10-04 23:08:15 UTC
P.S: KDE 4.9.2
Comment 5 Michael Büker 2013-03-14 22:04:47 UTC
I confirm for korganizer 4.10.1, getting the CPU hogging and akonadi error messages.

This ics feed causes the problem:
http://hamburg-mitte.bezirkspiraten.de/events/ical/

FWIW, a CalDAV server with several ics sources works fine.
Comment 6 Michael Hammond 2013-04-08 22:38:01 UTC
After having my machine up for a couple of days, my .xsession-errors file was 57G.  Most of this was the "unable to deserialize..."
Comment 7 Sergio Martins 2013-06-29 18:12:41 UTC
Where did you enable "periodic updates" ?
Comment 8 Daniel Faust 2013-07-05 14:21:16 UTC
(In reply to comment #7)
> Where did you enable "periodic updates" ?

Right-click on the calendar in KOrganizer -> Folder Properties... -> Tab: Retrieval -> uncheck: Use options from parent folder or account -> Automatically synchronize after: ...

Btw.: No, I don't know what I'm doing there...
I re-enabled the feed now, this time without un-checking the "Use options from parent folder or account" checkbox. Let's see what happens.
Comment 9 Sergio Martins 2013-07-05 21:29:15 UTC
Daniel, can you open akonadiconsole, first tab, and confirm that the resource identifier is
akonadi_ical_resource ( remote ical ), because I see some comments talking about DAV.
Comment 10 Daniel Faust 2013-07-06 07:56:58 UTC
Yes, in fact all calendars I'm using are akonadi_ical_resources.
The identifier is akonadi_ical_resource_x where x is a number, I don't know what you mean by ( remote ical ) though.

I haven't had any problems with that feed since I re-enabled it yesterday, so I enabled the periodic updates again, now, to see what happens.
Comment 11 Daniel Faust 2013-07-16 05:30:11 UTC
I tested the feed with both, periodic updates (comment #8) disabled and enabled but couldn't reproduce the bug any more.
My KDE version is 4.10.5

(In reply to comment #5)
> I confirm for korganizer 4.10.1, getting the CPU hogging and akonadi error
> messages.
> 
> This ics feed causes the problem:
> http://hamburg-mitte.bezirkspiraten.de/events/ical/
I also tried it with this feed, again with periodic updates disabled and enabled but still couldn't reproduce the bug.

So I'm setting this bug report to NEEDSINFO/WORKSFORME and call on Michael to provide more information.
Comment 12 Jan 2013-08-14 06:31:48 UTC
I have the same problem with a private calender from google. Deleting the calender solved the issue.

Kubuntu 13.04
KDE SC 4.11.00 (Problem has already started with 4.10.2 installed)
Akonadi 1.10.1 (akonadictl --version)
Comment 13 auxsvr 2013-12-08 18:58:06 UTC
Same problem with ~ 10 ical files from Google on KDE 4.11.4. After some hours CPU use of akonadiserver, ical resources and mysql returns to normal level.
Comment 14 Christoph Feck 2014-04-25 11:43:55 UTC
Is this still an issue in recent KDEPIM versions (4.12 or 4.13)? The bug's status is a bit unclear.
Comment 15 Fabian 2014-05-14 09:06:04 UTC
I can confirm this issue in KDE 4.13. This periodic restart of the akonadi source makes korgac eat all my memory (16 gb). After a few hours working my system starts swapping, which is really annoying. If I restart korgac it constantly consumes memory and has a CPU usage of a few percent. If I delete my remote ical calenders this does not appear. 
As a workaround I can use the legacy KDE resource instead of native akonadi resources. But there I got every now and then annoying error messages because of a connection break down. 
The calendars are provided by a horde system. They are shared by another user, so I can't import them using the caldav protocol, since this is not supported yet. 
Sometimes this problem does not appear immediately after adding the calenders. And especially on my kubuntu system with the same KDE version and the same calenders I have never seen korgac eat all my memory. But on this system I got a message at startup that's telling me there is a pending upload to this calender. 
I can try to give more and more detailed information about this issue next week. Any hints about collecting useful information are welcome!
Comment 16 Andrew Crouthamel 2018-09-19 14:39:33 UTC
This bug has had its resolution changed, but accidentally has been left in NEEDSINFO status. I am thus closing this bug and setting the status as RESOLVED to reflect the resolution change.