Bug 106709
Summary: | SVGFontElement is leaked | ||
---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
Component: | SVG | Assignee: | Stephen Chenney <schenney> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | eric, pdr, psolanki, zimmermann |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 106716 |
Ryosuke Niwa
Looking at the leaks bot output, roughly 26% of leaks seem to come from SVGFontElement:
http://build.webkit.org/LeaksViewer/?url=%2Fresults%2FApple%20MountainLion%20%28Leaks%29%2Fr139478%20%282325%29%2F
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Pratik Solanki
Here's an example callstack
Call stack: [thread 0x7fff72b57180]:
start
main DumpRenderTree.mm:932
dumpRenderTree(int, char const**) DumpRenderTree.mm:894
runTestingServerLoop() DumpRenderTree.mm:847
runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) DumpRenderTree.mm:1382
-[NSRunLoop(NSRunLoop) runMode:beforeDate:]
CFRunLoopRunSpecific
__CFRunLoopRun
__CFRunLoopDoSources0
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
MultiplexerSource::perform()
RunloopBlockContext::perform()
CFArrayApplyFunction
__block_global_1
___withDelegateAsync_block_invoke_0
___delegate_didReceiveDataArray_block_invoke_0
_NSURLConnectionDidReceiveData_LengthReceived
-[NSURLConnectionInternal _withActiveConnectionAndDelegate:]
-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]
__65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0
-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:] ResourceHandleMac.mm:785
WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int) ResourceLoader.cpp:452
WebCore::SubresourceLoader::didReceiveData(char const*, int, long long, bool) SubresourceLoader.cpp:226
WebCore::SubresourceLoader::sendDataToResource(char const*, int) SubresourceLoader.cpp:253
WebCore::CachedRawResource::data(WTF::PassRefPtr<WebCore::ResourceBuffer>, bool) CachedRawResource.cpp:70
WebCore::MainResourceLoader::dataReceived(WebCore::CachedResource*, char const*, int) MainResourceLoader.cpp:515
WebCore::DocumentLoader::receivedData(char const*, int) DocumentLoader.cpp:388
WebCore::DocumentLoader::commitLoad(char const*, int) DocumentLoader.cpp:319
WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) WebFrameLoaderClient.mm:846
-[WebDataSource(WebInternal) _receivedData:] WebDataSource.mm:215
-[WebHTMLRepresentation receivedData:withDataSource:] WebHTMLRepresentation.mm:186
-[WebFrame(WebInternal) _commitData:] WebFrame.mm:826
WebCore::DocumentLoader::commitData(char const*, unsigned long) DocumentLoader.cpp:357
WebCore::DocumentWriter::addData(char const*, unsigned long) DocumentWriter.cpp:222
WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter*, char const*, unsigned long) DecodedDataDocumentParser.cpp:50
WebCore::HTMLDocumentParser::append(WebCore::SegmentedString const&) HTMLDocumentParser.cpp:370
WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) HTMLDocumentParser.cpp:181
WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) HTMLDocumentParser.cpp:277
WebCore::HTMLTreeBuilder::constructTreeFromToken(WebCore::HTMLToken&) HTMLTreeBuilder.cpp:379
WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken(WebCore::AtomicHTMLToken*) HTMLTreeBuilder.cpp:396
WebCore::HTMLTreeBuilder::processTokenInForeignContent(WebCore::AtomicHTMLToken*) HTMLTreeBuilder.cpp:2853
WebCore::HTMLConstructionSite::insertForeignElement(WebCore::AtomicHTMLToken*, WTF::AtomicString const&) HTMLConstructionSite.cpp:458
WebCore::HTMLConstructionSite::createElement(WebCore::AtomicHTMLToken*, WTF::AtomicString const&) HTMLConstructionSite.cpp:513
WebCore::Document::createElement(WebCore::QualifiedName const&, bool) Document.cpp:1109
WebCore::SVGElementFactory::createSVGElement(WebCore::QualifiedName const&, WebCore::Document*, bool) SVGElementFactory.cpp:640
WebCore::fontConstructor(WebCore::QualifiedName const&, WebCore::Document*, bool) SVGElementFactory.cpp:339
WebCore::SVGFontElement::create(WebCore::QualifiedName const&, WebCore::Document*) SVGFontElement.cpp:58
WTF::fastMalloc(unsigned long) FastMalloc.cpp:274
malloc
malloc_zone_malloc
Stephen Chenney
Duplicate of https://bugs.webkit.org/show_bug.cgi?id=66438
*** This bug has been marked as a duplicate of bug 66438 ***