[Webkit-unassigned] [Bug 47572] New: [Chromium] Leak in WebCore::createFontCustomPlatformData
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Oct 12 23:03:33 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=47572
Summary: [Chromium] Leak in
WebCore::createFontCustomPlatformData
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
OS/Version: Linux
Status: NEW
Keywords: InChromiumBugs
Severity: Normal
Priority: P2
Component: WebKit Misc.
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: hbono at chromium.org
(Copied from <http://crbug.com/31800>.)
From: http://build.chromium.org/buildbot/memory/builders/Webkit%20Linux%20(valgrind%20layout)/builds/12963/steps/memory%20test:%20layout/logs/stdio
Leak_DefinitelyLost
52 (16 direct, 36 indirect) bytes in 1 blocks are definitely lost in loss record 8,849 of 11,050
operator new(unsigned int) (sr/local/google/valgrind-for-chromium-client/valgrind/scripts/valgrind-memcheck/coregrind/m_replacemalloc/vg_replace_malloc.c:276)
WebCore::createFontCustomPlatformData(WebCore::SharedBuffer*) (third_party/WebKit/WebCore/platform/graphics/skia/FontCustomPlatformData.cpp:193)
WebCore::CachedFont::ensureCustomFontData() (third_party/WebKit/WebCore/loader/CachedFont.cpp:112)
WebCore::CSSFontFaceSource::getFontData(WebCore::FontDescription const&, bool, bool, WebCore::CSSFontSelector*) (third_party/WebKit/WebCore/css/CSSFontFaceSource.cpp:162)
WebCore::CSSFontFace::getFontData(WebCore::FontDescription const&, bool, bool) (third_party/WebKit/WebCore/css/CSSFontFace.cpp:112)
WebCore::CSSSegmentedFontFace::getFontData(WebCore::FontDescription const&) (third_party/WebKit/WebCore/css/CSSSegmentedFontFace.cpp:106)
WebCore::CSSFontSelector::getFontData(WebCore::FontDescription const&, WTF::AtomicString const&) (third_party/WebKit/WebCore/css/CSSFontSelector.cpp:531)
WebCore::FontCache::getFontData(WebCore::Font const&, int&, WebCore::FontSelector*) (third_party/WebKit/WebCore/platform/graphics/FontCache.cpp:384)
WebCore::FontFallbackList::fontDataAt(WebCore::Font const*, unsigned int) const (third_party/WebKit/WebCore/platform/graphics/FontFallbackList.cpp:105)
WebCore::FontFallbackList::primaryFontData(WebCore::Font const*) const (third_party/WebKit/WebCore/platform/graphics/FontFallbackList.h:66)
WebCore::FontFallbackList::determinePitch(WebCore::Font const*) const (third_party/WebKit/WebCore/platform/graphics/FontFallbackList.cpp:76)
WebCore::FontFallbackList::isFixedPitch(WebCore::Font const*) const (third_party/WebKit/WebCore/platform/graphics/FontFallbackList.h:47)
WebCore::Font::isFixedPitch() const (third_party/WebKit/WebCore/platform/graphics/Font.h:251)
WebCore::RenderText::computePreferredLogicalWidths(int, WTF::HashSet<WebCore::SimpleFontData const*, WTF::PtrHash<WebCore::SimpleFontData const*>, WTF::HashTraits<WebCore::SimpleFontData const*> >&, WebCore::GlyphOverflow&) (third_party/WebKit/WebCore/rendering/RenderText.cpp:540)
WebCore::RenderText::computePreferredLogicalWidths(int) (third_party/WebKit/WebCore/rendering/RenderText.cpp:687)
WebCore::RenderText::trimmedPrefWidths(int, int&, bool&, int&, bool&, bool&, bool&, int&, int&, int&, int&, bool&) (third_party/WebKit/WebCore/rendering/RenderText.cpp:585)
WebCore::RenderBlock::computeInlinePreferredLogicalWidths() (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:4912)
WebCore::RenderBlock::computePreferredLogicalWidths() (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:4594)
WebCore::RenderBox::maxPreferredLogicalWidth() const (third_party/WebKit/WebCore/rendering/RenderBox.cpp:603)
WebCore::RenderBox::computePositionedLogicalWidthUsing(WebCore::Length, WebCore::RenderBoxModelObject const*, WebCore::TextDirection, int, int, WebCore::Length, WebCore::Length, WebCore::Length, WebCore::Length, int&, int&, int&, int&) (third_party/WebKit/WebCore/rendering/RenderBox.cpp:2300)
WebCore::RenderBox::computePositionedLogicalWidth() (third_party/WebKit/WebCore/rendering/RenderBox.cpp:2109)
WebCore::RenderBox::computeLogicalWidth() (third_party/WebKit/WebCore/rendering/RenderBox.cpp:1428)
WebCore::RenderBlock::layoutBlock(bool, int) (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:1128)
WebCore::RenderBlock::layout() (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:1105)
WebCore::RenderObject::layoutIfNeeded() (third_party/WebKit/WebCore/rendering/RenderObject.h:497)
WebCore::RenderBlock::layoutPositionedObjects(bool) (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:2048)
WebCore::RenderBlock::layoutBlock(bool, int) (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:1254)
WebCore::RenderBlock::layout() (third_party/WebKit/WebCore/rendering/RenderBlock.cpp:1105)
WebCore::RenderView::layout() (third_party/WebKit/WebCore/rendering/RenderView.cpp:122)
WebCore::FrameView::layout(bool) (third_party/WebKit/WebCore/page/FrameView.cpp:763)
Suppression (error hash=#FFFFFFFFC6F32A08#):
{
<insert_a_suppression_name_here>
Memcheck:Leak
fun:_Znw*
fun:_ZN7WebCore28createFontCustomPlatformDataEPNS_12SharedBufferE
fun:_ZN7WebCore10CachedFont20ensureCustomFontDataEv
fun:_ZN7WebCore17CSSFontFaceSource11getFontDataERKNS_15FontDescriptionEbbPNS_15CSSFontSelectorE
fun:_ZN7WebCore11CSSFontFace11getFontDataERKNS_15FontDescriptionEbb
fun:_ZN7WebCore20CSSSegmentedFontFace11getFontDataERKNS_15FontDescriptionE
fun:_ZN7WebCore15CSSFontSelector11getFontDataERKNS_15FontDescriptionERKN3WTF12AtomicStringE
fun:_ZN7WebCore9FontCache11getFontDataERKNS_4FontERiPNS_12FontSelectorE
fun:_ZNK7WebCore16FontFallbackList10fontDataAtEPKNS_4FontEj
fun:_ZNK7WebCore16FontFallbackList15primaryFontDataEPKNS_4FontE
fun:_ZNK7WebCore16FontFallbackList14determinePitchEPKNS_4FontE
fun:_ZNK7WebCore16FontFallbackList12isFixedPitchEPKNS_4FontE
fun:_ZNK7WebCore4Font12isFixedPitchEv
fun:_ZN7WebCore10RenderText29computePreferredLogicalWidthsEiRN3WTF7HashSetIPKNS_14SimpleFontDataENS1_7PtrHashIS5_EENS1_10HashTraitsIS5_EEEERNS_13GlyphOverflowE
fun:_ZN7WebCore10RenderText29computePreferredLogicalWidthsEi
fun:_ZN7WebCore10RenderText17trimmedPrefWidthsEiRiRbS1_S2_S2_S2_S1_S1_S1_S1_S2_
fun:_ZN7WebCore11RenderBlock35computeInlinePreferredLogicalWidthsEv
fun:_ZN7WebCore11RenderBlock29computePreferredLogicalWidthsEv
fun:_ZNK7WebCore9RenderBox24maxPreferredLogicalWidthEv
fun:_ZN7WebCore9RenderBox34computePositionedLogicalWidthUsingENS_6LengthEPKNS_20RenderBoxModelObjectENS_13TextDirectionEiiS1_S1_S1_S1_RiS6_S6_S6_
fun:_ZN7WebCore9RenderBox29computePositionedLogicalWidthEv
fun:_ZN7WebCore9RenderBox19computeLogicalWidthEv
}
It seems this leak still happens sometimes on our valgrind bots, but not always. To investigate this leak today, it seems we forgot deleting the cached resources as written in Issue 23081 <http://crbug.com/23081>. (Mac WebKit releases them in [WebView _close:].) In fact, running the debug version of out test_shell with '--layout-tests LayoutTests/fast/css/font-face-opentype.html' options reports a leak of a CachedResource (i.e. CachedFont) object.
% ~/Chrome/src/xcodebuild/Debug/TestShell.app/Contents/MacOS/TestShell --layout-tests LayoutTests/fast/css/font-face-opentype.html
#URL:file:///Users/hbono/Chrome/src/third_party/WebKit/LayoutTests/fast/css/font-face-opentype.html
(suppressed)
#EOF
LEAK: 1 CachedResource
LEAK: 4 WebCoreNode
Regards,
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list