OwnCloud "This recurrence rule does not generate any valid instances"



  • Hi,

    Since version 1.x (included 1.03) I have a sync error only with shared calendar from other users.
    The own calendars from the same account works fine.
    Last version where all works fine is 0.9.1.3.
    Uninstall and reboot don't help.
    Thanks in advance for helping find a solution.

    In my view, this is the important part of log:

    http://pastebin.com/UyuibZyg


  • developer

    Hello,

    DAVdroid 1.0 queries by default only the events in the future and the last 90 days. Your server seems to have a problem when evaluating your events to see when they are:

    <?xml version="1.0" encoding="utf-8"?>
    <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
      <s:sabredav-version>2.1.6</s:sabredav-version>
      <s:exception>Sabre\VObject\Recur\NoInstancesException</s:exception>
      <s:message>This recurrence rule does not generate any valid instances</s:message>
    </d:error>
    

    (Which is quite strange, because this evaluation should happen when the event is inserted and not when it's queried. But it makes no difference.) So this is a server error. Please contact your server vendor.

    As a workaround, you may set the past time event limit (in DAVdroid Account settings) to blank (""), which means "synchronize all events in the past" (but it will reduce performance and not scale).



  • Hi,

    first of all the workaround works - thanks.
    I have set the past time event limit to blank (""), synchronizing without errors and set it back to 90 days.

    But I don't get it why this error occurs.
    The owncloud server belongs to me and I didn't change anything.
    And why does the error occurs only with shared calendars?


  • developer

    @seamanx said:

    But I don't get it why this error occurs.

    To see which events are 90 days in the past or older, OwnCloud will have to evaluate all events and see when they are. Recurring events have to be expanded – a recurring event may have the first instance a year ago, but when a single instance is in the future or within 90 days in the past, it has to be returned too. This is called recurrence expansion. Normally, servers do this when they receive an event and store it together with a "first instance" and "last instance" time. Then, when they receive the request "return events only in future and the last 90 days", they only have to look at the "last instance" and this value should be in the future or max. 90 days in the past.

    The owncloud server belongs to me and I didn't change anything.

    DAVdroid 0.9 queried all events and not only the ones in the future and the last 90 days (by default). So, OwnCloud apparently didn't have to calculate the last instances of your events and thus did not fail.

    And why does the error occurs only with shared calendars?

    To answer this, knowledge of how OwnCloud internally works is required. I suggest to ask the OwnCloud community.



  • Many thanks for the comprehensible description of the Problem!



  • Just found out:

    • The owner of the "faulty" calendar had the same problem. So the problem has nothing to do with shared calendars.

  • developer

    @seamanx said:

    • The owner of the "faulty" calendar had the same problem. So the problem has nothing to do with shared calendars.

    Probably there's some recurring event in this calendar which can't be parsed by OwnCloud. This should be the problem.



  • I am having the exact same problem with owncloud (8.1.6), in my case also with a shared calendar.

    @rfc2822 : Thank you so much! Your workaround saved my life!

    @seamanx: Have you raised this problem with the owncloud developers? If so, can you post a link to the bug report?

    Just as a side remark: I still think there is a minor bug in DavDroid here. When the same account has multiple calendars and only one of them suffers from this problem, then the notification of the error disappears after a split second. This made it unnecessarily hard find out what was going on.


  • developer

    @cgogolin said:

    Just as a side remark: I still think there is a minor bug in DavDroid here. When the same account has multiple calendars and only one of them suffers from this problem, then the notification of the error disappears after a split second. This made it unnecessarily hard find out what was going on.

    I was too lazy until now… should have been fixed.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.