[Akonadi] [Bug 406917] New: Sync of webdav calendar stuck forever

MartinG bugzilla_noreply at kde.org
Fri Apr 26 10:57:28 BST 2019


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-bugs at kde.org
          Reporter: gronslet at 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 the assignee for the bug.


More information about the Kdepim-bugs mailing list