Thunderbird unusably slow due to task processing (+ partial diagnosis) - with thousands of lines of RRULE:FREQ=MONTHLY for an event
Categories
(Calendar :: ICAL.js Integration, defect)
Tracking
(Not tracked)
People
(Reporter: jpsa, Unassigned)
Details
(Keywords: testcase, triaged)
Attachments
(2 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Steps to reproduce:
Apologies for this report not having all the requested associated information, but I hope it may be useful anyway.
For some time (many months, several releases) I've had a problem with Thunderbird being really slow. It would burn 60-90 seconds CPU with the UI frozen before it became usable at startup, and would have shorter freezes (a few seconds) at intervals during operation. This became much worse recently, in particular the calendar froze for tens of seconds any time I scrolled it to show a new date range, so I did some more investigation...
I discovered that disabling my default calendar (uncheck the "Enable This Calendar" box in calendar properties) completely resolved the problem (though obviously left me without a usable calendar!)
I did some profiling using the Firefox Profiler, and found that the time was being spent in the function calculateDates in CalRecurrenceInfo.jsm. Sorry, I didn't save the profile, but I have attached a screenshot.
I then exported my calendar to an ics file and had a look at it, and found some things which looked odd related to Tasks. I had a number of monthly repeating tasks, which seemed to have duplicate entries in the ics file. I also found a couple those entries which looked like
BEGIN:VTODO
CREATED:20160823T100828Z
LAST-MODIFIED:20240104T071859Z
DTSTAMP:20240104T071859Z
UID:67ab4b52-6120-457c-80b0-b38aa81f60d9
SUMMARY:Charge Pb/H⁺ batteries
RRULE:FREQ=MONTHLY
RRULE:FREQ=MONTHLY
RRULE:FREQ=MONTHLY
RRULE:FREQ=MONTHLY
:
repeated thousands of times
:
RRULE:FREQ=MONTHLY
RRULE:FREQ=MONTHLY
DTSTART;TZID=Europe/London:20160910T120000
DUE;TZID=Europe/London:20160910T120000
PERCENT-COMPLETE:0
X-MOZ-GENERATION:70
END:VTODO
I don't know how they got this way. It may or may not be relevant that I use the third-party application BirdieSync to keep my Thunderbird calendar and address book synchronised with my phone.
So I deleted those tasks, and magically the entire problem seems to be resolved. I have a responsive email client again, and with a usable calendar.
Comment 1•2 years ago
|
||
Could you attach the sample as .ics?
| Reporter | ||
Comment 2•2 years ago
|
||
I'm unwilling to share my entire calendar ICS file, as it may well contain some data that I want to keep private. I've created this excerpt, though, containing just the entries for one of the repeating tasks in question. Importing this ICS file into Thunderbird as a new calendar reproduces the problem for me.
Comment 3•2 years ago
|
||
Using the test case in comment 2, and File | Open | Calendar File - I can reproduce.
Perf profile: https://share.firefox.dev/3NQENHp
Description
•