Bug 35642
| Summary: | [Qt] Memory leak detected during widget launch, removal testing | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Tor Arne Vestbø <vestbo> |
| Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | kling |
| Priority: | P2 | Keywords: | Qt |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Other | ||
| OS: | OS X 10.5 | ||
Tor Arne Vestbø
This bug report originated from issue QTBUG-6788
http://bugreports.qt.nokia.com/browse/QTBUG-6788
--- Description ---
===========<br/>
Memory leak observed in the WRT and QWebkit Module.
<p>Precondition:<br/>
=============<br/>
---------</p>
<p>Steps Leading to the problem:<br/>
============================</p>
<p>1.Install a widget with the valid manifest file ( path to for the widget<br/>
<span class="nobr"><a href="http://waplabdc.nokia-boston.com/browser/users/amitha/widget/valid.wgz">http://waplabdc.nokia-boston.com/browser/users/amitha/widget/valid.wgz<sup><img class="rendericon" src="http://bugreports.qt.nokia.com/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> )</p>
<p>2.launch the widget with the valgrind options as follows:<br/>
valgrind --log-file=/tmp/leaks.log --tool=memcheck --leak-check=yes<br/>
--show-reachable=yes --num-callers=40 --track-fds=yes ./nokiaPhoneSimulator<br/>
widgets</p>
<p>3.Exit the widget</p>
<p>(after this step you can find the log file in /tmp folder as .log extension)</p>
<p>Expected Outcome:<br/>
=================<br/>
No memory leaks should be found.</p>
<p>Actual Outcome:<br/>
===============<br/>
==12292== 41,424 (12,160 direct, 29,264 indirect) bytes in 44 blocks are<br/>
definitely lost in loss record 436 of 581<br/>
==12292== at 0x4022B8E: realloc (vg_replace_malloc.c:429)<br/>
==12292== by 0x651BFD3: (within /usr/lib/libfontconfig.so.1.3.0)<br/>
==12292== by 0x650D3A0: (within /usr/lib/libfontconfig.so.1.3.0)<br/>
==12292== by 0x650E663: FcConfigSubstituteWithPat (in<br/>
/usr/lib/libfontconfig.so.1.3.0)<br/>
==12292== by 0x650E8A6: FcConfigSubstitute (in<br/>
/usr/lib/libfontconfig.so.1.3.0)<br/>
==12292== by 0x5C31F87: getFcPattern(QFontPrivate const*, int, QFontDef<br/>
const&) (qfontdatabase_x11.cpp:1541)<br/>
==12292== by 0x5C322F9: loadFc(QFontPrivate const*, int, QFontDef const&)<br/>
(qfontdatabase_x11.cpp:1691)<br/>
==12292== by 0x5C33D65: QFontDatabase::load(QFontPrivate const*, int)<br/>
(qfontdatabase_x11.cpp:1927)<br/>
==12292== by 0x5C0E158: QFontPrivate::engineForScript(int) const<br/>
(qfont.cpp:265)<br/>
==12292== by 0x5C25F02: QFontMetrics::ascent() const (qfontmetrics.cpp:300)<br/>
==12292== by 0x49EC8B4: WebCore::SimpleFontData::platformInit()<br/>
(SimpleFontDataQt.cpp:45)<br/>
==12292== by 0x48493C6:<br/>
WebCore::SimpleFontData::SimpleFontData(WebCore::FontPlatformData const&, bool,<br/>
bool, WebCore::SVGFontData*) (SimpleFontData.cpp:101)<br/>
==12292== by 0x49EC3FF: WebCore::FontFallbackList::fontDataAt(WebCore::Font<br/>
const*, unsigned) const (FontFallbackListQt.cpp:104)<br/>
==12292== by 0x483989B:<br/>
WebCore::FontFallbackList::primaryFontData(WebCore::Font const*) const<br/>
(FontFallbackList.h:69)<br/>
==12292== by 0x49EC4B3:<br/>
WebCore::FontFallbackList::determinePitch(WebCore::Font const*) const<br/>
(FontFallbackListQt.cpp:68)<br/>
==12292== by 0x483919D:<br/>
WebCore::FontFallbackList::isFixedPitch(WebCore::Font const*) const<br/>
(FontFallbackList.h:50)<br/>
==12292== by 0x4839232: WebCore::Font::isFixedPitch() const (Font.cpp:160)<br/>
==12292== by 0x48AF1CB:<br/>
WebCore::RenderBlock::findNextLineBreak(WebCore::BidiResolver<WebCore::InlineIterator,<br/>
WebCore::BidiRun>&, bool, bool&, bool&, WebCore::EClear*) (bidi.cpp:1777)<br/>
==12292== by 0x48B3884: WebCore::RenderBlock::layoutInlineChildren(bool,<br/>
int&, int&) (bidi.cpp:945)<br/>
==12292== by 0x48EFBD3: WebCore::RenderBlock::layoutBlock(bool)<br/>
(RenderBlock.cpp:779)<br/>
==12292== by 0x48CB2C9: WebCore::RenderBlock::layout() (RenderBlock.cpp:698)<br/>
==12292== by 0x48EE5BF: WebCore::RenderBlock::layoutBlockChildren(bool,<br/>
int&) (RenderBlock.cpp:1373)<br/>
==12292== by 0x48EFBF5: WebCore::RenderBlock::layoutBlock(bool)<br/>
(RenderBlock.cpp:781)<br/>
==12292== by 0x48CB2C9: WebCore::RenderBlock::layout() (RenderBlock.cpp:698)<br/>
==12292== by 0x48EE5BF: WebCore::RenderBlock::layoutBlockChildren(bool,<br/>
int&) (RenderBlock.cpp:1373)<br/>
==12292== by 0x48EFBF5: WebCore::RenderBlock::layoutBlock(bool)<br/>
(RenderBlock.cpp:781)<br/>
==12292== by 0x48CB2C9: WebCore::RenderBlock::layout() (RenderBlock.cpp:698)<br/>
==12292== by 0x498D574: WebCore::RenderView::layout() (RenderView.cpp:122)<br/>
==12292== by 0x4811464: WebCore::FrameView::layout(bool) (FrameView.cpp:610)<br/>
==12292== by 0x4811CB6:<br/>
WebCore::FrameView::layoutTimerFired(WebCore::Timer<WebCore::FrameView>*)<br/>
(FrameView.cpp:924)<br/>
==12292== by 0x480A54C: WebCore::Timer<WebCore::FrameView>::fired()<br/>
(Timer.h:98)<br/>
==12292== by 0x4885052: WebCore::ThreadTimers::fireTimers(double,<br/>
WTF::Vector<WebCore::TimerBase*, 0> const&) (ThreadTimers.cpp:111)<br/>
==12292== by 0x4885B46: WebCore::ThreadTimers::sharedTimerFiredInternal()<br/>
(ThreadTimers.cpp:141)<br/>
==12292== by 0x4885BC0: WebCore::ThreadTimers::sharedTimerFired()<br/>
(ThreadTimers.cpp:122)<br/>
==12292== by 0x49F8001: WebCore::SharedTimerQt::timerEvent(QTimerEvent*)<br/>
(SharedTimerQt.cpp:105)<br/>
==12292== by 0x6A7A809: QObject::event(QEvent*) (qobject.cpp:1073)<br/>
==12292== by 0x599F406: QApplicationPrivate::notify_helper(QObject*,<br/>
QEvent*) (qapplication.cpp:4057)<br/>
==12292== by 0x599F77F: QApplication::notify(QObject*, QEvent*)<br/>
(qapplication.cpp:3604)<br/>
==12292== by 0x6A63387: QCoreApplication::notifyInternal(QObject*, QEvent*)<br/>
(qcoreapplication.cpp:610)<br/>
==12292== by 0x8071FF7: QCoreApplication::sendEvent(QObject*, QEvent*)<br/>
(qcoreapplication.h:213)</p>
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Andreas Kling
Not a leak, but rather a known issue with Fontconfig.
See https://bugs.freedesktop.org/show_bug.cgi?id=18301