Closed Bug 423503 Opened 18 years ago Closed 18 years ago

Memory leaks in lightning

Categories

(Calendar :: Internal Components, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: aryx, Assigned: Fallen)

Details

(Keywords: memory-leak)

Attachments

(1 file, 1 obsolete file)

Tb 2.0.0.12 Win XP Memory leaks in lightning 2008031621 Leaks in window 0x1c8f5a0: [+] [leaked object] (2bceba8) = [Object] [+] mInvitationsManager (2bceb58) = [Object] [ ] mItemList (2bceb60) = [Array] [ ] mOperationListeners (2bceb68) = [Array] [ ] mStartDate (29c8dc8) = [calDateTime] [ ] mJobsPending = 0 [+] mTimer (2bceba0) = [XPCWrappedNative_NoHelper] [ ] initWithCallback (2bcebb8) = [Function] [ ] TYPE_REPEATING_SLACK = 1 [-] QueryInterface (1c554d8) = [Function] [-] init (1c554c0) = [Function] [-] cancel (1c554b0) = [Function] [ ] delay = true [ ] type = true [ ] callback = true [ ] TYPE_ONE_SHOT = 0 [ ] TYPE_REPEATING_PRECISE = 2 [ ] mUnregisteredCalendars (2bceb70) = [Array] [ ] mRepeatDelay = 180000 [+] mOperationListener (1e9f1e0) = [Object] [+] onOperationComplete (1e9f1f0, chrome://lightning/content/messenger-overlay-sidebar.js, 771-774) = [Function] [ ] prototype (1c54da0) = [Object] [+] onGetResult (1e9f200, chrome://lightning/content/messenger-overlay-sidebar.js, 783-790) = [Function] [ ] prototype (1c54ea8) = [Object] [+] notify (2bcebb0, chrome://calendar/content/calendar-invitations-manager.js, 149-154) = [Function] [ ] prototype (196ea80) = [Object] [ ] [leaked object] (2c25068) = [Object] [+] [leaked object] (1d5d480) = [Object] [+] agendaListbox (1c8f420) = [Object] [+] agendaListboxControl (28ee648) = [XULElement] [-] scrollBoxObject (28ef5d8) = [BoxObject] [-] _builderListener (28ee698) = [Object] [ ] _selectedIndex = 0 [ ] _selectedItem = null [ ] pendingRefresh = null [+] eventlistItem (2bcf738) = [XULElement] [ ] mItem = null [+] newalldayeventlistItem (2bcf0a8) = [XULElement] [ ] mItem = null [-] mAllDayItem (2bcf2e8) = [XULElement] [+] kDefaultTimezone (2817e98) = [XPCWrappedNative_NoHelper] [ ] tzid = true [-] QueryInterface (1d5dbc0) = [Function] [ ] provider = true [ ] component = true [ ] isFloating = true [ ] isUTC = true [ ] latitude = true [ ] longitude = true [+] showsToday (1d5db20, chrome://lightning/content/agenda-listbox.js, 500-511) = [Function] [ ] prototype (1d5dbc8) = [Object] [+] init (1c8f2c8, chrome://lightning/content/agenda-listbox.js, 53-65) = [Function] [ ] prototype (1d5dbd8) = [Object] [+] addPeriodListItem (1c8f2b8, chrome://lightning/content/agenda-listbox.js, 69-74) = [Function] [ ] prototype (1d5dbe8) = [Object] [+] removePeriodListItem (1c8f2a8, chrome://lightning/content/agenda-listbox.js, 78-81) = [Function] [ ] prototype (1d5dbf8) = [Object] [+] onCheckboxChange (1c8f298, chrome://lightning/content/agenda-listbox.js, 86-107) = [Function] [ ] prototype (1c8f1c0) = [Object] [+] onSelect (1c8f288, chrome://lightning/content/agenda-listbox.js, 112-121) = [Function] [ ] prototype (1c8f1d0) = [Object] [+] onFocus (1c8f278, chrome://lightning/content/agenda-listbox.js, 125-128) = [Function] [ ] prototype (1c8f1e0) = [Object] [+] onBlur (1c8f268, chrome://lightning/content/agenda-listbox.js, 132-137) = [Function] [ ] prototype (1c8f1f0) = [Object] [+] enableListItems (1c8f1a0, chrome://lightning/content/agenda-listbox.js, 141-145) = [Function] [ ] prototype (1c8f200) = [Object] [+] onKeyPress (1c8f190, chrome://lightning/content/agenda-listbox.js, 150-173) = [Function] [ ] prototype (1c8f210) = [Object] [+] editSelectedItem (1c8f180, chrome://lightning/content/agenda-listbox.js, 178-181) = [Function] [ ] prototype (1c8f220) = [Object] [+] findPeriodsForItem (1c8f170, chrome://lightning/content/agenda-listbox.js, 186-195) = [Function] [ ] prototype (1c8f230) = [Object] [+] getStart (1c8f160, chrome://lightning/content/agenda-listbox.js, 199-207) = [Function] [ ] prototype (1c8f240) = [Object] [+] getEnd (1c8f150, chrome://lightning/content/agenda-listbox.js, 211-219) = [Function] [ ] prototype (1c8f250) = [Object] [+] addItemBefore (1c8f140, chrome://lightning/content/agenda-listbox.js, 223-240) = [Function] [ ] prototype (1c8f260) = [Object] [+] addItem (1c8f130, chrome://lightning/content/agenda-listbox.js, 244-288) = [Function] [ ] prototype (1c8f2d8) = [Object] [+] isBefore (1c8f120, chrome://lightning/content/agenda-listbox.js, 292-304) = [Function] [ ] prototype (1c8f2e8) = [Object] [+] getListItems (1c8f110, chrome://lightning/content/agenda-listbox.js, 309-331) = [Function] [ ] prototype (1c8f2f8) = [Object] [+] deleteItem (1c8f100, chrome://lightning/content/agenda-listbox.js, 335-358) = [Function] [ ] prototype (1c8f308) = [Object] [+] isSameEvent (1c8f0f0, chrome://lightning/content/agenda-listbox.js, 362-364) = [Function] [ ] prototype (1c8f318) = [Object] [+] isEventSelected (1c8f0e0, chrome://lightning/content/agenda-listbox.js, 368-373) = [Function] [ ] prototype (1c8f328) = [Object] [+] deleteSelectedItem (1c8f090, chrome://lightning/content/agenda-listbox.js, 377-384) = [Function] [ ] prototype (1c8f338) = [Object] [+] createNewEvent (1c8f080, chrome://lightning/content/agenda-listbox.js, 389-398) = [Function] [ ] prototype (1c8f348) = [Object] [+] buildAgendaPopupMenu (1c8f070, chrome://lightning/content/agenda-listbox.js, 402-414) = [Function] [ ] prototype (1c8f358) = [Object] [+] refreshCalendarQuery (1c8f060, chrome://lightning/content/agenda-listbox.js, 419-445) = [Function] [ ] prototype (1c8f368) = [Object] [+] setupCalendar (1c8f050, chrome://lightning/content/agenda-listbox.js, 451-461) = [Function] [ ] prototype (1c8f378) = [Object] [+] refreshPeriodDates (1c8f040, chrome://lightning/content/agenda-listbox.js, 466-491) = [Function] [ ] prototype (1c8f388) = [Object] [+] addListener (1d5db38, chrome://lightning/content/agenda-listbox.js, 495-496) = [Function] [ ] prototype (1c8f398) = [Object] [+] moveSelection (1d5db08, chrome://lightning/content/agenda-listbox.js, 515-520) = [Function] [ ] prototype (1c8f3a8) = [Object] [+] isEventListItem (1d5d9d8, chrome://lightning/content/agenda-listbox.js, 525-532) = [Function] [ ] prototype (1c8f3b8) = [Object] [+] removeListItems (1d5d950, chrome://lightning/content/agenda-listbox.js, 536-555) = [Function] [ ] prototype (1c8f3c8) = [Object] [+] getListItemByHashId (1d5d940, chrome://lightning/content/agenda-listbox.js, 560-572) = [Function] [ ] prototype (1c8f3d8) = [Object] [+] calendarOpListener (1d5d938) = [Object] [-] agendaListbox (1c8f420) = [Object] [-] onOperationComplete (1d5d698, chrome://lightning/content/agenda-listbox.js, 581-584) = [Function] [-] onGetResult (1d5d678, chrome://lightning/content/agenda-listbox.js, 588-591) = [Function] [-] calendarObserver (1d5d480) = [Object] [+] today (2bf28c0) = [Object] [ ] open = true [ ] duration = 1 [-] listItem (2bf28d0) = [XULElement] [ ] start (2bf35c8) = [calDateTime] [ ] end (2bf35d0) = [calDateTime] [+] tomorrow (2bf2a20) = [Object] [ ] open = false [ ] duration = 1 [-] listItem (2bf33b8) = [XULElement] [ ] start (2bf35e0) = [calDateTime] [ ] end (2bf35e8) = [calDateTime] [+] soon (2bf2a28) = [Object] [ ] open = false [ ] duration = 5 [-] listItem (2bf34b0) = [XULElement] [ ] start (2bf35f8) = [calDateTime] [ ] end (2bf3600) = [calDateTime] [+] periods (2bf38a8) = [Array] [-] 0 (2bf28c0) = [Object] [-] 1 (2bf2a20) = [Object] [-] 2 (2bf2a28) = [Object] [+] calendar (28eefb8) = [XPCWrappedNative_NoHelper] [ ] prefPrefix = true [ ] addObserver (29ba728) = [Function] [ ] defaultCalendar = true [ ] ITEM_FILTER_CLASS_OCCURRENCES = 65536 [ ] ITEM_FILTER_COMPLETED_ALL = 3 [ ] ITEM_FILTER_TYPE_EVENT = 8 [ ] getItems (2a9dab8) = [Function] [ ] ITEM_FILTER_TYPE_TODO = 4 [ ] removeObserver (2bf2a40) = [Function] [ ] ITEM_FILTER_ALL_ITEMS = 65535 [ ] getCalendar (305ea00) = [Function] [-] QueryInterface (1c53f98) = [Function] [ ] id = true [ ] name = true [ ] type = true [ ] superCalendar = true [ ] uri = true [ ] readOnly = true [ ] canRefresh = true [-] getProperty (1c53ee8) = [Function] [-] setProperty (1c53ed8) = [Function] [-] deleteProperty (1c8f718) = [Function] [-] addItem (1c8f708) = [Function] [-] adoptItem (1c8f6f8) = [Function] [-] modifyItem (1c8f6e8) = [Function] [-] deleteItem (1c8f6c8) = [Function] [-] getItem (1c8f6b8) = [Function] [ ] sendItipInvitations = true [-] refresh (1c8f678) = [Function] [-] startBatch (1c8f580) = [Function] [-] endBatch (1c8f430) = [Function] [-] addCalendar (1c8f410) = [Function] [-] removeCalendar (1c8f3f8) = [Function] [ ] calendars = true [ ] ITEM_FILTER_COMPLETED_YES = 1 [ ] ITEM_FILTER_COMPLETED_NO = 2 [ ] ITEM_FILTER_TYPE_JOURNAL = 16 [ ] ITEM_FILTER_TYPE_ALL = 28 [+] mListener (1c554c8) = [Object] [ ] CurrentPaneView = 0 [-] paneViews (2bcefd8) = [Array] [ ] stodaypaneButton = calendar-show-todaypane-button [ ] start (2bf3328) = [calDateTime] [ ] cwlabel = CW [-] dateFormatter (1c53f80) = [XPCWrappedNative_NoHelper] [-] weekFormatter (1c53ed0) = [XPCWrappedNative_NoHelper] [-] onLoad (1c53ec0, chrome://calendar/content/today-pane.js, 51-111) = [Function] [-] checkMenuItem (1c53eb0, chrome://calendar/content/today-pane.js, 114-123) = [Function] [-] initializeMiniday (1c53ea0, chrome://calendar/content/today-pane.js, 126-141) = [Function] [-] setMonthDescription (1c53e90, chrome://calendar/content/today-pane.js, 144-149) = [Function] [-] addButtonToDefaultset (1c53e80, chrome://calendar/content/today-pane.js, 152-176) = [Function] [-] addButtonToToolbarset (1c53e70, chrome://calendar/content/today-pane.js, 179-196) = [Function] [-] cyclePaneView (1c53e60, chrome://calendar/content/today-pane.js, 201-239) = [Function] [-] setShortWeekdays (1c53e50, chrome://calendar/content/today-pane.js, 243-247) = [Function] [-] setDaywithjsDate (1c53e40, chrome://calendar/content/today-pane.js, 251-255) = [Function] [-] getDay (1c53df0, chrome://calendar/content/today-pane.js, 259-260) = [Function] [-] setDay (1c53d78, chrome://calendar/content/today-pane.js, 263-278) = [Function] [-] advance (1c53d08, chrome://calendar/content/today-pane.js, 281-283) = [Function] [-] showsToday (1c53c68, chrome://calendar/content/today-pane.js, 286-287) = [Function] [-] showsYesterday (1c53820, chrome://calendar/content/today-pane.js, 290-291) = [Function] [-] updatePeriod (1c53810, chrome://calendar/content/today-pane.js, 294-296) = [Function] [-] onModified (1c8f728, chrome://calendar/content/today-pane.js, 300-309) = [Function] [ ] showstoday = true [+] QueryInterface (1d5d3b0, chrome://lightning/content/agenda-listbox.js, 599-605) = [Function] [ ] prototype (1c53fa0) = [Object] [+] onStartBatch (1d5ccb0, chrome://lightning/content/agenda-listbox.js, 609-610) = [Function] [ ] prototype (1c541a0) = [Object] [+] onEndBatch (1d5cca0, chrome://lightning/content/agenda-listbox.js, 614-618) = [Function] [ ] prototype (1c542a0) = [Object] [+] onLoad (1e0b148, chrome://lightning/content/agenda-listbox.js, 622-623) = [Function] [ ] prototype (1c542b0) = [Object] [+] onAddItem (1e0b100, chrome://lightning/content/agenda-listbox.js, 628-638) = [Function] [ ] prototype (1c542c0) = [Object] [+] getOccurrencesBetween (1e0ad28, chrome://lightning/content/agenda-listbox.js, 642-649) = [Function] [ ] prototype (1c542d0) = [Object] [+] onDeleteItem (1e0ad18, chrome://lightning/content/agenda-listbox.js, 653-654) = [Function] [ ] prototype (1c542e0) = [Object] [+] onLocalDeleteItem (1e0ad08, chrome://lightning/content/agenda-listbox.js, 658-674) = [Function] [ ] prototype (1c542f0) = [Object] [+] onModifyItem (1e0acf8, chrome://lightning/content/agenda-listbox.js, 678-695) = [Function] [ ] prototype (1c54300) = [Object] [+] onError (1e0acf0, chrome://lightning/content/agenda-listbox.js, 698-698) = [Function] [ ] prototype (1c54310) = [Object] [+] onPropertyChanged (1e0ace8, chrome://lightning/content/agenda-listbox.js, 700-700) = [Function] [ ] prototype (1c54320) = [Object] [+] onPropertyDeleting (1e0ace0, chrome://lightning/content/agenda-listbox.js, 702-702) = [Function] [ ] prototype (1c54d58) = [Object] [+] onCalendarRemoved (1e0acd0, chrome://lightning/content/agenda-listbox.js, 706-707) = [Function] [ ] prototype (1c54d68) = [Object] [+] onCalendarAdded (1e0acc0, chrome://lightning/content/agenda-listbox.js, 711-712) = [Function] [ ] prototype (1c54d80) = [Object] [+] onDefaultCalendarChanged (1e0acb8, chrome://lightning/content/agenda-listbox.js, 715-715) = [Function] [ ] prototype (1c54d90) = [Object] [+] [leaked object] (1e0b0f8) = [Object] [+] strBundleService (1e0b128) = [XPCWrappedNative_NoHelper] [ ] createBundle (2951430) = [Function] [+] QueryInterface (1e0af30) = [Function] [ ] prototype (1e0aec8) = [Object] [+] createExtensibleBundle (1e0af20) = [Function] [ ] prototype (1e0aed0) = [Object] [+] formatStatusMessage (1e0af10) = [Function] [ ] prototype (1e0aee0) = [Object] [+] flushBundles (1e0af00) = [Function] [ ] prototype (1e0aef0) = [Object] [+] obs (2bceb20) = [XPCWrappedNative_NoHelper] [ ] addObserver (2bceb28) = [Function] [ ] notifyObservers (29c9148) = [Function] [ ] removeObserver (31cfc40) = [Function] [+] QueryInterface (1e0af48) = [Function] [ ] prototype (1e0aeb0) = [Object] [+] enumerateObservers (1e0af38) = [Function] [ ] prototype (1e0aeb8) = [Object] [+] init (1e0b130, chrome://morecols/content/mainWindowOverlay.xul, 13-15) = [Function] [ ] prototype (1e0af50) = [Object] [+] observe (1e0b138, chrome://morecols/content/mainWindowOverlay.xul, 20-37) = [Function] [ ] prototype (1e0af60) = [Object] [+] [leaked object] (1e0b7a0) = [Object] [ ] mDefaultCalendarItem = null [+] QueryInterface (1e0b790, chrome://calendar/content/calendar-management.js, 665-672) = [Function] [ ] prototype (1e0abe0) = [Object] [+] initializeCalendar (1e0b780, chrome://calendar/content/calendar-management.js, 680-692) = [Function] [ ] prototype (1e0abf0) = [Object] [+] unload (1e0b770, chrome://calendar/content/calendar-management.js, 695-698) = [Function] [ ] prototype (1e0ac08) = [Object] [+] setupWritableCalendars (1e0b760, chrome://calendar/content/calendar-management.js, 702-709) = [Function] [ ] prototype (1e0ac18) = [Object] [+] onCalendarRegistered (1e0b750, chrome://calendar/content/calendar-management.js, 714-720) = [Function] [ ] prototype (1e0ac28) = [Object] [+] onCalendarUnregistering (1e0b740, chrome://calendar/content/calendar-management.js, 724-735) = [Function] [ ] prototype (1e0ac38) = [Object] [+] onCalendarDeleting (1e0b730, chrome://calendar/content/calendar-management.js, 738-738) = [Function] [ ] prototype (1e0ac48) = [Object] [+] onStartBatch (1e0b720, chrome://calendar/content/calendar-management.js, 743-743) = [Function] [ ] prototype (1e0ac58) = [Object] [+] onEndBatch (1e0b710, chrome://calendar/content/calendar-management.js, 744-744) = [Function] [ ] prototype (1e0ac68) = [Object] [+] onLoad (1e0b700, chrome://calendar/content/calendar-management.js, 745-745) = [Function] [ ] prototype (1e0ae30) = [Object] [+] onAddItem (1e0b6f0, chrome://calendar/content/calendar-management.js, 749-751) = [Function] [ ] prototype (1e0ae40) = [Object] [+] onModifyItem (1e0b6e0, chrome://calendar/content/calendar-management.js, 755-757) = [Function] [ ] prototype (1e0ae50) = [Object] [+] onDeleteItem (1e0b6d0, chrome://calendar/content/calendar-management.js, 761-761) = [Function] [ ] prototype (1e0ae60) = [Object] [+] onError (1e0b6c0, chrome://calendar/content/calendar-management.js, 762-762) = [Function] [ ] prototype (1e0ae70) = [Object] [+] onPropertyChanged (1e0b6b0, chrome://calendar/content/calendar-management.js, 767-781) = [Function] [ ] prototype (1e0ae80) = [Object] [+] onPropertyDeleting (1e0b6a0, chrome://calendar/content/calendar-management.js, 786-790) = [Function] [ ] prototype (1e0ae90) = [Object] [+] observe (1e0b690, chrome://calendar/content/calendar-management.js, 794-839) = [Function] [ ] prototype (1e0aea0) = [Object] [-] [leaked object] (1e0b7a0) = [Object] [+] [leaked object] (1e9f208) = [Object] [+] mSideBar (1c8f1b0) = [ChromeWindow] [+] getInterface (1e0aab0) = [Function] [ ] prototype (1e0aa90) = [Object] [+] onCalendarRegistered (1e9f218, chrome://lightning/content/messenger-overlay-sidebar.js, 797-799) = [Function] [ ] prototype (1e0abb0) = [Object] [+] onCalendarUnregistering (1e9f228, chrome://lightning/content/messenger-overlay-sidebar.js, 802-804) = [Function] [ ] prototype (1e0abc0) = [Object] [+] onCalendarDeleting (1e9f238, chrome://lightning/content/messenger-overlay-sidebar.js, 807-807) = [Function] [ ] prototype (1e0abd0) = [Object] [+] [leaked object] (1f70540) = [Object] [+] maxWantedNesting (1f70548, chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.js, 21-22) = [Function] [ ] prototype (1e0aa50) = [Object] [+] signedStatus (1f70550, chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.js, 26-58) = [Function] [ ] prototype (1e0aa60) = [Object] [+] encryptionStatus (1f70558, chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.js, 63-113) = [Function] [ ] prototype (1e0aa70) = [Object] [+] QueryInterface (1f70560, chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.js, 118-121) = [Function] [ ] prototype (1e0aa80) = [Object] [+] [leaked object] (2bceb78) = [Object] [-] mInvitationsManager (2bceb58) = [Object] [+] onCalendarRegistered (2bceb80, chrome://calendar/content/calendar-invitations-manager.js, 117-117) = [Function] [ ] prototype (1e0aa20) = [Object] [+] onCalendarUnregistering (2bceb88, chrome://calendar/content/calendar-invitations-manager.js, 119-120) = [Function] [ ] prototype (1e0aa30) = [Object] [+] onCalendarDeleting (2bceb90, chrome://calendar/content/calendar-invitations-manager.js, 122-122) = [Function] [ ] prototype (1e0aa40) = [Object] [ ] [leaked object] (2c25068) = [Object] [+] [leaked object] (1e0b880) = [Object] [+] QueryInterface (1e0b870, chrome://calendar/content/calendar-management.js, 607-613) = [Function] [ ] prototype (1e0a930) = [Object] [+] onCalendarAdded (1e0b860, chrome://calendar/content/calendar-management.js, 616-619) = [Function] [ ] prototype (1e0a940) = [Object] [+] onCalendarRemoved (1e0b850, chrome://calendar/content/calendar-management.js, 622-625) = [Function] [ ] prototype (1e0a950) = [Object] [+] onDefaultCalendarChanged (1e0b840, chrome://calendar/content/calendar-management.js, 628-628) = [Function] [ ] prototype (1e0a960) = [Object] [+] onStartBatch (1e0b830, chrome://calendar/content/calendar-management.js, 633-633) = [Function] [ ] prototype (1e0a970) = [Object] [+] onEndBatch (1e0b820, chrome://calendar/content/calendar-management.js, 634-634) = [Function] [ ] prototype (1e0a980) = [Object] [+] onLoad (1e0b810, chrome://calendar/content/calendar-management.js, 635-635) = [Function] [ ] prototype (1e0a990) = [Object] [+] onAddItem (1e0b7f8, chrome://calendar/content/calendar-management.js, 639-641) = [Function] [ ] prototype (1e0a9a0) = [Object] [+] onModifyItem (1e0b7e8, chrome://calendar/content/calendar-management.js, 645-647) = [Function] [ ] prototype (1e0a9b0) = [Object] [+] onDeleteItem (1e0b7d8, chrome://calendar/content/calendar-management.js, 651-651) = [Function] [ ] prototype (1e0a9c0) = [Object] [+] onError (1e0b7c8, chrome://calendar/content/calendar-management.js, 652-652) = [Function] [ ] prototype (1e0a9d0) = [Object] [+] onPropertyChanged (1e0b7b8, chrome://calendar/content/calendar-management.js, 657-657) = [Function] [ ] prototype (1e0a9e0) = [Object] [+] onPropertyDeleting (1e0b7a8, chrome://calendar/content/calendar-management.js, 659-659) = [Function] [ ] prototype (1e0a9f8) = [Object] [+] [leaked object] (1f2bb40) = [Object] [+] onStartHeaders (1f2bb48, chrome://messenger/content/msgHdrViewOverlay.js, 263-293) = [Function] [ ] prototype (1e0a898) = [Object] [+] onEndHeaders (1f2bb50, chrome://messenger/content/msgHdrViewOverlay.js, 297-312) = [Function] [ ] prototype (1e0a8a8) = [Object] [+] processHeaders (1f2bb58, chrome://messenger/content/msgHdrViewOverlay.js, 316-383) = [Function] [ ] prototype (1e0a8b8) = [Object] [+] handleAttachment (1f2bb60, chrome://messenger/content/msgHdrViewOverlay.js, 387-424) = [Function] [ ] prototype (1e0a8c8) = [Object] [+] onEndAllAttachments (1f2bb68, chrome://messenger/content/msgHdrViewOverlay.js, 430-431) = [Function] [ ] prototype (1e0a8d8) = [Object] [+] onEndMsgDownload (1f2bb70, chrome://messenger/content/msgHdrViewOverlay.js, 435-449) = [Function] [ ] prototype (1e0a8e8) = [Object] [+] onEndMsgHeaders (1f2bb78, chrome://messenger/content/msgHdrViewOverlay.js, 453-454) = [Function] [ ] prototype (1e0a8f8) = [Object] [+] onMsgHasRemoteContent (1f2bb80, chrome://messenger/content/msgHdrViewOverlay.js, 458-459) = [Function] [ ] prototype (1e0a908) = [Object] [+] mSecurityInfo (29ba9f8) = [XPCWrappedNative_NoHelper] [+] QueryInterface (1e0a918) = [Function] [ ] prototype (1e0a890) = [Object] [ ] mSaveHdr = null [ ] securityInfo = true [ ] mDummyMsgHeader = null [+] getDummyMsgHeader (1f2bb98, chrome://messenger/content/msgHdrViewOverlay.js, 476-479) = [Function] [ ] prototype (1e0a920) = [Object] [ ] mProperties = null [ ] properties = true
This dump looks rather useless, for example it contains many entries that are not related to Lightning and misses steps on how to produce the leak. You should specify specific steps to leas to the leak, e.g. what do you do and when does the leak happens. Please also check if this is already covered e.g. by bug 364513, bug 413297, bug 413297 and others.
Attached patch Fix leaks - v1 (obsolete) — — Splinter Review
I spent some time on this and was able to fix all calendar-related leaks that the leak monitor shows on initial execution (i.e no event dialog or other windows opened). The change in the invitation manager was quite tricky, I found no way to fix the leak with nsITimer, but it did work without problems using setTimeout and friends. This should be ok though since the invitations manager is part of a chrome window and not a component. For some odd reason the invitations link is always visible on startup though, so not requesting review just yet. This patch may also fix some other leak bugs, especially related to the calendar manager.
Assignee: nobody → philipp
Status: NEW → ASSIGNED
Comment on attachment 310136 [details] [diff] [review] Fix leaks - v1 >+ mObservers: new calListenerBag(Components.interfaces.calICalendarManagerObserver), Don't define at prototype. Even though ther'll be only one instance, it's better initialized in the ctor.
Comment on attachment 310136 [details] [diff] [review] Fix leaks - v1 It seems the problem with the invitations link was intermittent and not caused by this patch. Therefore requesting review. I'll fix the prototype-definition comment as a review comment before checkin.
Attachment #310136 - Flags: review?(daniel.boelzle)
Comment on attachment 310136 [details] [diff] [review] Fix leaks - v1 >+ if (self.mTimer) { >+ clearTimeout(self.mTimer); >+ } no need for check > var callback = { > mInvitationsManager: this, > mRepeatDelay: repeatDelay, > mOperationListener: operationListener, > notify: function(timer) { > if (timer.delay != this.mRepeatDelay) { > timer.delay = this.mRepeatDelay; > } > this.mInvitationsManager.getInvitations( > true, this.mOperationListener); > } > }; >- this.mTimer.initWithCallback(callback, firstDelay, >- this.mTimer.TYPE_REPEATING_SLACK); >+ var self = this; >+ this.mTimer = setTimeout(function startInvitationsTimer() { >+ self.mTimer = setInterval(function repeatingInvitationsTimer() { >+ self.getInvitations(true, operationListener); >+ }, repeatDelay); >+ }, firstDelay); callback code unused, please remove > if (this.mTimer) { >- this.mTimer.cancel(); >+ clearTimeout(this.mTimer); > } no need for check well done, looks good; r=dbo
Attachment #310136 - Flags: review?(daniel.boelzle) → review+
Comment on attachment 310136 [details] [diff] [review] Fix leaks - v1 >+ if (self.mTimer) { >+ clearTimeout(self.mTimer); >+ } no need for check > var callback = { > mInvitationsManager: this, > mRepeatDelay: repeatDelay, > mOperationListener: operationListener, > notify: function(timer) { > if (timer.delay != this.mRepeatDelay) { > timer.delay = this.mRepeatDelay; > } > this.mInvitationsManager.getInvitations( > true, this.mOperationListener); > } > }; >- this.mTimer.initWithCallback(callback, firstDelay, >- this.mTimer.TYPE_REPEATING_SLACK); >+ var self = this; >+ this.mTimer = setTimeout(function startInvitationsTimer() { >+ self.mTimer = setInterval(function repeatingInvitationsTimer() { >+ self.getInvitations(true, operationListener); >+ }, repeatDelay); >+ }, firstDelay); callback code unused, please remove > if (this.mTimer) { >- this.mTimer.cancel(); >+ clearTimeout(this.mTimer); > } no need for check well done, looks good; r=dbo
Attached patch Fix leaks - v2 — — Splinter Review
Changes made, this patch can be checked in after 0.8.
Attachment #310136 - Attachment is obsolete: true
Attachment #313316 - Flags: review+
Keywords: checkin-needed
OS: Windows XP → All
Hardware: PC → All
Whiteboard: [checkin-needed after 0.8]
Target Milestone: --- → 0.9
Version: Mozilla 1.8 Branch → unspecified
Flags: wanted-calendar0.9+
Checked in on HEAD and MOZILLA_1_8_BRANCH -> FIXED
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Whiteboard: [checkin-needed after 0.8]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: