Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Issue 1325433005: Oilpan: Fix SVGElement leaks introduced in 201698 (Closed)

Created:
5 years, 3 months ago by haraken
Modified:
5 years, 3 months ago
Reviewers:
oilpan-reviews, sof
CC:
blink-reviews, shans, rjwright, blink-reviews-animation_chromium.org, rwlbuis, fs, kouhei+svg_chromium.org, krit, f(malita), darktears, gyuyoung2, Stephen Chennney, pdr+svgwatchlist_chromium.org, Eric Willigers
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

Description

Oilpan: Fix SVGElement leaks introduced in 201698 The Persistent handle introduced to SVGInterpolation in 201698 created the following cycle. SVGInterporation =(Persistent)=> SVGAnimatedProperty =(Member)=> SVGElement =(Member)=> ElementRareData =(Member)=> ElementAnimations =(part of object)=> CSSAnimations =(part of object)=> CSSAnimationUpdate =(Member)=> NewTransition =(Member)=> InertEffect =(Member)=> EffectModel =(RefPtr)=> InterpolationEffect =(RefPtr)=> InterpolationRecord =(RefPtr)=> SVGInterpolation This CL breaks the cycle by making SVGAnimatedProperty::m_contextElement a raw pointer. BUG= Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201779

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+16 lines, -2 lines) Patch
M Source/core/svg/properties/SVGAnimatedProperty.h View 2 chunks +16 lines, -2 lines 2 comments Download

Messages

Total messages: 11 (2 generated)
haraken
PTAL Actually I was assuming that the Member reference from ElementAnimations to CSSAnimationUpdate is temporary ...
5 years, 3 months ago (2015-09-04 01:09:54 UTC) #2
sof
lgtm https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h File Source/core/svg/properties/SVGAnimatedProperty.h (right): https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h#newcode120 Source/core/svg/properties/SVGAnimatedProperty.h:120: SVGElement* m_contextElement; Add a GC_PLUGIN_IGNORE() (and a tracking ...
5 years, 3 months ago (2015-09-04 07:16:50 UTC) #3
haraken
https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h File Source/core/svg/properties/SVGAnimatedProperty.h (right): https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h#newcode120 Source/core/svg/properties/SVGAnimatedProperty.h:120: SVGElement* m_contextElement; On 2015/09/04 07:16:49, sof wrote: > Add ...
5 years, 3 months ago (2015-09-04 07:18:03 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1325433005/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1325433005/1
5 years, 3 months ago (2015-09-04 07:18:17 UTC) #6
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://src.chromium.org/viewvc/blink?view=rev&revision=201779
5 years, 3 months ago (2015-09-04 07:22:29 UTC) #7
sof
On 2015/09/04 07:18:03, haraken wrote: > https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h > File Source/core/svg/properties/SVGAnimatedProperty.h (right): > > https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h#newcode120 > ...
5 years, 3 months ago (2015-09-04 10:56:02 UTC) #8
haraken
On 2015/09/04 10:56:02, sof wrote: > On 2015/09/04 07:18:03, haraken wrote: > > > https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/SVGAnimatedProperty.h ...
5 years, 3 months ago (2015-09-04 12:19:37 UTC) #9
haraken
On 2015/09/04 12:19:37, haraken wrote: > On 2015/09/04 10:56:02, sof wrote: > > On 2015/09/04 ...
5 years, 3 months ago (2015-09-04 12:35:52 UTC) #10
haraken
5 years, 3 months ago (2015-09-04 12:38:12 UTC) #11
Message was sent while issue was closed.
On 2015/09/04 12:35:52, haraken wrote:
> On 2015/09/04 12:19:37, haraken wrote:
> > On 2015/09/04 10:56:02, sof wrote:
> > > On 2015/09/04 07:18:03, haraken wrote:
> > > >
> > >
> >
>
https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/...
> > > > File Source/core/svg/properties/SVGAnimatedProperty.h (right):
> > > > 
> > > >
> > >
> >
>
https://codereview.chromium.org/1325433005/diff/1/Source/core/svg/properties/...
> > > > Source/core/svg/properties/SVGAnimatedProperty.h:120: SVGElement*
> > > > m_contextElement;
> > > > On 2015/09/04 07:16:49, sof wrote:
> > > > > Add a GC_PLUGIN_IGNORE() (and a tracking issue, if you want to) ?
> > > > 
> > > > Will do in a follow-up (to fix the leak in oilpan build asap).
> > > 
> > > makes good sense. it seems like this only partially addressed the leaks --
> > > 
> > >  
> > >
> >
>
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Oilpan%...
> > 
> > looking.
> 
> Changing the Persistent for SVGInterpolatoin::m_attribute to WeakPersistent
> resolves the leak. Which means that SVGAnimatedPropertyBase is still holding
> some strong reference to the Node hierarchy or something.

ah, it's SVGPropertyTearOffBase::m_contextElement. Will handle it.

Powered by Google App Engine
This is Rietveld 408576698