Closed Bug 1418634 Opened 7 years ago Closed 7 years ago

CalDAV synced calendar causes error with vertical line (|) character

Categories

(Calendar :: Provider: CalDAV, defect)

x86_64
Windows 10
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: pollti, Unassigned)

Details

STR: #Sync a calendar with CALDAV (tested with Nextcloud and Google cal). #Add an event with title "Test" and location "S2|02 C205". Actual result: I get an error: > An error occurred when writing to the calendar XXX! Error code: MODIFICATION_FAILED. Description: calCalendarManager.js:966 The error console additionally lists warnings: > [calCachedCalendar] Unable to perform playback action delete to the server, will try again next time (5e92f5e1-2f36-4f0a-88b9-300c854c747d,Request Failed: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]) calCachedCalendar.js:535:21 > There has been an error reading data for calendar: XXX. However, this error is believed to be minor, so the program will attempt to continue. Error code: 0x80040111. Description: Request Failed: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus] Expected result: The | character should be supported. At least users should be warned that it is not supported, but the character could still download a calendar using the horizontal line.
This works flawlessly here with a Davical server. And also per RfC, the Location property requires a text type value, which doesn't require any special treatment for the pipe ("|") character. To see what's going wrong for you, enable calendar.debug.log and calendar.debug.log.verbose in the advanced preferences. Then reproduce the issue and check the server's response and the re-retrived item in the error console.
Flags: needinfo?(pollti)
Component: General → Provider: CalDAV
Sorry for the delay - there were some problems with the server for security reasons. Here are the logs of an error: CalDAV: send(https://192.168.0.XX/owncloud/remote.php/dav/calendars/p*****/default/): <?xml version="1.0" encoding="UTF-8"?> <C:calendar-multiget xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"><D:prop><D:getetag/><C:calendar-data/></D:prop><D:href>/owncloud/remote.php/dav/calendars/p*****/default/c5d16c10-3545-4a59-8588-d25f8fd260c2.ics</D:href></C:calendar-multiget> calDavRequestHandlers.js:719:13 CalDAV: recv: <d:multistatus> <d:response> <d:href>/owncloud/remote.php/dav/calendars/p*****/default/c5d16c10-3545-4a59-8588-d25f8fd260c2.ics</d:href> <d:propstat> <d:prop> <d:getetag>"cd8f665c8872e0753a521074e6ae12e6"</d:getetag> <cal:calendar-data>BEGIN:VCALENDAR PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN VERSION:2.0 BEGIN:VEVENT CREATED:20180109T233322Z LAST-MODIFIED:20180109T233357Z DTSTAMP:20180109T233357Z UID:c5d16c10-3545-4a59-8588-d25f8fd260c2 SUMMARY:***** CATEGORIES:***** DTSTART;VALUE=DATE:20180111 DTEND;VALUE=DATE:20180112 TRANSP:TRANSPARENT LOCATION:D120 END:VEVENT END:VCALENDAR </cal:calendar-data> </d:prop> <d:status>HTTP/1.1 200 OK</d:status> </d:propstat> </d:response> </d:multistatus> calDavRequestHandlers.js:762:13 aChangeLogListener=undefined calendarURI=https://192.168.0.XX/owncloud/remote.php/dav/calendars/p*****/default/ iscached=true this.mQueuedQueries.length=0 CalDAV: Request error during delete: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js :: calDavCalendar.prototype.doDeleteItem/delListener.onStreamComplete :: line 912" data: no] calDavCalendar.js:921:21 [calCachedCalendar] Unable to perform playback action delete to the server, will try again next time (5e92f5e1-2f36-4f0a-88b9-300c854c747d,Request Failed: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]) calCachedCalendar.js:534:21 [calCachedCalendar] sync queue empty. calCachedCalendar.js:313:13 There has been an error reading data for calendar: XXXXX. However, this error is believed to be minor, so the program will attempt to continue. Error code: 0x80040111. Description: Request Failed: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus] calCalendarManager.js:969:13 An error occurred when writing to the calendar XXXXX! Error code: MODIFICATION_FAILED. Description: calCalendarManager.js:966 calMgrCalendarObserver.prototype.announceError file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js:966:13 calMgrCalendarObserver.prototype.onError file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js:815:9 notifyFunc file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js:1240:29 forEach self-hosted:251:13 calListenerBag.prototype.notify file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js:1246:9 cal.ObserverBag.prototype.notify resource://calendar/modules/calProviderUtils.jsm:461:16 calCachedCalendarObserverHelper.prototype.onError file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCachedCalendar.js:104:9 notifyFunc file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js:1240:29 forEach self-hosted:251:13 calListenerBag.prototype.notify file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js:1246:9 cal.ObserverBag.prototype.notify resource://calendar/modules/calProviderUtils.jsm:461:16 cal.ProviderBase.prototype.notifyError resource://calendar/modules/calProviderUtils.jsm:672:9 cal.ProviderBase.prototype.notifyOperationComplete resource://calendar/modules/calProviderUtils.jsm:653:13 calDavCalendar.prototype.doDeleteItem/notifyListener file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js:878:13 calDavCalendar.prototype.doDeleteItem/delListener.onStreamComplete file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js:971:17 bound self-hosted:923:17 oauthCheck file:///home/t********/.thunderbird/memexumi.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calDavCalendar.js:360:28 bound oauthCheck self-hosted:965:17
Flags: needinfo?(pollti)
The pipe character isn't returned by the server. Can you please check the log also for the sent item? If the pipe is there, the removal is a server issue. The write error is not related to this; Lightning tries to reprocess a deletion on an item that isn't available on the server anymore. To get back in sync again, you can disable offline support in the properties of the respective calendar, restart TB and enable it again.
Flags: needinfo?(pollti)
There's no "|" in this event. It's just somewhere in the calendar, but I saw the same errors occuring on another machine after the owner used a "|" in the calendar, so I guess it's somehow related.
Flags: needinfo?(pollti)
I asked for a log of a reproduced issue and the report was about a wrong treatment of the pipe character, so your sample should obviously contain this character in the location field.
Ok, I'm sorry for that. I expected this to be a the problem, because I saw two different Lightning instances with different servers throwing this error after adding an appropriate event, but you're right: the failing event seems to be another one. Do you see any reason for that?
See comment 3 - please check whether this resolves the error.
Hmm, this didn't change the behavior a week ago, but I can't reproduce the bug now anymore. I'll close this for now and reopen the bug if I find new information in this. Thanks!
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.