Closed Bug 499608 Opened 15 years ago Closed 15 years ago

Leak nsSVGRenderingObserverList with <svg:filter>

Categories

(Core :: SVG, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: memory-leak, testcase, valgrind)

Attachments

(2 files)

Attached image testcase
This testcase might just be a reduction of layout/reftests/svg/filters/filter-patterned-rect-01.svg.

valgrind 
    --leak-check=full
    --auto-run-dsymutil=yes
    --track-origins=yes 
    ~/central/debug-obj/dist/MinefieldDebug.app/Contents/MacOS/firefox-bin 
    -P vgrind c1.html 

164 (32 direct, 132 indirect) bytes in 1 blocks are definitely lost in loss record 1,241 of 1,915
   at 0x12B7F: operator new(unsigned long) (vg_replace_malloc.c:218)
   by 0x222E8D29: nsSVGEffects::AddRenderingObserver(nsIFrame*, nsSVGRenderingObserver*) (nsSVGEffects.cpp:436)
   by 0x222E8F85: nsSVGRenderingObserver::GetReferencedFrame() (nsSVGEffects.cpp:97)
   by 0x222E8FB0: nsSVGRenderingObserver::GetReferencedFrame(nsIAtom*, int*) (nsSVGEffects.cpp:108)
   by 0x222E90D9: nsSVGFilterProperty::GetFilterFrame() (nsSVGEffects.cpp:192)
   by 0x222FFAE2: nsSVGEffects::EffectProperties::GetFilterFrame(int*) (nsSVGEffects.h:234)
   by 0x2231155D: nsSVGUtils::PaintFrameWithEffects(nsSVGRenderState*, nsIntRect const*, nsIFrame*) (nsSVGUtils.cpp:899)
   by 0x222E749A: nsSVGDisplayContainerFrame::PaintSVG(nsSVGRenderState*, nsIntRect const*) (nsSVGContainerFrame.cpp:172)
   by 0x22311919: nsSVGUtils::PaintFrameWithEffects(nsSVGRenderState*, nsIntRect const*, nsIFrame*) (nsSVGUtils.cpp:970)
   by 0x2230340B: nsSVGOuterSVGFrame::Paint(nsIRenderingContext&, nsRect const&, nsPoint) (nsSVGOuterSVGFrame.cpp:566)
   by 0x223035EB: nsDisplaySVG::Paint(nsDisplayListBuilder*, nsIRenderingContext*, nsRect const&) (nsSVGOuterSVGFrame.cpp:459)
   by 0x21B26CD2: nsDisplayList::Paint(nsDisplayListBuilder*, nsIRenderingContext*, nsRect const&) const (nsDisplayList.cpp:317)
Blocks: 499613
The patch in bug 499613 provides a way to debug this leak without valgrind, assuming I did it right.
Attachment #384345 - Flags: review?(jwatt) → review+
http://hg.mozilla.org/mozilla-central/rev/59b6f57cd825
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: