Bug 412751 - Invalid RRULE in Timezone Component with libical 3.0.6
Summary: Invalid RRULE in Timezone Component with libical 3.0.6
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kcalendarcore
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.12.2
Platform: Archlinux Linux
: NOR major
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-09 07:54 UTC by Andreas Költringer
Modified: 2019-12-11 18:10 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.65.0


Attachments
ical file with bad rrule (1.01 KB, text/calendar)
2019-10-09 07:54 UTC, Andreas Költringer
Details
file with error string "RRULE:ERROR: No Value" (2.28 KB, text/calendar)
2019-10-19 04:50 UTC, Max
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Költringer 2019-10-09 07:54:37 UTC
Created attachment 123097 [details]
ical file with bad rrule

SUMMARY
Not sure whether this is the right Product - could have also been "kcalcore".

When creating events and todo's in KOrganizer, the ical entry contains a bad RRULE in the VTIMEZONE component (see line 26 in the attached file). When restarting akonadi, it notices itself that something is wrong (log message of akonadictl restart):

org.kde.pim.davresource: DavGroupwareResource::onMultigetFinished: Failed to
parse item data.

STEPS TO REPRODUCE
1. Add Calendar - ical Calendar File
2. Add Event and/or Todo item to newly created calendar file
3. open calendar file in text editor (Kate) and look for "RRULE"

OBSERVED RESULT
RRULE:ERROR: No Value

EXPECTED RESULT
a valid RRULE entry

SOFTWARE/OS VERSIONS
Linux (Kernel) 5.3.1
KDE Plasma Version: 5.16.5
KDE Frameworks Version: 5.62.0
Qt Version: 5.13.1

ADDITIONAL INFORMATION
Comment 1 Allen Winter 2019-10-09 14:06:35 UTC
This is not doubt a problem in libical.

SHould be fixed in libical 3.0.6, however.
Make sure you have libical 3.0.6
Comment 2 Andreas Költringer 2019-10-09 14:15:11 UTC
I have libical 3.0.6.
Comment 3 Allen Winter 2019-10-09 14:27:42 UTC
my bad. I misread the problem.
this is about KOrganizer creating a bad RRULE.

Can you send me a test .ics file with the bad RRULE?
Comment 4 Andreas Költringer 2019-10-09 17:07:03 UTC
I already attached one - see attachments above.
Comment 5 Max 2019-10-19 04:50:44 UTC
Created attachment 123331 [details]
file with error string "RRULE:ERROR: No Value"
Comment 6 Max 2019-10-19 04:51:26 UTC
I've found in my .ics files this "RRULE:ERROR: No Value"string too
Kernel: 5.2.17-gentoo x86_64
kde-apps/korganizer-19.08.2
kde-apps/akonadi-calendar-19.08.2
kde-frameworks/kcalendarcore-5.63.0

I added file with error string "RRULE:ERROR: No Value"
Comment 7 Till Schäfer 2019-10-24 13:09:34 UTC
I can confirm this error on Gentoo. Synchronization of tasks with DavX/Task on my phone now fail if I specify a due date in my todos. 

KDE Apps: 19.08.2
KDE Frameworks: 5.63.0
libical: 3.0.6
Comment 8 Florian Evers 2019-11-01 23:07:00 UTC
Hi,

same problem here. I noticed that sync of calendar data with my baikal server stopped. Fiddling through the apache logs and with the help of the "akonadiconsole" tool I found "RRULE:ERROR: No Value" entries causing the baikal server scripts to fail.

Here, it is enough just to add a new calendar entry in "kontact", giving it just a name and some arbitrary duration, and kaboom. 

Like Tim Schäfer, I'm also running Gentoo Linux with the same most recent software versions.

Interestingly, libical is missing here! No package is pulling it in as a dependency anymore.

Regards,
Florian
Comment 9 Florian Evers 2019-11-01 23:09:32 UTC
Hi again,

please forget that I mentioned that libical is missing... that was on the shell of my server... of course I have version 3.0.6 installed :-)

Regards,
Florian
Comment 10 Florian Evers 2019-11-01 23:28:03 UTC
Downgrading to libical-3.0.5 provides a hotfix for me. Now I can at least repair what went wrong here in the last days.

P.S. And, sorry Till for misspelling your name! ...time for me to go to bed.
Comment 11 Till Schäfer 2019-11-06 14:04:32 UTC
I can confirm, that a downgrade to libical 3.0.5 is a working workaround ;-)
Comment 12 Allen Winter 2019-11-11 21:51:57 UTC
I don't know how to reproduce.
My events don't contain VTIMEZONE components when I create them.

I'm convinced that libical 3.0.6 is printing the "RRULE:ERROR: No Value" but I need to know if the problem is in libical itself, or the way kcalendarcore is using libical.  The only way to know I can debug this is  knowing how to reproduce.

is this somehow specific to caldav?  or maybe I need to use a specific timezone?
Comment 13 Till Schäfer 2019-11-12 08:36:17 UTC
just a guess: VTIMEZONE is related to daylight saving time. Thus, you may need to select a time zone (maybe also system time zone?) that has a daylight saving time. I have my system configured to the german time zone for example.

see also https://stackoverflow.com/a/42941087
Comment 14 Max 2019-11-13 22:19:16 UTC
I think this one isn't related to caldav. I don't use caldav, but set timezone.
Comment 15 Allen Winter 2019-11-13 22:24:00 UTC
I tried:
 * setting my system timezone to Europe/Berlin 
 * creating the incidence using Europe/Berlin timezones on the dates

neither helped.  I still cannot see a calendar with vtimezones and rrules

maybe another timezone ? what timezones are you guys using?
Comment 16 Max 2019-11-13 23:20:30 UTC
(In reply to Allen Winter from comment #15)
> I tried:
>  * setting my system timezone to Europe/Berlin 
>  * creating the incidence using Europe/Berlin timezones on the dates
> 
> neither helped.  I still cannot see a calendar with vtimezones and rrules
> 
> maybe another timezone ? what timezones are you guys using?

My timezone is Asia/Irkutsk.
Comment 17 Andreas Költringer 2019-11-14 15:08:17 UTC
(In reply to Allen Winter from comment #15)

> maybe another timezone ? what timezones are you guys using?

Also Europe/Berlin
Comment 18 Fabian Vogt 2019-11-18 13:26:39 UTC
This appears to be a regression caused by the commit for bug 405884 (https://github.com/libical/libical/pull/391). With libical 3.0.6 there's an empty RRULE:, while with 3.0.5 there is an invalid one instead.
Comment 19 ml 2019-12-08 19:29:23 UTC
(In reply to Fabian Vogt from comment #18)
> With libical 3.0.6 there's an empty RRULE:, while with 3.0.5 there is an invalid one instead.

The other way around. 3.0.5 fine, 3.0.6 invalid.
Comment 20 Allen Winter 2019-12-10 17:26:05 UTC
Looks like Volker was able to reproduce and fix in https://phabricator.kde.org/D25857

we have a possible fix that we'll try to get committed soon.
Comment 21 Allen Winter 2019-12-11 18:10:42 UTC
Should be fixed in commit 595d25ddbc6838eb7ec70a71040246f4c7c5426f of the kcalendarcore repository. Thank you Volker!