Closed
Bug 423503
Opened 18 years ago
Closed 18 years ago
Memory leaks in lightning
Categories
(Calendar :: Internal Components, defect)
Calendar
Internal Components
Tracking
(Not tracked)
RESOLVED
FIXED
0.9
People
(Reporter: aryx, Assigned: Fallen)
Details
(Keywords: memory-leak)
Attachments
(1 file, 1 obsolete file)
|
13.67 KB,
patch
|
Fallen
:
review+
|
Details | Diff | Splinter Review |
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
Comment 1•18 years ago
|
||
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.
| Assignee | ||
Comment 2•18 years ago
|
||
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 3•18 years ago
|
||
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.
| Assignee | ||
Comment 4•18 years ago
|
||
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 5•18 years ago
|
||
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 6•18 years ago
|
||
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
| Assignee | ||
Comment 7•18 years ago
|
||
Changes made, this patch can be checked in after 0.8.
Attachment #310136 -
Attachment is obsolete: true
Attachment #313316 -
Flags: review+
| Assignee | ||
Updated•18 years ago
|
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
Updated•18 years ago
|
Flags: wanted-calendar0.9+
| Assignee | ||
Comment 8•18 years ago
|
||
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.
Description
•