Closed Bug 383462 Opened 18 years ago Closed 18 years ago

VTODO with RRULE but no DTSTART causes exception, missing entries

Categories

(Calendar :: Internal Components, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: dbo, Assigned: dbo)

Details

Attachments

(3 files)

Attached file sample
Invalid pointer exception in calRecurrenceRule::GetOccurrences. DTSTART is optional for VTODOs, RFC 2445 is IMO unclear whether RRULE is allowed in that case. We should fallback using DUE if no DTSTART is present, expanding the rule. IMO that has been the intention of such VTODOs.
Summary: VTODO without DTSTART causes exception, missing entries → VTODO with RRULE but no DTSTART causes exception, missing entries
Assignee: nobody → daniel.boelzle
Status: NEW → ASSIGNED
Attachment #267417 - Flags: review?(mvl)
Attachment #267416 - Attachment mime type: application/octet-stream → text/plain
Adding the error messages as shown in console to make it possible to search and reference them: Error: Import error: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [calIRecurrenceItem.getOccurrences]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: file:///D:/sunbird/js/calRecurrenceInfo.js :: anonymous :: line 432" data: no] Source file: chrome://calendar/content/import-export.js Line: 196 Error: Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [calIRecurrenceItem.getOccurrences] Source file: file:///D:/sunbird/js/calRecurrenceInfo.js Line: 432
Comment on attachment 267417 [details] [diff] [review] fallback to DUE if no DTSTART is present r=mvl
Attachment #267417 - Flags: review?(mvl) → review+
Whiteboard: [checkin needed after 0.5]
Checked in on HEAD and MOZILLA_1_8_BRANCH.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed after 0.5]
Target Milestone: --- → 0.7
Unfortunately bug 386502 has caused a regression: Error: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [calIDateTime.compare]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: ... :: checkRange :: line 372" data: no] Source File: ... calRecurrenceInfo.js Line: 372
Status: RESOLVED → REOPENED
Flags: blocking-calendar0.7+
Resolution: FIXED → ---
- fallback to DUE if no DTSTART available, make either one mandatory - checkRange now might also return DUE: I've renamed variable dtstart to occDate
Attachment #275745 - Flags: review?(sebo.moz)
Status: REOPENED → ASSIGNED
The patch looks fine. A comment in the code regarding the fallback might be nice. Just two more comments: 1. I wonder if there are other places in the file that need to be changed to fully support recurring task with no start date set. A quick search revealed two more places where item.getProperty("DTSTART") is used. I think you know better than me if they require additional care. 2. Month and MultiWeek View do not support this fallback. A follow up should be filed (if it not yet exists). Sorry for having caused this regression :(
Attachment #275745 - Flags: review?(sebo.moz) → review+
(In reply to comment #7) > 1. I wonder if there are other places in the file that need to be changed to > fully support recurring task with no start date set. A quick search revealed > two more places where item.getProperty("DTSTART") is used. I think you know > better than me if they require additional care. I filed follow-up bug 391495 for that. > 2. Month and MultiWeek View do not support this fallback. A follow up should be > filed (if it not yet exists). Could you please research that? > Sorry for having caused this regression :( No problem at all; I've reviewed your patch ;) Thanks to Andreas finding this during bug verification.
Checked in on HEAD and MOZILLA_1_8_BRANCH.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago18 years ago
Resolution: --- → FIXED
Verified in Lightning and Sunbird (20070809 builds) -> task is fixed.
Status: RESOLVED → VERIFIED
(In reply to comment #8) > Could you please research that? Bug 349529 is already filed for this. Actually with this fix, the only task-with-only-due-date-set that shows up in the views is the parent item of a recurring event (and probably exceptions thereof).
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: