Closed Bug 35553 Opened 25 years ago Closed 25 years ago

leak deactivated nsXULDocuments

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P1)

PowerPC
Mac System 8.6
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: waterson, Assigned: saari)

References

Details

(Keywords: memory-footprint, memory-leak, platform-parity, Whiteboard: [nsbeta2-][nsbeta3+]macos; testcase requested-ckritzer;)

The focus tracking code in nsEventStateManager assumes that NS_DEACTIVATE will be sent to a window before the window is closed. This isn't true on Mac, and causes us to leak an nsXULDocument (and about 300Kb of crap that it entrains) on shutdown. We need to figure out an XP way to track the currently focused document: either force NS_DEACTIVATE to be sent to the window on Mac, or figure out a different way to maintain gLastFocusedDocument et. al.
Keywords: mlk, pp
Eh, we should be sending NS_DEACTIVATE.
Status: NEW → ASSIGNED
Priority: P3 → P1
Target Milestone: --- → M16
severe leak -> critical severity, nominating for nsbeta2, assuming that this isn't just a leak of app memory that is happening at shutdown and then immediately reused by the system.
Severity: normal → critical
Keywords: nsbeta2
[nsbeta2+]
Whiteboard: [nsbeta2+]
Blocks: 40158
Mass-moving undated nsbeta2+ bugs to M18
Target Milestone: M16 → M18
Is this the cause of leaked webshells?
Whiteboard: [nsbeta2+] → [nsbeta2+]macos
Well, the ESM is an XPCOM shutdown listener, and I can successfully release the ESM globals (document, content). I think that should take care of the problem
Doesn't fit latest 'would ya pull it off the wire' criteria, marking nsbeta2-, nominating for nsbeta3
Keywords: nsbeta3
Whiteboard: [nsbeta2+]macos → [nsbeta2-]macos
Mass update: changing qacontact to ckritzer@netscape.com
QA Contact: janc → ckritzer
Keywords: footprint
Whiteboard: [nsbeta2-]macos → [nsbeta2-][nsbeta3+]macos
Fixed; nsEventStateManager listens for xpcom shutdown and releases anything it is holding onto at that point
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Chris Saari, do ya have a testcase which would demonstrate this?
Whiteboard: [nsbeta2-][nsbeta3+]macos → [nsbeta2-][nsbeta3+]macos; testcase requested-ckritzer;
Eh, no test case, I just ran and watched the code I added to make sure it released anything the nsEventStateManager was holding onto when the last nsEventStateManager instance got released. That happened, so the leak should be plugged.
Marking VERIFIED FIXED on: - LinuxRH62 2000-09-07-08-M18 Commercial - Win98 2000-09-07-08-M18 Mozilla - MacOS86 2000-09-07-04-M18 Commercial Per Saari's comments. If you disagree, reopen.
Status: RESOLVED → VERIFIED
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.