Bug 19166 - Back/forward cache causing lots of JavaScript object leaks
Summary: Back/forward cache causing lots of JavaScript object leaks
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P1 Critical
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2008-05-20 23:09 PDT by Oliver Hunt
Modified: 2009-01-28 23:35 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Hunt 2008-05-20 23:09:20 PDT
Visit any site with significant JS content and SF doesn't GC all objects.  It looks like it may be leaking global objects.

Tentatively marking as a merge blocker
Comment 1 Maciej Stachowiak 2008-05-21 04:04:45 PDT
My reduction (load this, click the link, close the window):

<a href="about:blank" onkeypress="x()">click</a>

Disabling b/f cache makes the bug go away.
Comment 2 Maciej Stachowiak 2008-05-21 04:06:34 PDT
Trunk has the same bug.
Comment 3 Mark Rowe (bdash) 2008-05-21 16:39:28 PDT
<rdar://problem/5954374>
Comment 4 Mark Rowe (bdash) 2008-05-21 19:39:49 PDT
I cannot reproduce this with r33980.
Comment 5 Adele Peterson 2008-05-22 10:45:36 PDT
5/21/08 11:20 PM Maciej Stachowiak:
The way I reproduced this originally:

1) Open Caches window
2) Open a new browser window
3) Load the reduction
4) Click the link
5) close the browser window
6) hit the Garbage Collect button in Caches

I see some objects still left, including protected ones.

5/21/08 11:46 PM Adele Peterson:
I haven't been able to reproduce with a debug build, but I did see some objects in a release spade build.  But then after a few seconds, if I hit refresh, they go away.  Since page cache cleanup happens on a timer, that may explain this bug.

5/22/08 1:22 AM Maciej Stachowiak:
I'm still seeing this bug, but they don't go away after a few minutes.
Comment 6 Cameron Zwarich (cpst) 2008-06-13 02:58:57 PDT
With a nightly release build, I get the initial leak of 1 DOMWindow and 1 JSDOMWindowShell (there are initially 2 DOMWindow objects, but one gets freed upon closing). However, for me the objects get freed on a timer like they do for Adele.
Comment 7 Cameron Zwarich (cpst) 2008-11-20 11:34:51 PST
Do you still see this, Maciej?
Comment 8 Cameron Zwarich (cpst) 2009-01-28 23:35:53 PST
Closing to match the Radar. Maciej doesn't see this anymore.