Closed Bug 678966 Opened 8 years ago Closed 8 years ago

WebDAV calendar cannot recover from lost connection


(Calendar :: Provider: ICS/WebDAV, defect)

Lightning 1.0b5
Not set


(Not tracked)



(Reporter: heiko.rosemann, Unassigned)


User Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0
Build ID: 20110619063910

Steps to reproduce:

I am using lightning to access a calendar on an apache2 WebDAV-server using SSL and authentication from my laptop. The calendar is set to update every minute, no cache. I can see lines like the following in my apache ssl_access.log: - heiko [14/Aug/2011:17:23:31 +0200] "GET /dav/mine.ics HTTP/1.1" 304 -

I move the laptop around quite a lot, the apache server runs on a dyndns connection and I extensively use suspend to RAM and suspend to disk, so the network connection breaks rather often while lightning is running.

Currently I am using 1.0b5, also tried 09-Aug nightly build, but the problem persists since a few versions. It used to work though some time around 0.9 or 1.0b1.

Actual results:

After breaking the network connection, i.e. by moving the laptop from my home ethernet to my university's wireless network, lightning does not show the entries from my WebDAV calendar any more. "Reload Remote calendars" does not help and I don't see any entries in the server log file after this event either. I also get the following error on my error console:

Error: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: file:///home/heiko/.thunderbird/1qxn3jtg.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calICSCalendar.js :: <TOP_LEVEL> :: line 920"  data: no]
Source File: file:///home/heiko/.thunderbird/1qxn3jtg.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/components/calICSCalendar.js
Line: 920

Line 920 is "if (httpchannel.responseStatus == 304)" in the function onAfterGet. Accessing responseStatus is supposed to throw that exception if it is done before the channel is open, if I read the docs correctly, so my guess is that lightning tries to access a channel which is no longer open without proper error handling.

Expected results:

Lightning should continue to work, even after the network connection has been down. I'm not really into JS, but my guess is that catching the exception and re-opening the connection should make this work again.

On a side note: When I activate caching, it keeps showing the entries, but does not update them if I change/delete one.

Regards, Heiko
Closed: 8 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 678930
You need to log in before you can comment on or make changes to this bug.