Thunderbird crashes when importing 1.6 Mb ICS file - TB is not checking for validatity of ICS file before import.
Categories
(Calendar :: Import and Export, defect)
Tracking
(Not tracked)
People
(Reporter: subscrg, Unassigned, NeedInfo)
References
Details
(Keywords: perf)
Attachments
(1 file)
19.70 KB,
image/png
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Steps to reproduce:
Importing an 1.6Mb ICS file containing 2300+ events in calendar:
with 32bit build , the whole TB crashes while analyzing the ics file, before the user can even press the import button;
with 64bit build, tb doesn't crash on analyzing ics file, but locks up at 10% of import.
The procedure works properly only if using the 64bit build, and you sort the ics content list by decreasing date BEFORE starting the import.
Actual results:
TB 32bit crashed
TB 64bit cannot import more than 10% approx of the 2300+ events in the file, and then the progress bar freezes and no more events get imported.
Expected results:
Tb should process all 2300+ events in the file and import them all, regardless of the build (32/64 bits).
The used ICS file is a a file created by TB itself, exporting a calendar connected by means of the "provider for google calendar" plugin.
Comment 1•3 years ago
|
||
Did you have this issue with version 78?
TB 64bit cannot import more than 10% approx of the 2300+ events in the file, and then the progress bar freezes and no more events get imported.
How much memory is being used at that point?
How much CPU?
related ?
- Bug 817251 - Make Importers asynchronous / ICS import causes unresponsive script warning
- Bug 302390 - Import needs a progress dialog
Reporter | ||
Comment 2•3 years ago
|
||
Hi!
I've never tried this with v78, so I don't know.
When using the 32bit version, it simply crashes out and the crash manager appears.
When using the 64bit version, CPU usage was under 10% and memory usage was around 1Gb, but that was not too much more than the usage before starting the import procedure; the import dialog was still responsive (I closed it with its close button and no unresponsive script message appeared), but the progress bar was not moving and the calendar window event search bar stopped showing new events, as it did while the import was working.
Comment 3•3 years ago
|
||
Can you test beta 99 using a new profile?
Beta 99 using the (replacement) js ical parser.
https://support.mozilla.org/en-US/kb/using-multiple-profiles
https://www.thunderbird.net/channel/ (install into its own directory, so you don't overwrite your production version)
Comment 4•2 years ago
|
||
Thunderbird 115 crashes repeatedly when trying to import the United-States-Holidays.ics file.
Steps to reproduce:
- Menu Bar > Events and Tasks > Import
- click "Continue" button
- open United-States-Holidays.ics file (724,615 bytes) on local HDD
- crashes on "Loading items..." step
Holiday Calendars
http://www.thunderbird.net/calendar/holidays/
Thunderbird 115.0 (fresh install)
Windows 10 Pro 21H2 32-bit (12 years old ASUS mobo with AMD cpu)
Comment 5•2 years ago
|
||
I can confirm the issue and the STR above lead to the error.
I downloaded https://www.thunderbird.net/media/caldata/autogen/United-States-Holidays.ics and try to import it in a new empty profile in 115.0b6 (64-bit) via Menu > Tools > Import wizard.
I followed all the wizard steps to import .ics file and after the last step when clicking the Start Import button, the attached error occurred.
With error console showing the below:
An error occurred when writing to the calendar United-States-Holidays! Please see below for more information. Error code: MODIFICATION_FAILED. Description: If you're seeing this message after snoozing or dismissing a reminder and this is for a calendar you do not want to add or edit events for, you can mark this calendar as read-only to avoid such experience in future. To do so, get to the calendar properties by right-clicking on this calendar in the list in the calendar or task view. CalCalendarManager.jsm:880:15
announceError resource:///modules/CalCalendarManager.jsm:880
onError resource:///modules/CalCalendarManager.jsm:725
notify resource:///modules/calendar/utils/calDataUtils.jsm:39
notify resource:///modules/calendar/utils/calDataUtils.jsm:66
notifyError resource:///modules/calendar/utils/calProviderUtils.jsm:649
notifyOperationComplete resource:///modules/calendar/utils/calProviderUtils.jsm:622
onError resource:///modules/CalStorageCalendar.jsm:198
adoptItem resource:///modules/CalStorageCalendar.jsm:222
mail.import: Error: ID already exists for addItem
onError resource:///modules/CalStorageCalendar.jsm:205
adoptItem resource:///modules/CalStorageCalendar.jsm:222
CalendarFileImporter.jsm:113:22
startImport resource:///modules/CalendarFileImporter.jsm:113
Uncaught (in promise) Error: ID already exists for addItem
onError resource:///modules/CalStorageCalendar.jsm:205
adoptItem resource:///modules/CalStorageCalendar.jsm:222
2 CalStorageCalendar.jsm:205
This error suggests a problem with the .ics file itself though Thunderbird should handle such error in more user friendly manner.
TB should first attempt to check and validate the .ics file during the first step of the Import wizard and report validation errors to end user without allowing next steps, before trying to import it.
In this specific case, UID values are not unique, duplicates are found causing the error during the import.
The United-States-Holidays.ics file is simply invalid therefore TB should not even allow to import it :-)
I tried in Gmail and it silently failed by importing only 1200 items out of the 1700+ ish items in total without much explanation. Likely skipping events that may use UID that were already imported.
Both the United-States-Holidays.ics file and Thunderbird behaviour may need corrections here :-)
Updated•2 years ago
|
Updated•1 year ago
|
Description
•