https://bugs.kde.org/show_bug.cgi?id=406917
Bug ID: 406917 Summary: Sync of webdav calendar stuck forever Product: Akonadi Version: unspecified Platform: Other OS: Linux Status: REPORTED Severity: major Priority: NOR Component: DAV Resource Assignee: kdepim-b...@kde.org Reporter: grons...@gmail.com Target Milestone: --- SUMMARY When akonadi fails to read a calendar event from eg. a Nextcloud/Owncloud remote calendar (or any webdav resource I guess), it will enter a stale state making all other calendar interactions impossible STEPS TO REPRODUCE 1. Setup a webdav remote calendar in korganizer 2. Be unlucky and end up with an event that for some reason is expected to exist, but it doesn't 3. Register state "Fetching collection (0 %)" or "Ready (0%)" forever. Not possible to get out of that state with "akonadictl restart" or even restart of computer. OBSERVED RESULT DAV resource becomes unusable. EXPECTED RESULT Akonadi should handle the bad state in some way, and move on, letting me use the calendar resource. SOFTWARE/OS VERSIONS linux 5.0.9-200.fc29.x86_64 kdelibs-common-4.14.38-9.fc29.x86_64 kdelibs-4.14.38-9.fc29.x86_64 korganizer-libs-18.12.2-1.fc29.x86_64 kontact-18.12.2-1.fc29.x86_64 kontact-libs-18.12.2-1.fc29.x86_64 kdelibs-webkit-4.14.38-9.fc29.x86_64 kf5-kdelibs4support-5.55.0-1.fc29.x86_64 kf5-kdelibs4support-libs-5.55.0-1.fc29.x86_64 kdelibs-ktexteditor-4.14.38-9.fc29.x86_64 korganizer-18.12.2-1.fc29.x86_64 Linux/KDE Plasma: 5.14.5 KDE Plasma Version: 5.14.5 KDE Frameworks Version: 5.55.0 Qt Version: 5.11.3 ADDITIONAL INFORMATION I'm running Nextcloud 15.0.7, and have set up the calendar as a webdav resource. At some point, it stopped working, and in Kontact->Settings->Configure korganizer->General->Calendars, the resource is stuck at "Fetching collection (0 %)" or "Ready (0 %)" forever. If I run "akonadictl restart" in the terminal, I get the following: org.kde.pim.davresource: Error when uploading item: 420 "There was a problem with the request. The item was not modified on the server.\nAn unexpected error (412) occurred while attempting to upload https://USERNAME@MYURL/NEXTCLOUNDNAME/remote.php/dav/calendars/USERNAME/CALENDARNAME/1551289068.R271.ics. (412)." parse error from icalcomponent_new_from_string. string= "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<d:error xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\">\n <s:exception>Sabre\\DAV\\Exception\\NotFound</s:exception>\n <s:message>Calendar object not found</s:message>\n</d:error>\n" org.kde.pim.davresource: DavGroupwareResource::onItemFetched: Failed to parse item data. "https://USERNAME@MYURL/NEXTCLOUNDNAME/remote.php/dav/calendars/USERNAME/CALENDARNAME/1551289068.R271.ics" Here is the corresponding error on the nextcloud server (15.0.7, nextcloud.log): {"reqId":"BX7CkUh0Wd4i4Vl9crBA", "level":4, "time":"2019-04-26T09:49:21+00:00", "remoteAddr":"192.168.1.1", "user":"USERNAME", "app":"webdav", "method":"PUT", "url":"\/NEXTCLOUDNAME\/remote.php\/dav\/calendars\/USERNAME\/CALENDARNAME\/1551289068.R271.ics", "message":{"Exception":"Sabre\\DAV\\Exception\\BadRequest", "Message":"Calendar object with uid already exists in this calendar collection.", "Code":0, "Trace":[{"file":"\/var\/www\/html\/NEXTCLOUDNAME\/3rdparty\/sabre\/dav\/lib\/CalDAV\/Calendar.php", "line":201, "function":"createCalendarObject", "class":"OCA\\DAV\\CalDAV\\CalDavBackend", "type":"->", "args":["3", "1551289068.R271.ics", "BEGIN:VCALENDAR\r\nPRODID:-\/\/K Desktop Environment\/\/NONSGML libkcal 4.3\/\/EN\r\nVERSION:2.0\r\nX-KDE-ICAL-IMPLEMENTATION-VERSION:1.0\r\nBEGIN:VEVENT\r\nDTSTAMP:20190227T174129Z\r\nCREATED:20190227T173728Z\r\nUID:a151d2ad-e962-459f-a291-705071fe62ef\r\nSEQUENCE:2\r\nLAST-MODIFIED:20190227T174129Z\r\nDESCRIPTION:Test\\, with commas\r\nSUMMARY:Test comma\r\nLOCATION:Location\\, with comma\r\nDTSTART;VALUE=DATE:20190227\r\nDTEND;VALUE=DATE:20190228\r\nTRANSP:OPAQUE\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php", "line":1096, "function":"createFile", "class":"Sabre\\CalDAV\\Calendar", "type":"->", "args":["1551289068.R271.ics", "BEGIN:VCALENDAR\r\nPRODID:-\/\/K Desktop Environment\/\/NONSGML libkcal 4.3\/\/EN\r\nVERSION:2.0\r\nX-KDE-ICAL-IMPLEMENTATION-VERSION:1.0\r\nBEGIN:VEVENT\r\nDTSTAMP:20190227T174129Z\r\nCREATED:20190227T173728Z\r\nUID:a151d2ad-e962-459f-a291-705071fe62ef\r\nSEQUENCE:2\r\nLAST-MODIFIED:20190227T174129Z\r\nDESCRIPTION:Test\\, with commas\r\nSUMMARY:Test comma\r\nLOCATION:Location\\, with comma\r\nDTSTART;VALUE=DATE:20190227\r\nDTEND;VALUE=DATE:20190228\r\nTRANSP:OPAQUE\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php", "line":525, "function":"createFile", "class":"Sabre\\DAV\\Server", "type":"->", "args":["calendars\/USERNAME\/CALENDARNAME\/1551289068.R271.ics", "BEGIN:VCALENDAR\r\nPRODID:-\/\/K Desktop Environment\/\/NONSGML libkcal 4.3\/\/EN\r\nVERSION:2.0\r\nX-KDE-ICAL-IMPLEMENTATION-VERSION:1.0\r\nBEGIN:VEVENT\r\nDTSTAMP:20190227T174129Z\r\nCREATED:20190227T173728Z\r\nUID:a151d2ad-e962-459f-a291-705071fe62ef\r\nSEQUENCE:2\r\nLAST-MODIFIED:20190227T174129Z\r\nDESCRIPTION:Test\\, with commas\r\nSUMMARY:Test comma\r\nLOCATION:Location\\, with comma\r\nDTSTART;VALUE=DATE:20190227\r\nDTEND;VALUE=DATE:20190228\r\nTRANSP:OPAQUE\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n", null]}, {"function":"httpPut", "class":"Sabre\\DAV\\CorePlugin", "type":"->", "args":[{"absoluteUrl":"https:\/\/MYURL\/NEXTCLOUDNAME\/remote.php\/dav\/calendars\/USERNAME\/CALENDARNAME\/1551289068.R271.ics", "__class__":"Sabre\\HTTP\\Request"}, {"__class__":"Sabre\\HTTP\\Response"}]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php", "line":105, "function":"call_user_func_array", "args":[[{"__class__":"Sabre\\DAV\\CorePlugin"}, "httpPut"], [{"absoluteUrl":"https:\/\/MYURL\/NEXTCLOUDNAME\/remote.php\/dav\/calendars\/USERNAME\/CALENDARNAME\/1551289068.R271.ics", "__class__":"Sabre\\HTTP\\Request"}, {"__class__":"Sabre\\HTTP\\Response"}]]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php", "line":479, "function":"emit", "class":"Sabre\\Event\\EventEmitter", "type":"->", "args":["method:PUT", [{"absoluteUrl":"https:\/\/MYURL\/NEXTCLOUDNAME\/remote.php\/dav\/calendars\/USERNAME\/CALENDARNAME\/1551289068.R271.ics", "__class__":"Sabre\\HTTP\\Request"}, {"__class__":"Sabre\\HTTP\\Response"}]]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php", "line":254, "function":"invokeMethod", "class":"Sabre\\DAV\\Server", "type":"->", "args":[{"absoluteUrl":"https:\/\/MYURL\/NEXTCLOUDNAME\/remote.php\/dav\/calendars\/USERNAME\/CALENDARNAME\/1551289068.R271.ics", "__class__":"Sabre\\HTTP\\Request"}, {"__class__":"Sabre\\HTTP\\Response"}]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/apps\/dav\/lib\/Server.php", "line":301, "function":"exec", "class":"Sabre\\DAV\\Server", "type":"->", "args":[]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/apps\/dav\/appinfo\/v2\/remote.php", "line":35, "function":"exec", "class":"OCA\\DAV\\Server", "type":"->", "args":[]}, {"file":"\/var\/www\/html\/NEXTCLOUDNAME\/remote.php", "line":163, "args":["\/var\/www\/html\/NEXTCLOUDNAME\/apps\/dav\/appinfo\/v2\/remote.php"], "function":"require_once"}], "File":"\/var\/www\/html\/NEXTCLOUDNAME\/apps\/dav\/lib\/CalDAV\/CalDavBackend.php", "Line":1059, "CustomMessage":"--"}, "userAgent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/534.34 (KHTML, like Gecko) akonadi_davgroupware_resource_0\/5.10.2 Safari\/534.34", "version":"15.0.7.0"} --- Writing this, I realize that the calendar event that is troublesome, is one I created "Testing with commas", that probably is related to another bug, where commas in location or some other field doesn't work in all apps. How do I get out of this stale state? Related: https://forum.kde.org/viewtopic.php?f=261&t=159812 -- You are receiving this mail because: You are watching all bug changes.