NEW 148757
[WPE][GTK] Several memory leaks in WebKit::IconDatabase
https://bugs.webkit.org/show_bug.cgi?id=148757
Summary [WPE][GTK] Several memory leaks in WebKit::IconDatabase
Michael Catanzaro
Reported 2015-09-03 16:32:37 PDT
Reported by asan: Direct leak of 5424 byte(s) in 226 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d65496868 in WebCore::PageURLRecord::operator new(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2e868) #7 0x7f1d6548e4d8 in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b264d8) #8 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #9 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #10 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #11 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #12 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #13 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #14 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #15 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Direct leak of 72 byte(s) in 3 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d65496868 in WebCore::PageURLRecord::operator new(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2e868) #7 0x7f1d654885b6 in WebCore::IconDatabase::performRetainIconForPageURL(WTF::String const&, int) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b205b6) #8 0x7f1d65486fcb in WebCore::IconDatabase::performPendingRetainAndReleaseOperations() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1efcb) #9 0x7f1d6548d7ba in WebCore::IconDatabase::syncThreadMainLoop() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b257ba) #10 0x7f1d6548d40b in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2540b) #11 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #12 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #13 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #14 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #15 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #16 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #17 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Direct leak of 32 byte(s) in 1 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d5d63824e in WTF::fastZeroedMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d5224e) #7 0x7f1d5d649b1b in WTF::(anonymous namespace)::Hashtable::create(unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d63b1b) #8 0x7f1d5d648aee in WTF::(anonymous namespace)::ensureHashtable() (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d62aee) #9 0x7f1d5d648697 in WTF::(anonymous namespace)::lockHashtable() (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d62697) #10 0x7f1d5d64cbcb in WTF::(anonymous namespace)::ensureHashtableSize(unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d66bcb) #11 0x7f1d5d64caab in WTF::(anonymous namespace)::ThreadData::ThreadData() (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d66aab) #12 0x7f1d5d64c8be in WTF::ThreadSpecific<WTF::(anonymous namespace)::ThreadData>::operator WTF::(anonymous namespace)::ThreadData*() (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d668be) #13 0x7f1d5d647584 in WTF::(anonymous namespace)::myThreadData() (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d61584) #14 0x7f1d5d646f9f in WTF::ParkingLot::parkConditionally(void const*, std::function<bool ()>, std::function<void ()>, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d60f9f) #15 0x7f1d646b304f in bool WTF::ConditionBase::waitUntil<WTF::Lock>(WTF::Lock&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x5d4b04f) #16 0x7f1d646b2eaf in void WTF::ConditionBase::wait<WTF::Lock>(WTF::Lock&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x5d4aeaf) #17 0x7f1d6548d981 in WebCore::IconDatabase::syncThreadMainLoop() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b25981) #18 0x7f1d6548d40b in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2540b) #19 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #20 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #21 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #22 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #23 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #24 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #25 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 33776 byte(s) in 226 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d5d68a5ed in WTF::Ref<WTF::StringImpl> WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned short>(unsigned int, unsigned short*&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1da45ed) #7 0x7f1d5d689ca2 in WTF::Ref<WTF::StringImpl> WTF::StringImpl::createInternal<unsigned short>(unsigned short const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1da3ca2) #8 0x7f1d5d67c16d in WTF::StringImpl::create(unsigned short const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d9616d) #9 0x7f1d5d694a0e in WTF::String::String(unsigned short const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1daea0e) #10 0x7f1d6588e62a in WebCore::SQLiteStatement::getColumnText(int) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6f2662a) #11 0x7f1d6548e44a in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2644a) #12 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #13 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #14 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #15 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #16 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #17 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #18 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #19 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 4352 byte(s) in 11 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d5d63824e in WTF::fastZeroedMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d5224e) #7 0x7f1d63cbd0de in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::allocateTable(unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x53550de) #8 0x7f1d63ea5410 in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::rehash(unsigned int, WTF::String*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553d410) #9 0x7f1d63ea506b in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::expand(WTF::String*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553d06b) #10 0x7f1d63ea4eda in WTF::HashTableAddResult<WTF::HashTableIterator<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > > WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::add<WTF::IdentityHashTranslator<WTF::StringHash>, WTF::String const&, WTF::String const&>(WTF::String const&, WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553ceda) #11 0x7f1d63ea4c1b in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::add(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553cc1b) #12 0x7f1d63ea4b3d in WTF::HashSet<WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String> >::add(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553cb3d) #13 0x7f1d654adae2 in WebCore::PageURLRecord::setIconRecord(WTF::PassRefPtr<WebCore::IconRecord>) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b45ae2) #14 0x7f1d6548e5cd in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b265cd) #15 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #16 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #17 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #18 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #19 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #20 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #21 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #22 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 4224 byte(s) in 38 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d5d68a5ed in WTF::Ref<WTF::StringImpl> WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned short>(unsigned int, unsigned short*&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1da45ed) #7 0x7f1d5d689ca2 in WTF::Ref<WTF::StringImpl> WTF::StringImpl::createInternal<unsigned short>(unsigned short const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1da3ca2) #8 0x7f1d5d67c16d in WTF::StringImpl::create(unsigned short const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d9616d) #9 0x7f1d5d694a0e in WTF::String::String(unsigned short const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1daea0e) #10 0x7f1d6588e62a in WebCore::SQLiteStatement::getColumnText(int) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6f2662a) #11 0x7f1d6548e45f in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2645f) #12 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #13 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #14 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #15 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #16 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #17 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #18 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #19 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 3040 byte(s) in 38 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d654ac618 in WTF::RefCounted<WebCore::IconRecord>::operator new(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b44618) #7 0x7f1d65496779 in WebCore::IconRecord::create(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2e779) #8 0x7f1d6548a2cd in WebCore::IconDatabase::getOrCreateIconRecord(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b222cd) #9 0x7f1d6548e5ba in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b265ba) #10 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #11 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #12 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #13 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #14 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #15 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #16 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #17 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 1728 byte(s) in 27 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d5d63824e in WTF::fastZeroedMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d5224e) #7 0x7f1d63cbd0de in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::allocateTable(unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x53550de) #8 0x7f1d63ea5410 in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::rehash(unsigned int, WTF::String*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553d410) #9 0x7f1d63ea506b in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::expand(WTF::String*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553d06b) #10 0x7f1d63ea4d06 in WTF::HashTableAddResult<WTF::HashTableIterator<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > > WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::add<WTF::IdentityHashTranslator<WTF::StringHash>, WTF::String const&, WTF::String const&>(WTF::String const&, WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553cd06) #11 0x7f1d63ea4c1b in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::add(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553cc1b) #12 0x7f1d63ea4b3d in WTF::HashSet<WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String> >::add(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x553cb3d) #13 0x7f1d654adae2 in WebCore::PageURLRecord::setIconRecord(WTF::PassRefPtr<WebCore::IconRecord>) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b45ae2) #14 0x7f1d6548e5cd in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b265cd) #15 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #16 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #17 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #18 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #19 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #20 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #21 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #22 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 199 byte(s) in 3 object(s) allocated from: #0 0x7f1d6e115a0a in malloc (/lib64/libasan.so.2+0x98a0a) #1 0x7f1d5d6b9285 in bmalloc::Allocator::allocateSlowCase(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dd3285) #2 0x7f1d5d6397ac in bmalloc::Allocator::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d537ac) #3 0x7f1d5d6396e5 in bmalloc::Cache::allocate(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d536e5) #4 0x7f1d5d638928 in bmalloc::api::malloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52928) #5 0x7f1d5d638278 in WTF::fastMalloc(unsigned long) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d52278) #6 0x7f1d5d689f1a in WTF::Ref<WTF::StringImpl> WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned char>(unsigned int, unsigned char*&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1da3f1a) #7 0x7f1d5d689e22 in WTF::Ref<WTF::StringImpl> WTF::StringImpl::createInternal<unsigned char>(unsigned char const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1da3e22) #8 0x7f1d5d67c18d in WTF::StringImpl::create(unsigned char const*, unsigned int) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d9618d) #9 0x7f1d5ca5bcfd in WTF::StringImpl::isolatedCopy() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1175cfd) #10 0x7f1d5d698d12 in WTF::String::isolatedCopy() const & (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1db2d12) #11 0x7f1d65488597 in WebCore::IconDatabase::performRetainIconForPageURL(WTF::String const&, int) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b20597) #12 0x7f1d65486fcb in WebCore::IconDatabase::performPendingRetainAndReleaseOperations() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1efcb) #13 0x7f1d6548d7ba in WebCore::IconDatabase::syncThreadMainLoop() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b257ba) #14 0x7f1d6548d40b in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2540b) #15 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #16 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #17 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #18 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #19 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #20 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #21 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554) Indirect leak of 38 byte(s) in 38 object(s) allocated from: #0 0x7f1d6e116912 in operator new(unsigned long) (/lib64/libasan.so.2+0x99912) #1 0x7f1d63cbcfd3 in std::_Unique_if<WTF::Lock>::_Single_object std::make_unique<WTF::Lock>() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x5354fd3) #2 0x7f1d63cc671d in WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::HashTable() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e71d) #3 0x7f1d63cc66f8 in WTF::HashSet<WTF::String, WTF::StringHash, WTF::HashTraits<WTF::String> >::HashSet() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e6f8) #4 0x7f1d654ad1f5 in WebCore::IconRecord::IconRecord(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b451f5) #5 0x7f1d65496787 in WebCore::IconRecord::create(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b2e787) #6 0x7f1d6548a2cd in WebCore::IconDatabase::getOrCreateIconRecord(WTF::String const&) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b222cd) #7 0x7f1d6548e5ba in WebCore::IconDatabase::performURLImport() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b265ba) #8 0x7f1d6548d3ac in WebCore::IconDatabase::iconDatabaseSyncThread() (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b253ac) #9 0x7f1d65485e68 in WebCore::IconDatabase::iconDatabaseSyncThreadStart(void*) (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x6b1de68) #10 0x7f1d5d65345f in WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d45f) #11 0x7f1d5d653330 in std::_Function_handler<void (), WTF::createThread(void (*)(void*), void*, char const*)::$_0>::_M_invoke(std::_Any_data const&) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6d330) #12 0x7f1d63cc67bb in std::function<void ()>::operator()() const (/home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37+0x535e7bb) #13 0x7f1d5d652faf in WTF::threadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1d6cfaf) #14 0x7f1d5d6a3b94 in WTF::wtfThreadEntryPoint(void*) (/home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18+0x1dbdb94) #15 0x7f1d577c0554 in start_thread (/lib64/libpthread.so.0+0x7554)
Attachments
Michael Catanzaro
Comment 1 2018-06-30 13:07:23 PDT
Still valid. I've tried to debug this several times during the past three years since I reported this, but got nowhere. It would probably be best to simply rewrite the IconDatabase class from scratch.
Note You need to log in before you can comment on or make changes to this bug.