Closed Bug 1919400 Opened 1 year ago Closed 9 months ago

Indexing stuck (Ical.sys.mjs:5082:24 and calDateTimeFormatter.sys.mjs:453)

Categories

(Thunderbird :: Search, defect)

Thunderbird 128
defect

Tracking

(Not tracked)

RESOLVED FIXED
138 Branch

People

(Reporter: sputter.06.plinths, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: hang, testcase, Whiteboard: [fixed by bug 1916063])

macOS, Thunderbird 128.2.1esr (64-bit).

These two errors show up in the Error Console, and then GLODA indexing gets stuck (Activity Manager show "Indexing messages" but it doesn't progress):

TypeError: RecurIterator._expandMap[this.rule.freq] is undefined
Ical.sys.mjs:5082:24
    setup_defaults resource:///modules/calendar/Ical.sys.mjs:5082
    init resource:///modules/calendar/Ical.sys.mjs:3949
    fromData resource:///modules/calendar/Ical.sys.mjs:3887
    RecurIterator resource:///modules/calendar/Ical.sys.mjs:3761
    iterator resource:///modules/calendar/Ical.sys.mjs:5387
    _expandComponent resource:///modules/calendar/Ical.sys.mjs:2882
    _ensureCoverage resource:///modules/calendar/Ical.sys.mjs:2791
    utcOffset resource:///modules/calendar/Ical.sys.mjs:2682
    convert_time resource:///modules/calendar/Ical.sys.mjs:2458
    convertToZone resource:///modules/calendar/Ical.sys.mjs:1531
    getInTimezone resource:///modules/CalDateTime.sys.mjs:133
    getItemDates resource:///modules/calendar/utils/calDateTimeFormatter.sys.mjs:453
    formatItemInterval resource:///modules/calendar/utils/calDateTimeFormatter.sys.mjs:474
    updateInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:432
    setField resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:380
    updateInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:418
    createInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:292
    convertToHTML resource:///modules/CalMimeConverter.sys.mjs:59
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "RecurIterator._expandMap[this.rule.freq] is undefined" {file: "resource:///modules/calendar/Ical.sys.mjs" line: 5082}]'[JavaScript Error: "RecurIterator._expandMap[this.rule.freq] is undefined" {file: "resource:///modules/calendar/Ical.sys.mjs" line: 5082}]' when calling method: [calIDateTime::getInTimezone] calDateTimeFormatter.sys.mjs:453

This seems related to bug 1907603 (fixed in 128.2.1esr).

While I no longer see "TypeError: aPart is nullMimeMessage.sys.mjs:142:7" since upgrading to 128.2.1esr, I'm still seeing the "TypeError: RecurIterator._expandMap[this.rule.freq] is undefined " and "NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS ... calDateTimeFormatter.sys.mjs:453" errors (i.e., the 3rd error shown in this comment is gone, but the 1st and 2nd errors remain), and indexing is still stuck.

OS: Linux → macOS
Hardware: x86_64 → ARM64

Not sure those errors have anything to do with gloda.
I think we'd have to see the problem data to get any further. If you can, print the data from https://searchfox.org/comm-central/rev/27d2c2cf3f6f4f52cfc45a0291f63aa98310176c/calendar/base/src/CalMimeConverter.sys.mjs#20. E.g. insert a console.debug(data); there

Flags: needinfo?(sputter.06.plinths)

sputter?

Whiteboard: [closeme 2024-11-15]
See Also: → 1907603, 1916063

(In reply to Wayne Mery (:wsmwk) from comment #2)

sputter?

Sorry for the delay. I think I found the email w/a calendar invite that's causing the indexing to choke.

The email at issue was from Apple (AppleSupport@email.apple.com), titled "Your upcoming phone call with Apple Support." That email has a file attached named Apple_Support_Appt.ics. Every time I previewed that email, I get the following two error messages in the Error Console. The 2nd error message refers to "calIDateTime::getInTimezone," so maybe something wrong with the timezone information in Apple_Support_Appt.ics?

Apple_Support_Appt.ics has several lines containing "US/PST" (I bolded it below) whereas other .ics files usually have something like "America/Los_Angeles" instead, so maybe Apple is using a non-standard format for the timezone?

I have this email currently in the Trash folder, and indexing is finished. When I drag this email to Inbox, Activity Manager shows "Indexing" again which never finishes. Once I move the email back to Trash and restart Thunderbird, indexing finishes again.

Here are the two error messages from Error Console (128.4.3esr (64-bit)):

TypeError: RecurIterator._expandMap[this.rule.freq] is undefined         Ical.sys.mjs:5082:24
    setup_defaults resource:///modules/calendar/Ical.sys.mjs:5082
    init resource:///modules/calendar/Ical.sys.mjs:3949
    fromData resource:///modules/calendar/Ical.sys.mjs:3887
    RecurIterator resource:///modules/calendar/Ical.sys.mjs:3761
    iterator resource:///modules/calendar/Ical.sys.mjs:5387
    _expandComponent resource:///modules/calendar/Ical.sys.mjs:2882
    _ensureCoverage resource:///modules/calendar/Ical.sys.mjs:2791
    utcOffset resource:///modules/calendar/Ical.sys.mjs:2682
    convert_time resource:///modules/calendar/Ical.sys.mjs:2458
    convertToZone resource:///modules/calendar/Ical.sys.mjs:1531
    getInTimezone resource:///modules/CalDateTime.sys.mjs:133
    getItemDates resource:///modules/calendar/utils/calDateTimeFormatter.sys.mjs:453
    formatItemInterval resource:///modules/calendar/utils/calDateTimeFormatter.sys.mjs:474
    updateInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:432
    setField resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:380
    updateInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:418
    createInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:292
    convertToHTML resource:///modules/CalMimeConverter.sys.mjs:59
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "RecurIterator._expandMap[this.rule.freq] is undefined" {file: "resource:///modules/calendar/Ical.sys.mjs" line: 5082}]'[JavaScript Error: "RecurIterator._expandMap[this.rule.freq] is undefined" {file: "resource:///modules/calendar/Ical.sys.mjs" line: 5082}]' when calling method: [calIDateTime::getInTimezone]     calDateTimeFormatter.sys.mjs:453
    getItemDates resource:///modules/calendar/utils/calDateTimeFormatter.sys.mjs:453
    formatItemInterval resource:///modules/calendar/utils/calDateTimeFormatter.sys.mjs:474
    updateInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:432
    setField resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:380
    updateInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:418
    createInvitationOverlay resource:///modules/calendar/utils/calInvitationUtils.sys.mjs:292
    convertToHTML resource:///modules/CalMimeConverter.sys.mjs:59

Here's Apple_Support_Appt.ics (I redacted my phone # and case ID, and anonymized UID's):

BEGIN:VCALENDAR
CALSCALE:GREGORIAN
METHOD:PUBLISH
PRODID:-//Apple Computer\, Inc//iCal 3.0//EN
X-WR-CALNAME:Appointment with Apple Support
VERSION:2.0
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:US/PST
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:20210311T020000
RRULE:YEARLY;BYMONTH=03;BYDAY=2SU
TZNAME:PDT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:20211103T020000
RRULE:YEARLY;BYMONTH=11;BYDAY=1SU
TZNAME:PST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SEQUENCE:5
DTSTART;TZID=US/PST:20211128T160000
SUMMARY:Appointment with Apple Support
UID:AA94BBB1-FC65-1226-9223-884125222211
URL;VALUE=URI:https://getsupport.apple.com/GetCaseDetails.do?caseid=REDACTED&locale=en_US
ORGANIZER;CN="Apple Support":mailto:applesupport@email.apple.com
DTEND;TZID=US/PST:20211128T161500
LOCATION:Telephone (REDACTED)
DESCRIPTION:REDACTED
BEGIN:VALARM
X-WR-ALARMUID:13AABD13-ACDA-123A-9558-14F5911769D3
ACTION:AUDIO
TRIGGER:-PT15M
ATTACH;VALUE=URI:Glass
END:VALARM
END:VEVENT
END:VCALENDAR

Thank you.

Flags: needinfo?(sputter.06.plinths)
Flags: needinfo?(mkmelin+mozilla)
Keywords: testcase
Whiteboard: [closeme 2024-11-15]

This isn't platform specific, right?

OS: macOS → All
Hardware: ARM64 → All

(In reply to Wayne Mery (:wsmwk) from comment #4)

This isn't platform specific, right?

I'm not sure. Unfortunately, I only have macOS devices.

Having similar problems. I deleted my Gloda db as per Rebuilding the Global Database, since one of my accounts was not indexed at all.

Now indexing gets stuck each time I restart on my first account's inbox. The percentage it gets stuck at lowers each time, though still a bit arbitrarily: at first it got up to 83% of that inbox, after a restart it stopped at 3%, then 8%, 6% and now already at 1%.

It does stop right in the moment the two errors @sputter.06.plinths reported above appear for me as well.

I disabled all calendars, but after the restart it still gets stuck at 1%.

This is on macOS 15.2
Thunderbird 128.6.0esr

Still present in 136 b1.

Is this thought to be a regression, i.e. there is a point where it was working, and then later not working?

Flags: needinfo?(mkmelin+mozilla)
Keywords: hang
Duplicate of this bug: 1952669
Status: UNCONFIRMED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Whiteboard: [fixed by bug 1916063]
Target Milestone: --- → 138 Branch
Depends on: 1916063
You need to log in before you can comment on or make changes to this bug.