Hello All,
good day.
im trying to add my iCloud shared calendar into Nextcloud, but im getting the below errors:
Sabre\VObject\Recur\NoInstancesException: This recurrence rule does not generate any valid instances
i don’t mind if its read only, but just want to use one app instead of 2 or 3 for the same purpose.
does anyone know how can this be fixed?
Regards!
j-ed
July 15, 2020, 4:45pm
2
Please follow the usual attempt, provide DETAILED information about your environment, the used software versions and explain IN DETAIL how you’ve tried to add your iCloud calendar to Nextcloud.
Dridhas
November 23, 2020, 3:19am
3
apologies for the late reply… i finally got some time to start troubleshooting this again.
here is the log when im trying to add my shared icloud calendar (read only) to my nextcloud instatnce (20.0.2 on Docker):
[webdav] Fatal: Sabre\VObject\Recur\NoInstancesException: This recurrence rule does not generate any valid instances at <>
/var/www/html/apps/dav/lib/CalDAV/CalDavBackend.php line 2446
Sabre\VObject\Recur\EventIterator->__construct(Sabre\VObject\Co … l}, “0436ACAF-5D47-4F99-9A5B-6D4FCD6EDAFD”)
/var/www/html/apps/dav/lib/CalDAV/CalDavBackend.php line 1108
OCA\DAV\CalDAV\CalDavBackend->getDenormalizedData(“BEGIN:VCALENDAR … n”)
/var/www/html/apps/dav/lib/CalDAV/WebcalCaching/RefreshWebcalService.php line 142
OCA\DAV\CalDAV\CalDavBackend->createCalendarObject(“2”, “b3c7d6f3-b529-4 … s”, “BEGIN:VCALENDAR … n”, 1)
/var/www/html/apps/dav/lib/AppInfo/Application.php line 302
OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService->refreshSubscription(“principals/users/username”, “b3c7d6f3-b529-4 … s”)
/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 264
OCA\DAV\AppInfo\Application->OCA\DAV\AppInfo{closure}("*** sensitive parameters replaced ***")
/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 239
Symfony\Component\EventDispatcher\EventDispatcher->doDispatch([Closure {}], “*** sensitive parameter replaced ", " sensitive parameter replaced ***”)
/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php line 73
Symfony\Component\EventDispatcher\EventDispatcher->callListeners([Closure {}], “*** sensitive parameter replaced ", " sensitive parameter replaced ***”)
/var/www/html/lib/private/EventDispatcher/SymfonyAdapter.php line 85
Symfony\Component\EventDispatcher\EventDispatcher->dispatch("*** sensitive parameter replaced ", " sensitive parameter replaced ***")
/var/www/html/apps/dav/lib/CalDAV/CalDavBackend.php line 2147
OC\EventDispatcher\SymfonyAdapter->dispatch("*** sensitive parameter replaced ***", Symfony\Componen … {})
/var/www/html/3rdparty/sabre/dav/lib/CalDAV/CalendarHome.php line 251
OCA\DAV\CalDAV\CalDavBackend->createSubscription(“principals/users/username”, “1”, {{DAV:}displayna … }})
/var/www/html/apps/dav/lib/CalDAV/CalendarHome.php line 84
Sabre\CalDAV\CalendarHome->createExtendedCollection(“1”, Sabre\DAV\MkCol {})
/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 1206
OCA\DAV\CalDAV\CalendarHome->createExtendedCollection(“1”, Sabre\DAV\MkCol {})
/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 586
Sabre\DAV\Server->createCollection(“calendars/username/1”, Sabre\DAV\MkCol {})
/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
Sabre\DAV\CorePlugin->httpMkcol(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 474
Sabre\DAV\Server->emit(“method:MKCOL”, [Sabre\HTTP\Requ … }])
/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 251
Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 319
Sabre\DAV\Server->start()
/var/www/html/apps/dav/lib/Server.php line 332
Sabre\DAV\Server->exec()
/var/www/html/apps/dav/appinfo/v2/remote.php line 35
OCA\DAV\Server->exec()
/var/www/html/remote.php line 167
require_once("/var/www/html/a … p")
MKCOL /remote.php/dav/calendars/username/1
from 172.19.0.1 by username at 2020-11-23T03:07:16+00:00
i hope yall can help me.
Thaks in advance!
Hello, I have the same error more time per hour. My installation is:
System: Ubuntu 20.04.1 on Intel Pentium Silver J5005 with 8GB memory
PHP 7.4.3, MariaDB 10.3.25
The error message
Fatal webdav Sabre\VObject\Recur\NoInstancesException: This recurrence rule does not generate any valid instances
/var/www/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php - line 2446:
Sabre\VObject\Recur\EventIterator->__construct()
/var/www/nextcloud/apps/dav/lib/CalDAV/CalDavBackend.php - line 1108:
OCA\DAV\CalDAV\CalDavBackend->getDenormalizedData()
/var/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Calendar.php - line 202:
OCA\DAV\CalDAV\CalDavBackend->createCalendarObject()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1104:
Sabre\CalDAV\Calendar->createFile()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 527:
Sabre\DAV\Server->createFile()
/var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89
Sabre\DAV\CorePlugin->httpPut()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 474:
Sabre\DAV\Server->emit()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 251:
Sabre\DAV\Server->invokeMethod()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 319:
Sabre\DAV\Server->start()
/var/www/nextcloud/apps/dav/lib/Server.php - line 332:
Sabre\DAV\Server->exec()
/var/www/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:
OCA\DAV\Server->exec()
/var/www/nextcloud/remote.php - line 167:
require_once("/var/www/ne … p")
I use 4 Android 9.X equipment, both phones and tablets. Looking around on Github I find discussions about this error. Also that there might be an issue with one of the entries in the agenda. Within the error message above I cannot find which entry in the addressbook causes the error.
It’s not a good idea to berequired to remove the complete agenda…
Hopefully there is a solution.
j-ed
December 7, 2020, 10:52am
5
Your calendar data contains an event with an invalid recurrence rule, therefore it cannot be processed as it should. Fix your calendar data so that only event entries with a valid rule exist. The problem has already been described in the past as you can see here:
opened 07:45PM - 06 Jul 17 UTC
bug
low
feature: dav
0. Needs triage
feature: caldav
25-feedback
### Steps to reproduce
1. Sign-in into Nextcloud as an admin
2. Check the Next… cloud log
### Expected behaviour
Log shows no fatal errors
### Actual behaviour
Log shows same fatal error every 30 seconds, see Nextcloud log below
### Server configuration
**Operating system**:
Linux 3.10.0
**Web server:**
Apache
**Database:**
mysql 10.1.21
**PHP version:**
5.6.30
**Nextcloud version:** (see Nextcloud admin page)
11.0.3
**Updated from an older Nextcloud/ownCloud or fresh install:**
Updated
**Where did you install Nextcloud from:**
nextcloud.com
**Signing status:**
<details>
<summary>Signing status</summary>
No errors have been found.
</details>
**List of activated apps:**
<details>
<summary>App list</summary>
- Activity 2.4.1
- Auditing / Logging 1.1.0
- Collaborative Tags 1.1.3
- Comments 1.1.0
- Deleted files 1.1.0
- Federation 1.1.1
- File sharing 1.1.1
- First run wizard 2.0
- Gallery 16.0.0
- Log reader 2.0.0
- Mail template editor 0.2
- Nextcloud announcements 1.0
- Notifications 1.0.1
- Password policy 1.1.0
- PDF viewer 1.0.1
- Server info 1.1.1
- Share by mail 1.0.1
- Text editor 2.2
- Theming 1.1.1
- Update notification 1.1.1
- Usage service 0.1.5
- Versions 1.4.0
- Audio player 2.0.2
- Bookmarks 0.10.0
- Calendar 1.5.3
- Contacts 1.5.3
- Direct Menu 0.10.2
- Keeweb 0.4.0
- Mail 0.6.4
- Tasks 0.9.5
- Video calls 1.2.0
</details>
**Nextcloud configuration:**
<details>
<summary>Config report</summary>
'instanceid' => '********',
'passwordsalt' => '**************************************',
'secret' => '***********************************************',
'trusted_domains' =>
array (
0 => '******************',
),
'datadirectory' => '/home/httpd/vhosts/********/cloud_data',
'dbtype' => 'mysql',
'version' => '11.0.3.2',
'dbname' => '**********',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => '******',
'dbpassword' => '**********************',
'logtimezone' => 'UTC',
'installed' => true,
'loglevel' => 2,
'maintenance' => false,
'htaccess.RewriteBase' => '/',
'forcessl' => true,
'memcache.local' => '\\OC\\Memcache\\ArrayCache',
'mail_smtpmode' => 'smtp',
'mail_smtpauthtype' => 'LOGIN',
'mail_smtphost' => '*********.net',
'mail_smtpport' => '25',
'mail_smtpsecure' => 'tls',
'mail_from_address' => 'nextcloud',
'mail_domain' => '*************',
'overwrite.cli.url' => 'https://****************:443',
'overwriteprotocol' => 'https',
'theme' => '',
</details>
**Are you using external storage, if yes which one:** local/smb/sftp/...
No
**Are you using encryption:** yes/no
https
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/...
No
### Logs
#### Web server error log
<details>
<summary>Web server error log</summary>
mod_fcgid: stderr: PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0
(same entry about every 12 minutes)
</details>
#### Nextcloud log (data/nextcloud.log)
<details>
<summary>Nextcloud log</summary>
Fatal | Sabre\VObject\Recur\NoInstancesException: This recurrence rule does not generate any valid instances
1. /home/httpd/vhosts/---.com/cloud.---.com/apps/dav/lib/CalDAV/CalDavBackend.php - line 1680: Sabre\VObject\Recur\EventIterator->__construct(Object(Sabre\VObject\Component\VCalendar), '9C226CCF-F69E-4...')
2. /home/httpd/vhosts/---.com/cloud.---.com/apps/dav/lib/CalDAV/CalDavBackend.php - line 961: OCA\DAV\CalDAV\CalDavBackend->getDenormalizedData('BEGIN VCALENDAR...')
3. /home/httpd/vhosts/---.com/cloud.---.com/3rdparty/sabre/dav/lib/CalDAV/CalendarObject.php - line 106: OCA\DAV\CalDAV\CalDavBackend->updateCalendarObject('7', '9C226CCF-F69E-4...', 'BEGIN VCALENDAR...')
4. /home/httpd/vhosts/---.com/cloud.---.com/3rdparty/sabre/dav/lib/DAV/Server.php - line 1106: Sabre\CalDAV\CalendarObject->put('BEGIN VCALENDAR...')
5. /home/httpd/vhosts/---.com/cloud.---.com/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 513: Sabre\DAV\Server->updateFile('calendars/*****...', Resource id #529, NULL)
[internal function] Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
6. /home/httpd/vhosts/---.com/cloud.---.com/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
7. /home/httpd/vhosts/---.com/cloud.---.com/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method PUT', Array)
8. /home/httpd/vhosts/---.com/cloud.---.com/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
9. /home/httpd/vhosts/---.com/cloud.---.com/apps/dav/lib/Server.php - line 231: Sabre\DAV\Server->exec()
10. /home/httpd/vhosts/---.com/cloud.---.com/apps/dav/appinfo/v2/remote.php - line 30: OCA\DAV\Server->exec()
11. /home/httpd/vhosts/---.com/cloud.---.com/remote.php - line 165: require_once('/home/httpd/vho...')
12. {main}
</details>
Dear j-ed, thank you so much for your answer on GitHub. I too have read it. Unfortunately that is not my question.
Where to find the instance that causes the problem.
** Which user and which entry causes the problem**
That is why I specified the the error message in the hope to get a response where to cure the error. Anyway many thanks for your replay.
j-ed
December 7, 2020, 2:06pm
7
You have to analyze the iCloud calendar data and have to fix or remove the invalid formatted recurring event. I would expect to find an uid in the log file which identifies the relevant record. Once you’ve git thisuid you can e.g. export your calendar to an ical file and search for the uid to identify the defect record.
intereseting for me is that if i export the calendar into an ical file and import it in nextcloud, it works, but i cant open using the webdav address.
j-ed
December 7, 2020, 2:42pm
9
I would assume that the export function corrects the faulty event re currency which doesn’t happen if the calendar should be imported using the webdav address.
Dridhas
December 7, 2020, 2:55pm
10
just did a fresh export and out of 498 events, it imported 497.
question would be, which one didnt go thru…
j-ed
December 7, 2020, 4:13pm
11
Couldn’t you find any hint in the Nextcloud log file which helps you identifying the missing record.
Dridhas
December 7, 2020, 4:26pm
12
yup… i went in and found one instance that was repeating and was having issues.
let me remove it and try again.
1 Like
Dridhas
December 7, 2020, 9:19pm
13
i think i just found my issue…
looks like there is a ghost event that its not being actually deleted from the icloud calendar.
its not on my icloud calendar, but somehow it is.
i edited the ics file and imported it successsfully with no errors.
1 Like
Dear J-ed,
Suddenly I found that one person had an invalid date as death date (Sterfdatum) while I was fixing one of my contacts. I have about 25 dead persons in my 325 contacts the rest is luckely still alive. Then I carefully went through all my contacts and found that there were more died people that had an death date with invalid date.
Unfortunately it did not help, the error still comes up. Now I believe it would be nice if the error message should give some of the data in the record it complains about to make it easy in a lot of contacts to fix that record that is causing the error.
Anyway, still very happy with NextCloud!
Best Regards, Cees
Dridhas
December 25, 2020, 12:15am
15
so i got my issue fixed with my icloud calendar subscription into Nextcloud.
i had to delete my caledar and recreate it, then use the webcal address to add it to nextcloud without issues.
now my question is, how often does Nextcloud pull info from the subscribed calendar?
Dridhas
December 25, 2020, 9:21pm
17
Update:
after getting rid of the ghost event causing the majority of the issues, i was able to create a new subscription but its not showing up.
this is what i did:
docker exec --user www-data Nextcloud php occ config:app:set dav calendarSubscriptionRefreshRate --vaule "PT5M"
and after executing it i got this:
Config value calendarSubscriptionRefreshRate for app dav set to PT5M
i also went to the nextcloud.oc_calendarsubscriptions db and had to manually update the refreshrate from NULL to PT1M as shown below:
| id | uri | principaluri | displayname | refreshrate | calendarorder | calendarcolor | striptodos | stripalarms | stripattachments | lastmodified | synctoken |source |
±—±-----±-------------------------±------------±------------±--------------±--------------±-----------±------------±-----------------±-------------±----------±-------------------------------------------------------------------------------------------------------------------------------------------------------+
| 23 | - | principals/users/user | Calendar | PT1M | 0 | #9750A4 | NULL | NULL | NULL | 1608928209 | 1 | webcal://xxx|
ran the cron.php and still not seeing any events on the subscribed calendaer…
any ideas?
thanks in advance!