Bug 245143
Summary: | Leaking too much memory via ContentExtensions | ||
---|---|---|---|
Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | achristensen, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | PC | ||
OS: | Linux |
Michael Catanzaro
Not yet sure whether this is a WebCore bug, a GTK/WPE port bug, or an Epiphany bug, but when valgrinding Epiphany I see by far the biggest leaks are coming via content extensions:
==32456== 786,448 bytes in 1 blocks are possibly lost in loss record 21,967 of 21,973
==32456== at 0x484286F: malloc (vg_replace_malloc.c:381)
==32456== by 0x9EBFD2F: UnknownInlinedFun (pas_debug_heap.h:101)
==32456== by 0x9EBFD2F: UnknownInlinedFun (pas_try_allocate_intrinsic.h:104)
==32456== by 0x9EBFD2F: bmalloc_allocate_impl_casual_case.constprop.0 (bmalloc_heap_inlines.h:70)
==32456== by 0x9E4B0BC: bmalloc_allocate_casual (bmalloc_heap.c:64)
==32456== by 0x73B0517: UnknownInlinedFun (FastMalloc.h:219)
==32456== by 0x73B0517: UnknownInlinedFun (HashTable.h:1167)
==32456== by 0x73B0517: UnknownInlinedFun (HashTable.h:1277)
==32456== by 0x73B0517: WTF::HashTable<WebCore::ContentExtensions::PrefixTreeVertex const*, WTF::KeyValuePair<WebCore::ContentExtensions::PrefixTreeVertex const*, WTF::Vector<unsigned long, 0ul, WTF::CrashOnOverflow, 1ul, WTF::FastMalloc> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::ContentExtensions::PrefixTreeVertex const*, WTF::Vector<unsigned long, 0ul, WTF::CrashOnOverflow, 1ul, WTF::FastMalloc> > >, WTF::DefaultHash<WebCore::ContentExtensions::PrefixTreeVertex const*>, WTF::HashMap<WebCore::ContentExtensions::PrefixTreeVertex const*, WTF::Vector<unsigned long, 0ul, WTF::CrashOnOverflow, 1ul, WTF::FastMalloc>, WTF::DefaultHash<WebCore::ContentExtensions::PrefixTreeVertex const*>, WTF::HashTraits<WebCore::ContentExtensions::PrefixTreeVertex const*>, WTF::HashTraits<WTF::Vector<unsigned long, 0ul, WTF::CrashOnOverflow, 1ul, WTF::FastMalloc> >, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WebCore::ContentExtensions::PrefixTreeVertex const*> >::expand(WTF::KeyValuePair<WebCore::ContentExtensions::PrefixTreeVertex const*, WTF::Vector<unsigned long, 0ul, WTF::CrashOnOverflow, 1ul, WTF::FastMalloc> >*) (HashTable.h:1199)
==32456== by 0x73C1A07: UnknownInlinedFun (HashTable.h:953)
==32456== by 0x73C1A07: UnknownInlinedFun (HashMap.h:382)
==32456== by 0x73C1A07: UnknownInlinedFun (HashMap.h:417)
==32456== by 0x73C1A07: WebCore::ContentExtensions::CombinedURLFilters::addPattern(unsigned long, WTF::Vector<WebCore::ContentExtensions::Term, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&) (CombinedURLFilters.cpp:171)
==32456== by 0x73ED1CE: UnknownInlinedFun (URLFilterParser.cpp:71)
==32456== by 0x73ED1CE: WebCore::ContentExtensions::URLFilterParser::addPattern(WTF::StringView, bool, unsigned long) (URLFilterParser.cpp:362)
==32456== by 0x6841982: UnknownInlinedFun (ContentExtensionCompiler.cpp:314)
==32456== by 0x6841982: API::compiledToFile(WTF::String&&, WTF::Vector<WebCore::ContentExtensions::ContentExtensionRule, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&&, WTF::String const&) (APIContentRuleListStore.cpp:386)
==32456== by 0x6844406: API::ContentRuleListStore::compileContentRuleList(WTF::String&&, WTF::String&&, WTF::CompletionHandler<void (WTF::RefPtr<API::ContentRuleList, WTF::RawPtrTraits<API::ContentRuleList>, WTF::DefaultRefDerefTraits<API::ContentRuleList> >, std::error_code)>)::{lambda()#1}::operator()() [clone .lto_priv.0] (APIContentRuleListStore.cpp:557)
==32456== by 0x9E4DF24: UnknownInlinedFun (Function.h:82)
==32456== by 0x9E4DF24: UnknownInlinedFun (RunLoop.cpp:133)
==32456== by 0x9E4DF24: UnknownInlinedFun (RunLoopGLib.cpp:80)
==32456== by 0x9E4DF24: WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) [clone .lto_priv.0] (RunLoopGLib.cpp:82)
==32456== by 0x9E63352: UnknownInlinedFun (RunLoopGLib.cpp:53)
==32456== by 0x9E63352: WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) [clone .lto_priv.0] (RunLoopGLib.cpp:56)
==32456== by 0x5496C3E: UnknownInlinedFun (gmain.c:3444)
==32456== by 0x5496C3E: g_main_context_dispatch (gmain.c:4162)
==32456== by 0x54EC4C7: g_main_context_iterate.constprop.0 (gmain.c:4238)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/100173501>