Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This recurrence rule does not generate any valid instances #28477

Closed
alexghergh opened this issue Oct 21, 2020 · 9 comments
Closed

This recurrence rule does not generate any valid instances #28477

alexghergh opened this issue Oct 21, 2020 · 9 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: dav

Comments

@alexghergh
Copy link

Steps to reproduce

  1. Create an event (with multipe occurences)
  2. Try to move the event another day

Expected behaviour

The event should be moved normally

Actual behaviour

It loads forever, and if I refresh the page or simply X out, the event disappears from the calendar on the web app, but is still in memory (I can access it though davx5).

Calendar app

Calendar app version: 2.0.4

CalDAV-clients used: DAVx5

Client configuration

Browser: Firefox 48

Operating system: Raspberry Pi OS

Logs

Log file (data/nextcloud.log)

{"reqId":"X4-@aRwiRIxWCHufym9J-gAAQQM","level":4,"time":"2020-10-21T09:24:57+00:00","remoteAddr":"192.168.100.218","user":"AlexGherghescu","app":"webdav","method":"PUT","url":"/nextcloud/remote.php/dav/calendars/AlexGherghescu/school/B461DE46-69FA-4342-99B2-FA56358AD077.ics","message":{"Exception":"Sabre\\VObject\\Recur\\NoInstancesException","Message":"This recurrence rule does not generate any valid instances","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":2244,"function":"__construct","class":"Sabre\\VObject\\Recur\\EventIterator","type":"->","args":[{"name":"VCALENDAR","parent":null,"__class__":"Sabre\\VObject\\Component\\VCalendar"},"5aeccae3-2104-49a9-a9e4-ae37f9f2101a"]},{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":1137,"function":"getDenormalizedData","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->","args":["*** sensitive parameter replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/CalDAV/CalendarObject.php","line":107,"function":"updateCalendarObject","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1143,"function":"put","class":"Sabre\\CalDAV\\CalendarObject","type":"->","args":["*** sensitive parameter replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":515,"function":"updateFile","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PUT",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":251,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":320,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/nextcloud/remote.php","line":167,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Recur/EventIterator.php","Line":192,"CustomMessage":"--"},"userAgent":"DAVx5/3.3.2-ose (2020/09/30; dav4jvm; okhttp/4.9.0) Android/7.0","version":"19.0.3.1"}

The problem occurs when I try to delete this event from the mobile, and the server complains it cannot find "the recurrence rule".

I think I can simply delete this "hidden" event and fix the problem, but I do not know where the calendars and events are saved on the nextcloud instance. I couldn't find them in the data folder, which seems strange to me. Where exactly are they located?

Thank you

@MichaelSp
Copy link

I can confirm that this happens on my nextcloud (19.0.4) calendar (2.0.4) with DAVx5, too.

@piiskop
Copy link

piiskop commented Jan 25, 2021

Nextcloud 20.0.6 with the newest set of apps as of today still has the same issue.

@pchampin
Copy link

pchampin commented Mar 4, 2021

I have a similar problem (same error message), with NC 20.0.8 and Calendar 2.1.3, in a slightly different situation.

The bug occurs when I try to register to the following ICS feed:

https://calendar.google.com/calendar/ical/itav7gec2klfh11fuull055lsc%40group.calendar.google.com/public/basic.ics

In the Calendar app, the new calendar appears with some events, but some recurring events are missing.

The log contains the following message:

{"reqId":"58VBDiz3H5wGpFcEgscN","level":4,"time":"2021-03-04T08:18:07+00:00","remoteAddr":"192.168.1.254","user":"pa","app":"webdav","method":"MKCOL","url":"/nextcloud/remote.php/dav/calendars/pa/calendargooglecom-6","message":{"Exception":"Sabre\\VObject\\Recur\\NoInstancesException","Message":"This recurrence rule does not generate any valid instances","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":2443,"function":"__construct","class":"Sabre\\VObject\\Recur\\EventIterator","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":1105,"function":"getDenormalizedData","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php","line":142,"function":"createCalendarObject","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/AppInfo/Application.php","line":302,"function":"refreshSubscription","class":"OCA\\DAV\\CalDAV\\WebcalCaching\\RefreshWebcalService","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":264,"function":"OCA\\DAV\\AppInfo\\{closure}","class":"OCA\\DAV\\AppInfo\\Application","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":239,"function":"doDispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":73,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/EventDispatcher/SymfonyAdapter.php","line":85,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php","line":2144,"function":"dispatch","class":"OC\\EventDispatcher\\SymfonyAdapter","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/CalDAV/CalendarHome.php","line":251,"function":"createSubscription","class":"OCA\\DAV\\CalDAV\\CalDavBackend","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/CalDAV/CalendarHome.php","line":84,"function":"createExtendedCollection","class":"Sabre\\CalDAV\\CalendarHome","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1206,"function":"createExtendedCollection","class":"OCA\\DAV\\CalDAV\\CalendarHome","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":586,"function":"createCollection","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpMkcol","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":251,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/lib/Server.php","line":332,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/var/www/html/nextcloud/remote.php","line":167,"args":["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/3rdparty/sabre/vobject/lib/Recur/EventIterator.php","Line":192,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0","version":"20.0.8.1","id":"604097bfa3151"}

Note I have two other clients synchronized with Nextcloud (Thunderbird and DAVx5) and both have no problem displaying this calendar.

Note also that I tried to reproduce the bug following @alexghergh's instuctions above but could not reproduce it... Maybe it is a different bug?

@j-be
Copy link

j-be commented Jul 2, 2021

Affected by this as well. Started about 2 weeks ago. Currently I'm running:

  • Nextcloud 21.0.2.1
  • Calendar 2.3.0
  • DAVx5 3.3.10-ose from F-Droid
  • LineageOS 17.1 (aka. Android 10)

Is there any way to find out which event causes the issue? I only see (censored):

"PUT","url":"/nextcloud/remote.php/dav/calendars/xxxx/sport/ccd036e9-466e-4cbe-967f-8d30a8238f49.ics"
"PUT","url":"/nextcloud/remote.php/dav/calendars/xxxx/sport/132b4729-93f6-45d9-ab06-4897f012e4ef.ics"

Full (censored) log:

{"reqId":"eXhbucv1oiWYo5qW9aDp","level":4,"time":"2021-07-02T23:50:54+02:00","remoteAddr":"192.168.1.104","user":"xxxx","app":"webdav","method":"PUT","url":"/nextcloud/remote.php/dav/calendars/xxxx/sport/ccd036e9-466e-4cbe-967f-8d30a8238f49.ics","message":"{\"Exception\":\"Sabre\\\\VObject\\\\Recur\\\\NoInstancesException\",\"Message\":\"This recurrence rule does not generate any valid instances\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/owly/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php\",\"line\":2461,\"function\":\"__construct\",\"class\":\"Sabre\\\\VObject\\\\Recur\\\\EventIterator\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php\",\"line\":1198,\"function\":\"getDenormalizedData\",\"class\":\"OCA\\\\DAV\\\\CalDAV\\\\CalDavBackend\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/CalDAV/CalendarObject.php\",\"line\":103,\"function\":\"updateCalendarObject\",\"class\":\"OCA\\\\DAV\\\\CalDAV\\\\CalDavBackend\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":1137,\"function\":\"put\",\"class\":\"Sabre\\\\CalDAV\\\\CalendarObject\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php\",\"line\":492,\"function\":\"updateFile\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php\",\"line\":89,\"function\":\"httpPut\",\"class\":\"Sabre\\\\DAV\\\\CorePlugin\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":472,\"function\":\"emit\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":253,\"function\":\"invokeMethod\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":321,\"function\":\"start\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/apps/dav/lib/Server.php\",\"line\":332,\"function\":\"exec\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/apps/dav/appinfo/v2/remote.php\",\"line\":35,\"function\":\"exec\",\"class\":\"OCA\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/remote.php\",\"line\":167,\"args\":[\"/var/www/owly/nextcloud/apps/dav/appinfo/v2/remote.php\"],\"function\":\"require_once\"}],\"File\":\"/var/www/owly/nextcloud/3rdparty/sabre/vobject/lib/Recur/EventIterator.php\",\"Line\":192,\"CustomMessage\":\"--\"}","userAgent":"DAVx5/3.3.10-ose (2021/04/17; dav4jvm; okhttp/4.9.1) Android/10","version":"21.0.2.1"}
{"reqId":"iHswndRGWuCClJ1TMSY6","level":4,"time":"2021-07-02T23:50:54+02:00","remoteAddr":"192.168.1.104","user":"xxxx","app":"webdav","method":"PUT","url":"/nextcloud/remote.php/dav/calendars/xxxx/sport/132b4729-93f6-45d9-ab06-4897f012e4ef.ics","message":"{\"Exception\":\"Sabre\\\\VObject\\\\Recur\\\\NoInstancesException\",\"Message\":\"This recurrence rule does not generate any valid instances\",\"Code\":0,\"Trace\":[{\"file\":\"/var/www/owly/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php\",\"line\":2461,\"function\":\"__construct\",\"class\":\"Sabre\\\\VObject\\\\Recur\\\\EventIterator\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php\",\"line\":1198,\"function\":\"getDenormalizedData\",\"class\":\"OCA\\\\DAV\\\\CalDAV\\\\CalDavBackend\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/CalDAV/CalendarObject.php\",\"line\":103,\"function\":\"updateCalendarObject\",\"class\":\"OCA\\\\DAV\\\\CalDAV\\\\CalDavBackend\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":1137,\"function\":\"put\",\"class\":\"Sabre\\\\CalDAV\\\\CalendarObject\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php\",\"line\":492,\"function\":\"updateFile\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\",\"args\":[\"*** sensitive parameters replaced ***\"]},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php\",\"line\":89,\"function\":\"httpPut\",\"class\":\"Sabre\\\\DAV\\\\CorePlugin\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":472,\"function\":\"emit\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":253,\"function\":\"invokeMethod\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php\",\"line\":321,\"function\":\"start\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/apps/dav/lib/Server.php\",\"line\":332,\"function\":\"exec\",\"class\":\"Sabre\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/apps/dav/appinfo/v2/remote.php\",\"line\":35,\"function\":\"exec\",\"class\":\"OCA\\\\DAV\\\\Server\",\"type\":\"->\"},{\"file\":\"/var/www/owly/nextcloud/remote.php\",\"line\":167,\"args\":[\"/var/www/owly/nextcloud/apps/dav/appinfo/v2/remote.php\"],\"function\":\"require_once\"}],\"File\":\"/var/www/owly/nextcloud/3rdparty/sabre/vobject/lib/Recur/EventIterator.php\",\"Line\":192,\"CustomMessage\":\"--\"}","userAgent":"DAVx5/3.3.10-ose (2021/04/17; dav4jvm; okhttp/4.9.1) Android/10","version":"21.0.2.1"}

@tobiasKaminsky
Copy link
Member

tobiasKaminsky commented Aug 16, 2021

I have the same problem, since some time.
Debug info from DavX5 says:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:DAVx5/3.3.12-ose ical4j/3.0.28
BEGIN:VEVENT
DTSTAMP:20210813T191754Z
UID:a01252fe-51a0-4cbe-9f21-79595c5cafb9
SEQUENCE:9
SUMMARY:Description
DTSTART;TZID=Europe/Berlin:20210806T180000
DTEND;TZID=Europe/Berlin:20210806T190000
RRULE:FREQ=DAILY;UNTIL=20210813T160000Z
EXDATE:20210806T160000Z,20210807T160000Z,20210808T160000Z,20210809T160000Z
EXDATE;TZID=Europe/Berlin:20210810T180000
EXDATE;TZID=Europe/Berlin:20210811T180000
EXDATE;TZID=Europe/Berlin:20210812T180000
EXDATE;TZID=Europe/Berlin:20210813T180000
CLASS:PUBLIC
STATUS:CONFIRMED
X-MOZ-GENERATION:4
BEGIN:VALARM
TRIGGER:PT0S
ACTION:DISPLAY
DESCRIPTION:Description
END:VALARM
END:VEVENT
BEGIN:VTIMEZONE
TZID:Europe/Berlin
LAST-MODIFIED:20201010T011803Z
BEGIN:DAYLIGHT
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
END:VCALENDAR

It was an event, recurring every day, until 13.08.
I am not sure since when this error is shown on davX5.

@tcitworld
Copy link
Member

@tobiasKaminsky From what I see, your event data file says « every day from 6 august to 13 august except the 6, 7, 8, 9, 10, 11, 12 and 13 (see EXDATE), so there's indeed no valid instances of the recurrence.

@tobiasKaminsky
Copy link
Member

Strange.
I created a daily reminder from 6-13.08 and then suddenly I received the error.
After each day I removed the daily reminder either via Thunderbird or on Android via DavX5.
That might be the reason you see the exdate.

@tcitworld
Copy link
Member

I think I've already seen this issue with DAVx⁵, so it would be nice to ask them about this (even though they're doing what they can with recurrences : https://www.davx5.com/faq/recurring-events and https://forums.bitfire.at/topic/1238/synching-and-deleting-single-events-from-recurrent-repeating-events)

In the meantime, we could catch the NoInstancesException so that it avoids blocking sync. Anyway, moving this to server.

@tcitworld tcitworld transferred this issue from nextcloud/calendar Aug 17, 2021
@tcitworld
Copy link
Member

Or better, closing as #5641 duplicate.

@tcitworld tcitworld added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: dav labels Aug 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: dav
Projects
None yet
Development

No branches or pull requests

7 participants