Bug 75451 - REGRESSION(r100517): Finalizers are not run for many, many DOM objects!
Summary: REGRESSION(r100517): Finalizers are not run for many, many DOM objects!
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore JavaScript (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Sam Weinig
Keywords: InRadar
Depends on:
Reported: 2012-01-02 15:19 PST by Sam Weinig
Modified: 2012-04-03 15:35 PDT (History)
7 users (show)

See Also:

Temporary workaround patch (3.14 KB, patch)
2012-01-02 15:23 PST, Sam Weinig
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sam Weinig 2012-01-02 15:19:57 PST
After r100517 we appear to be leaking many DOM objects. It appears that their wrappers are not being finalized which is leading to the wrapped object not being deref'd before the wrapper is destroyed.

1. Load <http://www.google.com/>.
2. Run "leaks WebProcess".

You'll see 50 - 100 reported leaks of objects like CSSComputedStyleDeclaration and so on.
Comment 1 Sam Weinig 2012-01-02 15:21:01 PST
It seems the assumption that a finalizer will run for each DOM object wrapper (based on the assumption that each DOM object wrapper has a handle which can get finalized) is not holding true.
Comment 2 Sam Weinig 2012-01-02 15:23:46 PST
Created attachment 120896 [details]
Temporary workaround patch
Comment 3 Sam Weinig 2012-01-02 15:32:08 PST
Committed r103913: <http://trac.webkit.org/changeset/103913>
Comment 4 Sam Weinig 2012-01-02 15:41:25 PST
Comment 5 Sam Weinig 2012-01-02 15:56:12 PST
Fixed the build due to bad patch landing in r103915.
Comment 6 Alexey Proskuryakov 2012-04-03 15:35:49 PDT
Re-titling to track a proper fix, now that the symptom is under the carpet.