[Nextcloud 15 RC2] DAV errors and broken access after daily backup

Damn, after my daily Nextcloud backup (maintenance mode, MariaDB dump, install+data dir rsync), I recognized the desktop sync client is not reconnecting. Also mobile phone throws errors on syncing contacts and calendars via DAVdroid.

Checked the backup log and everything seemed to gone well. The database dump size is as expected, no dmesg errors that would indicate an disk I/O error.
Maintenance mode was successfully enabled and disabled after backup finished, according to my backup script (that runs fine for … years).

Did fsck on source and backup target drives and mysqlcheck, both didn’t find any issue.

The errors are the following:

Running occ command:

An unhandled exception has been thrown:
ArgumentCountError: Too few arguments to function OCA\DAV\Command\SyncSystemAddressBook::__construct(), 0 passed in /var/www/nextcloud/lib/private/Console/Application.php on line 222 and exactly 1 expected in /var/www/nextcloud/apps/dav/lib/Command/SyncSystemAddressBook.php:38
Stack trace:
#0 /var/www/nextcloud/lib/private/Console/Application.php(222): OCA\DAV\Command\SyncSystemAddressBook->__construct()
#1 /var/www/nextcloud/lib/private/Console/Application.php(134): OC\Console\Application->loadCommandsFromInfoXml(Array)
#2 /var/www/nextcloud/console.php(95): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')
#4 {main}

But this only shows up, if maintenance mode is disabled. If it’s enabled, the help/usage info shows up, occ maintenance:repair and such can be run. Did this, with following output:

Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\FixBirthdayCalendarComponent' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\CalDAVRemoveEmptyValue' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\BuildCalendarSearchIndex' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\RefreshWebcalJobRegistrar' is unknown
Failed to load repair step for files_sharing: Repair step 'OCA\Files_Sharing\Migration\OwncloudGuestShareType' is unknown
Failed to load repair step for files_sharing: Repair step 'OCA\Files_Sharing\Migration\SetPasswordColumn' is unknown
Failed to load repair step for oauth2: Repair step 'OCA\OAuth2\Migration\SetTokenExpiration' is unknown
Failed to load repair step for twofactor_backupcodes: Repair step 'OCA\TwoFactorBackupCodes\Migration\CheckBackupCodes' is unknown
 - Repair MySQL collation
     - All tables already have the correct collation -> nothing to do
 - Repair mime types
 - Clean tags and favorites
     - 0 tags of deleted users have been removed.
     - 0 tags for delete files have been removed.
     - 0 tag entries for deleted tags have been removed.
     - 0 tags with no entries have been removed.
 - Repair invalid shares
 - Remove shares of a users root folder
 - Move .step file of updater to backup location
 - Fix potential broken mount points
     - No mounts updated
 - Repair invalid paths in file cache
 - Add log rotate job
 - Clear frontend caches
     - Image cache cleared
     - SCSS cache cleared
     - JS cache cleared
 - Clear every generated avatar on major updates
 - Add preview background cleanup job
 - Queue a one-time job to cleanup old backups of the updater
 - Repair pending cron jobs
     - No need to repair pending cron jobs.
 - Extract the vcard uid and store it in the db

Nextcloud log of first minute after backup has finished:

{"reqId":"ma7RnfCU4ZHm8Ru24STK","level":4,"time":"2018-12-01T04:26:09+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"webdav","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"Error: Class 'OCA\\DAV\\CardDAV\\AddressBookRoot' not found","Code":0,"Trace":[{"function":"{closure}","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php","line":105,"function":"call_user_func_array","args":[{"__class__":"Closure"},["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":466,"function":"emit","class":"Sabre\\Event\\EventEmitter","type":"->","args":["beforeMethod",["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":254,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"\/var\/www\/nextcloud\/remote.php","line":72,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/remote.php","line":168,"function":"handleException","args":[{"__class__":"Error"}]}],"File":"\/var\/www\/nextcloud\/remote.php","Line":70,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"ma7RnfCU4ZHm8Ru24STK","level":3,"time":"2018-12-01T04:26:10+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#58","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"ma7RnfCU4ZHm8Ru24STK","level":3,"time":"2018-12-01T04:26:10+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#63","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"EEkFcocf5YX62Hvil2sY","level":4,"time":"2018-12-01T04:26:41+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"webdav","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"Error: Class 'OCA\\DAV\\CardDAV\\AddressBookRoot' not found","Code":0,"Trace":[{"function":"{closure}","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php","line":105,"function":"call_user_func_array","args":[{"__class__":"Closure"},["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":466,"function":"emit","class":"Sabre\\Event\\EventEmitter","type":"->","args":["beforeMethod",["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":254,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"\/var\/www\/nextcloud\/remote.php","line":72,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/remote.php","line":168,"function":"handleException","args":[{"__class__":"Error"}]}],"File":"\/var\/www\/nextcloud\/remote.php","Line":70,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"EEkFcocf5YX62Hvil2sY","level":3,"time":"2018-12-01T04:26:41+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#58","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"EEkFcocf5YX62Hvil2sY","level":3,"time":"2018-12-01T04:26:41+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#63","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"pC7JEykJzcsclt3A7GuH","level":4,"time":"2018-12-01T04:27:13+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"webdav","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"Error: Class 'OCA\\DAV\\CardDAV\\AddressBookRoot' not found","Code":0,"Trace":[{"function":"{closure}","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php","line":105,"function":"call_user_func_array","args":[{"__class__":"Closure"},["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":466,"function":"emit","class":"Sabre\\Event\\EventEmitter","type":"->","args":["beforeMethod",["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":254,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"\/var\/www\/nextcloud\/remote.php","line":72,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/remote.php","line":168,"function":"handleException","args":[{"__class__":"Error"}]}],"File":"\/var\/www\/nextcloud\/remote.php","Line":70,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"pC7JEykJzcsclt3A7GuH","level":3,"time":"2018-12-01T04:27:13+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#58","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"pC7JEykJzcsclt3A7GuH","level":3,"time":"2018-12-01T04:27:13+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#63","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"jVD1267rP7gvY3BI36Pf","level":4,"time":"2018-12-01T04:27:45+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"webdav","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"Error: Class 'OCA\\DAV\\CardDAV\\AddressBookRoot' not found","Code":0,"Trace":[{"function":"{closure}","args":["*** sensitive parameters replaced ***"]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php","line":105,"function":"call_user_func_array","args":[{"__class__":"Closure"},["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":466,"function":"emit","class":"Sabre\\Event\\EventEmitter","type":"->","args":["beforeMethod",["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]]},{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":254,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"\/var\/www\/nextcloud\/remote.php","line":72,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloud\/remote.php","line":168,"function":"handleException","args":[{"__class__":"Error"}]}],"File":"\/var\/www\/nextcloud\/remote.php","Line":70,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"jVD1267rP7gvY3BI36Pf","level":3,"time":"2018-12-01T04:27:45+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#58","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}
{"reqId":"jVD1267rP7gvY3BI36Pf","level":3,"time":"2018-12-01T04:27:45+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"PHP","method":"PROPFIND","url":"\/nextcloud\/remote.php\/dav\/files\/Micha\/","message":"Cannot modify headerinformation - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/dav\/lib\/CardDAV\/AddressBookRoot.php:1) at \/var\/www\/nextcloud\/3rdparty\/sabre\/http\/lib\/Sapi.php#63","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.5.0v2.5.0 (build 20181112) (Nextcloud)","version":"15.0.0.8"}

Since nothing else changed, I guess it has something to do with NC15 RC2 update (from Beta 2) earlier this day. There was also another error on calendar sync between update and before, I see if I can add this as well, but need to sleep now :stuck_out_tongue_winking_eye:.

I hope someone has an idea where to start debug. Of course I could revert to Beta 2 from backup, but I would like to check what has gone wrong first.

It seems so be an initial issue with my holiday iCalendar:

{"reqId":"Trf92CXzdZ0GfFk9ewRy","level":4,"time":"2018-12-01T01:43:42+01:00","remoteAddr":"46.59.179.64","user":"Micha","app":"webdav","method":"PUT","url":"\/nextcloud\/remote.php\/dav\/calendars\/Micha\/personal\/627feb4a-1988-48d1-9538-43cc9c96aa59.ics","message":{"Exception":"Sabre\\DAV\\Exception\\UnsupportedMediaType","Message":"Validation error in iCalendar: More than one master object was found for the object with UID 627feb4a-1988-48d1-9538-43cc9c96aa59","Code":0,"Trace":[{"file":"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/CalDAV\/Plugin.php","line":772,"function":"validateICalendar","class":"Sabre\\CalDAV\\Plugin","type":"->","args":["BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:+\/\/IDN bitfire.at\/\/DAVdroid\/2.0.5-ose ical4j\/2.2.0\r\nBEGIN:VEVENT\r\nDTSTAMP:20181201T004412Z\r\nUID:627feb4a-1988-48d1-9538-43cc9c96aa59\r\nSEQUENCE:5\r\nSUMMARY:<event_name>\r\nDTSTART;TZID=Europe\/Berlin:20180817T152500\r\nDURATION:PT3H15M\r\nRRULE:FREQ=WEEKLY\r\nCREATED:20180813T232148Z\r\nX-MOZ-GENERATION:4\r\nEND:VEVENT\r\nBEGIN:VEVENT\r\nDTSTAMP:20181201T004412Z\r\nUID:627feb4a-1988-48d1-9538-43cc9c96aa59\r\nSEQUENCE:2\r\nSUMMARY:<event_name>\r\nDTSTART;TZID=Europe\/Berlin:20181116T152500\r\nDURATION:PT14700S\r\nRRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20181122T142500Z\r\nSTATUS:TENTATIVE\r\nEND:VEVENT\r\nBEGIN:VTIMEZONE\r\nTZID:Europe\/Berlin\r\nTZURL:http:\/\/tzurl.org\/zoneinfo\/Europe\/Berlin\r\nX-LIC-LOCATION:Europe\/Berlin\r\nBEGIN:DAYLIGHT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nTZNAME:CEST\r\nDTSTART:19810329T020000\r\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nTZNAME:CET\r\nDTSTART:19961027T030000\r\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\r\nEND:STANDARD\r\nBEGIN:STANDARD\r\nTZOFFSETFROM:+005328\r\nTZOFFSETTO:+0100\r\nTZNAME:CET\r\nDTSTART:18930401T000000\r\nRDATE:18930401T000000\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0200\r\nTZNAME:CEST\r\nDTSTART:19160430T230000\r\nRDATE:19160430T230000\r\nRDATE:19170416T020000\r\nRDATE:19180415T020000\r\nRDATE:19400401T020000\r\nRDATE:19430329T020000\r\nRDATE:19440403T020000\r\nRDATE:19450402T020000\r\nRDATE:19460414T020000\r\nRDATE:19470406T030000\r\nRDATE:19480418T020000\r\nRDATE:19490410T020000\r\nRDATE:19800406T020000\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0100\r\nTZNAME:CET\r\nDTSTART:19161001T010000\r\nRDATE:19161001T010000\r\nRDATE:19170917T030000\r\nRDATE:19180916T030000\r\nRDATE:19421102T030000\r\nRDATE:19431004T030000\r\nRDATE:19441002T030000\r\nRDATE:19451118T030000\r\nRDATE:19461007T030000\r\nRDATE:19471005T030000\r\nRDATE:19481003T030000\r\nRDATE:19491002T030000\r\nRDATE:19800928T030000\r\nRDATE:19810927T030000\r\nRDATE:19820926T030000\r\nRDATE:19830925T030000\r\nRDATE:19840930T030000\r\nRDATE:19850929T030000\r\nRDATE:19860928T030000\r\nRDATE:19870927T030000\r\nRDATE:19880925T030000\r\nRDATE:19890924T030000\r\nRDATE:19900930T030000\r\nRDATE:19910929T030000\r\nRDATE:19920927T030000\r\nRDATE:19930926T030000\r\nRDATE:19940925T030000\r\nRDATE:19950924T030000\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nTZOFFSETFROM:+0200\r\nTZOFFSETTO:+0300\r\nTZNAME:CEMT\r\nDTSTART:19450524T010000\r\nRDATE:19450524T010000\r\nRDATE:19470511T020000\r\nEND:DAYLIGHT\r\nBEGIN:DAYLIGHT\r\nTZOFFSETFROM:+0300\r\nTZOFFSETTO:+0200\r\nTZNAME:CEST\r\nDTSTART:19450924T030000\r\nRDATE:19450924T030000\r\nRDATE:19470629T030000\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nTZOFFSETFROM:+0100\r\nTZOFFSETTO:+0100\r\nTZNAME:CET\r\nDTSTART:19460101T000000\r\nRDATE:19460101T000000\r\nRDATE:19800101T000000\r\nEND:STANDARD\r\nEND:VTIMEZONE\r\nEND:VCALENDAR\r\n",

The whole error message is muuuch longer, since the whole calendar content is inside as argument several times, but I think until the first appearance should give an idea.

This was ~1 hour after v15 RC2 update.

Now that I read through the content, actually it looks like one repeating event failed to sync from DAVdroid mobile CalDAV client. This error does not show up after the backup (see above), but instead the OT errors show up and break Nextcloud nearly entirely. Not sure, but maybe the sync attempt and then maintenance + MariaDB database backup lead to this even being corrupted, while being in half-sync mode or such? :crazy_face:

So actually it should be possible to identify the related database table and remove it. Since this is a well known (by me) repeating event, I can easily recreate it. I will try it, maybe the event ID 627feb4a-1988-48d1-9538-43cc9c96aa59.ics helps.

  • Still would be interesting why this failed to sync after NC15 RC2. Did something change about the CalDAV backend?

  • And why does the error show iCalendar/ics? The “personal” calendar, as well as the event name (I erased it above for my privacy) clearly prove that it’s about the native calendar app calendar. I have an iCalendar attached as well, but containing other events.

Okay could resolve it via:

  • Manually reduce version string in config.php to 15.0.0.7 to allow rerun update
  • sudo -u www-data php /path/to/nextcloud/updater/updater.phar
  • sudo -u www-data php /path/to/nextcloud//occ upgrade
  • Somehow when open WebUI the update execution is offered again, even that occ upgrade finished successfully.
  • This already happened the last time. This time I reran occ upgrade instead, afterwards WebUI opens as expected.
  • :u6307: OT dav errors resolved

Calendar sync still not worked, error from 2nd post above showed up again, when trying sync from DAVdroid mobile client.

  • Removed offending repetitive event (my 2nd post) from mobile DAVdroid attached calendar
  • :u6307: Sync works again, afterwards sync from other CardDAV clients work as well.

So finally not sure what was the issue, I still guess the combination of broken sync/event, perhaps hang sync process, RC2 upgrade and/or maintenance mode/database restart broke something.
Strange that maintenance:repair, mysqlcheck -o and such all didn’t help, only the redone Nextcloud update.
/close