Importing .ics file (locally or remotely by CalDAV) ultimately freezes Thunderbird (Lightning)
Categories
(Calendar :: Provider: ICS/WebDAV, defect, P1)
Tracking
(thunderbird_esr115 fixed, thunderbird118 fixed)
People
(Reporter: zygmanski, Assigned: leftmostcat)
References
(Regression)
Details
(Keywords: hang, regression)
Attachments
(2 files)
5.58 KB,
text/calendar
|
Details | |
48 bytes,
text/x-phabricator-request
|
wsmwk
:
approval-comm-beta+
wsmwk
:
approval-comm-esr115+
|
Details | Review |
Steps to reproduce:
Opened the Calendar window -> Menu -> Open From File -> Calendar -> here I choose the attached .ics file.
Actual results:
The Calendar (and Thunderbird) is not responding and the only thing one can do is forcing close of the program.
Using Thunderbird now becomes impossible since opening it once again results in a immediately freezed program.
Expected results:
The calendar should be imported.
Somehow I managed to track down the rule causing the issue. It's for example:
RRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=15,16,17,18,19,20,21;BYDAY=1MO;UNTIL=19180916T010000Z
The rule is peculiar because it states that we're looking for the first Monday in September between the 15th and 21st of each year until September 16, 1918, at 1:00 AM UTC (Zulu). The latest occurrence of the first Monday can fall on the 7th day of the month, so this rule is incorrect, and evidently, Thunderbird is unable to handle this as an exception.
Changing the rule to something like:
RRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=15,16,17,18,19,20,21;BYDAY=MO;UNTIL=19180916T010000Z
or even:
RRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=15,16,17,18,19,20,21;BYDAY=MO;BYSETPOS=1;UNTIL=19180916T010000Z
causes Thunderbird to load the .ics file without any issues.
Now a question to the developers. Should Thunderbird hang on such badly constructed rules or should it handle them as an exception and follow along?
Updated•8 months ago
|
Comment 2•8 months ago
|
||
Confirmed that the test case hangs current Daily not just 115.
Comment 3•8 months ago
|
||
Any chance you could check this one out, Alice? It's easy to reproduce, just need to open the .ics in a new profile, no accounts necessary.
Assignee | ||
Updated•8 months ago
|
Comment 4•8 months ago
•
|
||
I cannot reproduce the issue with the following steps on Daily119.0a1(20230912060714) Windpws10. Daily119.0a1 seems to be working properly.
Steps:
- Start Thunderbird.exe -p
- Create a profile and start Tb with the profile
- Click on
Cancel
andExit Setup
- Click on
Calendar (Alt+3)
on the left side toolbar - Open
hamburger menu
>Open from file
>Calendar...
- Choose the .ics file and Open
- Operate close tab, open menu
Results:
no problem, working fine.
Am I missing something?
I have downloaded https://ftp.mozilla.org/pub/thunderbird/nightly/2023/09/2023-09-12-06-07-14-comm-central/thunderbird-119.0a1.en-US.linux-x86_64.tar.bz2 and I have reproduced the problem using the same steps Alice gave. TB hanged for me.
I also installed https://ftp.mozilla.org/pub/thunderbird/nightly/2023/09/2023-09-12-06-07-14-comm-central/thunderbird-119.0a1.en-US.win64.installer.exe on my Windows 10, and TB also hanged (showing as not responding).
In both cases I've used the .ics included with this bug report.
Comment 6•8 months ago
•
|
||
(In reply to Alice0775 White from comment #4)
I cannot reproduce the issue with the following steps on Daily119.0a1(20230912060714) Windpws10. Daily119.0a1 seems to be working properly.
Steps:
- Start Thunderbird.exe -p
- Create a profile and start Tb with the profile
- Click on
Cancel
andExit Setup
- Click on
Calendar (Alt+3)
on the left side toolbar- Open
hamburger menu
>Open from file
>Calendar...
- Choose the .ics file and Open
- Operate close tab, open menu
Results:
no problem, working fine.Am I missing something?
Okay. if the .ics file is successfully imported with a good build once, the .ics file seems to be silently overwritten with corrected one. --- this may be other bug.
So, set the downloaded .ics file to read-only and ran mozregression again.
Regression window:
https://hg.mozilla.org/comm-central/pushloghtml?fromchange=b4c86c3886e5b2e4eca9590a4d547edbf0b7b767&tochange=fd8f301fa75d61249c3def6ba9e72e87200467eb
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7ea8042eaf1d0c5f78ccce2e79e3e13f73526c64&tochange=af45dff5621ad96a2d9a05257fc5256ff248e3f6
Suspect:
1f92bc9ddbdae4e3b3091b9ad6b974003d08a401 Sean Burke — Bug 1149470 - import ical.js update with support for embedded ICS time zones. r=darktrojan
Assignee | ||
Updated•8 months ago
|
Assignee | ||
Comment 8•8 months ago
|
||
Thank you for isolating this to the RRULE in question. It looks like Horde is generating invalid recurrence rules for time zone definitions, resulting in a rule which will never have an occurrence. The iCalendar specification indicates that we MUST ignore these, but we don't detect these instances and instead loop infinitely trying to find an occurrence.
Updated•8 months ago
|
Assignee | ||
Comment 9•8 months ago
|
||
Comment 10•8 months ago
|
||
Perhaps this information "[...]VTIMEZONE data incorrectly[...]" https://bugs.horde.org/ticket/13866 , is nice to know.
Comment 12•8 months ago
|
||
Buy the way: Does Thunderbird exchange the value of "organisator" while sync or import ?
Each time (befor TB115) if I accept an event comming from an foreign calendar system, than TB inserted the event into my calendar, creating an accept message, where I becomes the event organizator. (Perhaps the buggy exchange of organisator value is in horde's code - cf https://bugs.horde.org/ticket/13664#c11 - put perhaps not only there.)
Assignee | ||
Comment 13•8 months ago
|
||
(In reply to Robert Hartmann from comment #12)
Buy the way: Does Thunderbird exchange the value of "organisator" while sync or import ?
Each time (befor TB115) if I accept an event comming from an foreign calendar system, than TB inserted the event into my calendar, creating an accept message, where I becomes the event organizator. (Perhaps the buggy exchange of organisator value is in horde's code - cf https://bugs.horde.org/ticket/13664#c11 - put perhaps not only there.)
This is a separate issue. Please file a separate bug with any steps to reproduce and, ideally, ICS files showing the issue.
Assignee | ||
Updated•8 months ago
|
Comment 14•8 months ago
|
||
Pushed by benc@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/cd0530c0d378
Avoid infinite loop for invalid YEARLY recurrence rules. r=darktrojan
Comment 15•8 months ago
|
||
Comment on attachment 9352979 [details]
Bug 1850732 - Avoid infinite loop for invalid YEARLY recurrence rules. r=#thunderbird-reviewers
[Triage Comment]
Approved for beta
Comment 16•8 months ago
|
||
bugherder uplift |
Thunderbird 118.0b5:
https://hg.mozilla.org/releases/comm-beta/rev/4fee283e3088
Updated•8 months ago
|
Updated•8 months ago
|
Comment 17•8 months ago
|
||
All,
If at all possible today or Sunday, please post your results here after testing patches using either:
- beta download - includes instructions
- nightly 119.0a1 build download - beta link above has detailed testing instructions
Comment 20•8 months ago
|
||
Comment on attachment 9352979 [details]
Bug 1850732 - Avoid infinite loop for invalid YEARLY recurrence rules. r=#thunderbird-reviewers
[Triage Comment]
approved for esr115
Updated•8 months ago
|
Comment 21•8 months ago
|
||
Vins, please clarify "Using Thunderbird now becomes impossible since opening it once again results in a immediately freezed program."
You mean that simply opening Thunderbird hangs, and clicking on a message is not required once the even has been added to calendar?
(It is also described in this way in bug 1852824)
Updated•8 months ago
|
Comment 23•8 months ago
|
||
bugherder uplift |
Thunderbird 115.3.1:
https://hg.mozilla.org/releases/comm-esr115/rev/47a93f6e9cda
Reporter | ||
Comment 24•8 months ago
|
||
(In reply to Wayne Mery (:wsmwk) from comment #21)
Vins, please clarify "Using Thunderbird now becomes impossible since opening it once again results in a immediately freezed program."
You mean that simply opening Thunderbird hangs, and clicking on a message is not required once the even has been added to calendar?
(It is also described in this way in bug 1852824)
Yes, when the calendar with impossible to comply rule was added to TB and then TB hanged and was killed, then another opening of TB was hanging TB immediately as if TB was still trying to add the faulty calendar.
Description
•