WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
83057
[v8] Fix memory leak in V8LazyEventListener
https://bugs.webkit.org/show_bug.cgi?id=83057
Summary
[v8] Fix memory leak in V8LazyEventListener
Erik Arvidsson
Reported
2012-04-03 12:32:16 PDT
[v8] Fix memory leak in V8LazyEventListener
Attachments
Patch
(10.07 KB, patch)
2012-04-03 12:35 PDT
,
Erik Arvidsson
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Erik Arvidsson
Comment 1
2012-04-03 12:35:03 PDT
Created
attachment 135395
[details]
Patch
David Levin
Comment 2
2012-04-03 12:53:34 PDT
Comment on
attachment 135395
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=135395&action=review
> Source/WebCore/bindings/v8/V8LazyEventListener.cpp:53 > +V8LazyEventListener::V8LazyEventListener(const AtomicString& functionName, const AtomicString& eventParameterName, const String& code, const String sourceURL, const TextPosition& position, Node* node, const WorldContextHandle& worldContext)
I think a PassRefPtr is appropriate here since the m_node is a RefPtr. (Of course if no one is calling using a PassRefPtr or release, then it doesn't really matter.)
David Levin
Comment 3
2012-04-03 12:55:27 PDT
(In reply to
comment #2
)
> (From update of
attachment 135395
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=135395&action=review
> > > Source/WebCore/bindings/v8/V8LazyEventListener.cpp:53 > > +V8LazyEventListener::V8LazyEventListener(const AtomicString& functionName, const AtomicString& eventParameterName, const String& code, const String sourceURL, const TextPosition& position, Node* node, const WorldContextHandle& worldContext) > > I think a PassRefPtr is appropriate here since the m_node is a RefPtr. (Of course if no one is calling using a PassRefPtr or release, then it doesn't really matter.)
Whoops, you're changing that. Sorry about that. Nevermind.
Ojan Vafai
Comment 4
2012-04-03 13:31:26 PDT
Comment on
attachment 135395
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=135395&action=review
> Source/WebCore/bindings/v8/V8LazyEventListener.cpp:217 > + // Since we only parse once, there's no need to keep data used for parsing around anymore. > + m_functionName = String(); > + m_code = String(); > + m_eventParameterName = String(); > + m_sourceURL = String();
Nice change. Deserves a mention in the changelog since it's not directly fixing the memory leak.
Erik Arvidsson
Comment 5
2012-04-03 13:59:21 PDT
Committed
r113086
: <
http://trac.webkit.org/changeset/113086
>
Zoltan Arvai
Comment 6
2012-04-04 03:06:18 PDT
fast/dom/inline-event-attributes-release.html layout test fails or flaky on bots: - Qt Linux Release - Lion debug
Csaba Osztrogonác
Comment 7
2012-04-04 03:17:52 PDT
(In reply to
comment #6
)
> fast/dom/inline-event-attributes-release.html > layout test fails or flaky on bots: > - Qt Linux Release > - Lion debug
Reopen based on this comment. Have you got any idea why?
Erik Arvidsson
Comment 8
2012-04-04 10:12:58 PDT
(In reply to
comment #7
)
> (In reply to
comment #6
) > > fast/dom/inline-event-attributes-release.html > > layout test fails or flaky on bots: > > - Qt Linux Release > > - Lion debug > > Reopen based on this comment. Have you got any idea why?
I'm not sure but my gut feeling is that window.internals.numberOfLiveNodes() is not working as expected. I am the first one to use this method in a layout test so maybe it was never intended for this use case. I'm fine removing this test even though I feel like having something like this is useful
Ojan Vafai
Comment 9
2012-04-04 10:25:19 PDT
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20webkit.org&showExpectations=true&tests=fast%2Fdom%2Finline-event-attributes-release.html
Output on these is: FAIL afterCount - beforeCount should be 0. Was 1. It looks to me like JSC might have an actual memory leak here, which is what this test is testing. Or maybe JSC's gc needs to run more than once to gc some objects? Geoff, wdyt? Are there other JSC people we should CC who might have thoughts?
Geoffrey Garen
Comment 10
2012-04-04 10:37:51 PDT
> Or maybe JSC's gc needs to run more than once to gc some objects?
No, that's not the case.
> Geoff, wdyt? Are there other JSC people we should CC who might have thoughts?
No immediate ideas without debugging it :(.
Ojan Vafai
Comment 11
2012-04-04 10:58:46 PDT
(In reply to
comment #10
)
> > Geoff, wdyt? Are there other JSC people we should CC who might have thoughts? > > No immediate ideas without debugging it :(.
Strangely, this test started passing for GTK after
http://trac.webkit.org/changeset/113141/
and randomly passed on a couple runs on Qt Linux Release. Seems likely the test is flaky with JSC, whic looks like a genuine bug to me (or a bug in numberOfLiveNodes). In either case, the test seems fine. We should skip it on the Apple ports for now unless there is someone in JSC land who wants to look into it.
Brian Burg
Comment 12
2014-12-16 00:47:50 PST
Closing some V8-related work items.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug