calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Calendar issues (404)

Open rawbertp opened this issue 4 years ago • 9 comments

Lately I started to have problems with two of my calendars.

  • Certain days or weeks do not load in the web UI.
  • Certain events created on one device (e.g. iPhone) are not synced to other devices (sometimes it works, though)

In the developer console the following error is shown:

https://abc.xyz/remote.php/dav/calendars/robert/gemeinsam/ (REPORT) --> 404

Request:

<x1:calendar-query xmlns:x1="urn:ietf:params:xml:ns:caldav"><x0:prop xmlns:x0="DAV:"><x0:getcontenttype/><x0:getetag/><x0:resourcetype/><x0:displayname/><x0:owner/><x0:resourcetype/><x0:sync-token/><x0:current-user-privilege-set/><x0:getcontenttype/><x0:getetag/><x0:resourcetype/><x1:calendar-data/></x0:prop><x1:filter><x1:comp-filter name="VCALENDAR"><x1:comp-filter name="VEVENT"><x1:time-range start="20201115T230000Z" end="20201122T230000Z"/></x1:comp-filter></x1:comp-filter></x1:filter></x1:calendar-query>

Response:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception\NotFound</s:exception>
  <s:message>Calendar object not found</s:message>
</d:error>

In the logs it shows:

[webdav] Debug: Sabre\DAV\Exception\NotFound: Calendar object not found at <<closure>>

 0. /var/www/html/3rdparty/sabre/dav/lib/DAV/Tree.php line 80
    OCA\DAV\CalDAV\Calendar->getChild("3a5e2546-be08-4 ... s")
 1. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 976
    Sabre\DAV\Tree->getNodeForPath("calendars/rober ... s")
 2. <<closure>>
    Sabre\DAV\Server->getPropertiesIteratorForPath("calendars/rober ... s", ["{DAV:}getconte ... "], 0)
 3. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 946
    iterator_to_array(Generator {})
 4. /var/www/html/3rdparty/sabre/dav/lib/CalDAV/Plugin.php line 610
    Sabre\DAV\Server->getPropertiesForPath("calendars/rober ... s", ["{DAV:}getconte ... "])
 5. /var/www/html/3rdparty/sabre/dav/lib/CalDAV/Plugin.php line 260
    Sabre\CalDAV\Plugin->calendarQueryReport(Sabre\CalDAV\Xml ... "})
 6. /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    Sabre\CalDAV\Plugin->report("{urn:ietf:param ... y", Sabre\CalDAV\Xml ... "}, "calendars/robert/gemeinsam")
 7. /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 720
    Sabre\DAV\Server->emit("report", ["{urn:ietf:para ... "])
 8. /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    Sabre\DAV\CorePlugin->httpReport(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
 9. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 474
    Sabre\DAV\Server->emit("method:REPORT", [Sabre\HTTP\Requ ... }])
10. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 251
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
11. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 319
    Sabre\DAV\Server->start()
12. /var/www/html/apps/dav/lib/Server.php line 320
    Sabre\DAV\Server->exec()
13. /var/www/html/apps/dav/appinfo/v2/remote.php line 35
    OCA\DAV\Server->exec()
14. /var/www/html/remote.php line 167
    require_once("/var/www/html/a ... p")

REPORT /remote.php/dav/calendars/robert/gemeinsam/
from 10.42.x.x by robert at 2020-11-18T17:58:29+00:00

raw:

{"reqId":"tX4bf6XaQ4ijZOYJbjJs","level":0,"time":"2020-11-23T20:34:47+00:00","remoteAddr":"10.42.x.x","user":"robert","app":"webdav","method":"REPORT","url":"/remote.php/dav/calendars/robert/gemeinsam/","message":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"Calendar object not found","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Tree.php","line":80,"function":"getChild","class":"OCA\\DAV\\CalDAV\\Calendar","type":"->","args":["B00B2217-4339-457B-9843-72F0492B1DD2"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":976,"function":"getNodeForPath","class":"Sabre\\DAV\\Tree","type":"->","args":["calendars/robert/gemeinsam/B00B2217-4339-457B-9843-72F0492B1DD2"]},{"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->","args":["calendars/robert/gemeinsam/B00B2217-4339-457B-9843-72F0492B1DD2",["{DAV:}getcontenttype","{DAV:}getetag","{DAV:}resourcetype","{DAV:}displayname","{DAV:}owner","{DAV:}sync-token","{DAV:}current-user-privilege-set","{urn:ietf:params:xml:ns:caldav}calendar-data"],0]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":946,"function":"iterator_to_array","args":[{"__class__":"Generator"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/CalDAV/Plugin.php","line":610,"function":"getPropertiesForPath","class":"Sabre\\DAV\\Server","type":"->","args":["calendars/robert/gemeinsam/B00B2217-4339-457B-9843-72F0492B1DD2",["{DAV:}getcontenttype","{DAV:}getetag","{DAV:}resourcetype","{DAV:}displayname","{DAV:}owner","{DAV:}sync-token","{DAV:}current-user-privilege-set","{urn:ietf:params:xml:ns:caldav}calendar-data"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/CalDAV/Plugin.php","line":260,"function":"calendarQueryReport","class":"Sabre\\CalDAV\\Plugin","type":"->","args":[{"properties":["{DAV:}getcontenttype","{DAV:}getetag","{DAV:}resourcetype","{DAV:}displayname","{DAV:}owner","{DAV:}sync-token","{DAV:}current-user-privilege-set","{urn:ietf:params:xml:ns:caldav}calendar-data"],"filters":{"name":"VCALENDAR","is-not-defined":false,"comp-filters":[{"name":"VEVENT","is-not-defined":false,"comp-filters":[],"prop-filters":[],"time-range":{"start":{"__class__":"DateTimeImmutable"},"end":{"__class__":"DateTimeImmutable"}}}],"prop-filters":[],"time-range":false},"expand":null,"contentType":"text/calendar","version":"2.0","__class__":"Sabre\\CalDAV\\Xml\\Request\\CalendarQueryReport"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"report","class":"Sabre\\CalDAV\\Plugin","type":"->","args":["{urn:ietf:params:xml:ns:caldav}calendar-query",{"properties":["{DAV:}getcontenttype","{DAV:}getetag","{DAV:}resourcetype","{DAV:}displayname","{DAV:}owner","{DAV:}sync-token","{DAV:}current-user-privilege-set","{urn:ietf:params:xml:ns:caldav}calendar-data"],"filters":{"name":"VCALENDAR","is-not-defined":false,"comp-filters":[{"name":"VEVENT","is-not-defined":false,"comp-filters":[],"prop-filters":[],"time-range":{"start":{"__class__":"DateTimeImmutable"},"end":{"__class__":"DateTimeImmutable"}}}],"prop-filters":[],"time-range":false},"expand":null,"contentType":"text/calendar","version":"2.0","__class__":"Sabre\\CalDAV\\Xml\\Request\\CalendarQueryReport"},"calendars/robert/gemeinsam"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":720,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["report",["{urn:ietf:params:xml:ns:caldav}calendar-query",{"properties":["{DAV:}getcontenttype","{DAV:}getetag","{DAV:}resourcetype","{DAV:}displayname","{DAV:}owner","{DAV:}sync-token","{DAV:}current-user-privilege-set","{urn:ietf:params:xml:ns:caldav}calendar-data"],"filters":{"name":"VCALENDAR","is-not-defined":false,"comp-filters":[{"name":"VEVENT","is-not-defined":false,"comp-filters":[],"prop-filters":[],"time-range":{"start":{"__class__":"DateTimeImmutable"},"end":{"__class__":"DateTimeImmutable"}}}],"prop-filters":[],"time-range":false},"expand":null,"contentType":"text/calendar","version":"2.0","__class__":"Sabre\\CalDAV\\Xml\\Request\\CalendarQueryReport"},"calendars/robert/gemeinsam"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpReport","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:REPORT",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/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/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":320,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":167,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/CalDAV/Calendar.php","Line":287,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":"19.0.5.2","id":"5fbc1ce7edf40"}

Further details see here: https://help.nextcloud.com/t/calendar-issues-error-404/98537

Additional question: how to decode the data in oc_calendarobjects.calendardata?

rawbertp avatar Nov 23 '20 20:11 rawbertp

The interesting thing is that I can find the mentioned resource in the oc_calendarobjects table:

select * from oc_calendarobjects where uri = 'B00B2217-4339-457B-9843-72F0492B1DD2.ics';

rawbertp avatar Nov 23 '20 20:11 rawbertp

Any ideas how I can save/fix my calendar(s) or how to further troubleshoot this?

When I try to download the calendar, the following error is thrown:

"Message": "Trying to access array offset on value of type null at /var/www/html/3rdparty/sabre/dav/lib/CalDAV/CalendarObject.php#92",
...
"Message": "End of document reached prematurely",
    "Trace": [
      {
        "file": "/var/www/html/3rdparty/sabre/vobject/lib/Parser/MimeDir.php",
        "line": 144,
        "function": "readLine",
        "class": "Sabre\\VObject\\Parser\\MimeDir",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/3rdparty/sabre/vobject/lib/Parser/MimeDir.php",
        "line": 90,
        "function": "parseDocument",
        "class": "Sabre\\VObject\\Parser\\MimeDir",
        "type": "->",
        "args": []
      },
... <long list of VCALENDAR items...>
...

rawbertp avatar Nov 26 '20 17:11 rawbertp

I found quite a lot of entries like that, could that be the problem?

            "calendars/robert/gemeinsam/aa54a261-ff88-4ed0-ba75-7c419b45714f.ics": "",

rawbertp avatar Nov 26 '20 17:11 rawbertp

I am experiencing the exact same issue. It started yesterday after I created an event on Android using DAVx5 (v3.3.6-ose).

Upgrading to Nextcloud 19.0.5 and then to 20.0.2 did not help.

I cannot synchronize the calendar in question any more, not are any events shown in the web interface and I also cannot download it there (same error as in the comment above).

Any help on fixing this or at least getting my calendar exported would be greatly appreciated. If it is caused by a faulty calendar entry, how can I delete it?

@rawbertp Any chance you are also using DAVx5, so it might have caused this?

lapseofreason avatar Dec 03 '20 20:12 lapseofreason

Same problem here. Only happens to one of (many) calendars.

Daedalus3 avatar Dec 17 '20 11:12 Daedalus3

@rawbertp Do you have a solution or a workaround for your problem? I think I have the same problem with my nextcloud installation :(

schwantuschke avatar Aug 22 '22 20:08 schwantuschke

I also started experiencing the problem. The synchronization on DAVx5 has been working fine for months. Now I suddenly started getting 404 errors when accessing https://[my-host]/nextcloud/remote.php/dav/calendars/[my-user]/personal. Could someone please offer some support?

blacklight avatar Dec 29 '22 12:12 blacklight

I also started experiencing the problem. The synchronization on DAVx5 has been working fine for months. Now I suddenly started getting 404 errors when accessing https://[my-host]/nextcloud/remote.php/dav/calendars/[my-user]/personal. Could someone please offer some support?

Can you look at your logs please and see what causes it? You can find it in the data directory.

miaulalala avatar Jan 03 '23 07:01 miaulalala

Friendly reminder for the requested logs

ChristophWurst avatar May 22 '23 08:05 ChristophWurst