RESOLVED DUPLICATE of bug 194811 194794
ASan LeakSanitizer reports leaks running jsc command shell
https://bugs.webkit.org/show_bug.cgi?id=194794
Summary ASan LeakSanitizer reports leaks running jsc command shell
bugswebkits01
Reported 2019-02-18 15:04:01 PST
Build info: ``` git checkout `git svn find-rev r241713` git rev-parse HEAD 845ea4d1da5646b8fc9581b72d92218dcf9a7c20 Linux test 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic ``` Build steps ``` Tools/Scripts/set-webkit-configuration --asan Tools/Scripts/build-webkit --jsc-only --debug ``` To reproduce, run jsc and press enter in the shell. Crash log ``` ./WebKitBuild/Debug/bin/jsc WARNING: ASAN interferes with JSC signal handlers; useWebAssemblyFastMemory will be disabled. >>> ================================================================= ==5251==ERROR: LeakSanitizer: detected memory leaks Direct leak of 96 byte(s) in 3 object(s) allocated from: #0 0x7fc3e031b458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x7fc3dd77f5d6 in __gnu_cxx::new_allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bed5d6) #2 0x7fc3dd77f388 in std::allocator_traits<std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bed388) #3 0x7fc3dd77e969 in std::__allocated_ptr<std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bec969) #4 0x7fc3dd77e2f6 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex> >(std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bec2f6) #5 0x7fc3dd77d6d3 in std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5beb6d3) #6 0x7fc3dd77bc85 in std::shared_ptr<std::mutex>::shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be9c85) #7 0x7fc3dd779ed2 in std::shared_ptr<std::mutex> std::allocate_shared<std::mutex, std::allocator<std::mutex>>(std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be7ed2) #8 0x7fc3dd777779 in std::shared_ptr<std::mutex> std::make_shared<std::mutex>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be5779) #9 0x7fc3dd776cc0 in std::_V2::condition_variable_any::condition_variable_any() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be4cc0) #10 0x7fc3dd76170f in bmalloc::Heap::Heap(bmalloc::HeapKind, std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bcf70f) #11 0x7fc3dd75908e in bmalloc::PerHeapKindBase<bmalloc::Heap>::PerHeapKindBase<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc708e) #12 0x7fc3dd758ca1 in bmalloc::PerHeapKind<bmalloc::Heap>::PerHeapKind<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6ca1) #13 0x7fc3dd75874b in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc674b) #14 0x7fc3dd7584ae in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::get() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc64ae) #15 0x7fc3dd757df8 in bmalloc::Cache::Cache(bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5df8) #16 0x7fc3dd758d25 in bmalloc::PerHeapKindBase<bmalloc::Cache>::PerHeapKindBase<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6d25) #17 0x7fc3dd75886f in bmalloc::PerHeapKind<bmalloc::Cache>::PerHeapKind<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc686f) #18 0x7fc3dd75856c in bmalloc::PerThread<bmalloc::PerHeapKind<bmalloc::Cache> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc656c) #19 0x7fc3dd757eb2 in bmalloc::Cache::allocateSlowCaseNullCache(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5eb2) #20 0x7fc3dd5dd52d in bmalloc::Cache::allocate(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4b52d) #21 0x7fc3dd5dda12 in bmalloc::api::malloc(unsigned long, bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4ba12) #22 0x7fc3dd5dc2c8 in WTF::fastMalloc(unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4a2c8) #23 0x7fc3dd6f397b in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned char>(unsigned int, unsigned char*&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b6197b) #24 0x7fc3dd6f3766 in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createInternal<unsigned char>(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b61766) #25 0x7fc3dd6e1b8a in WTF::StringImpl::create(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b4fb8a) #26 0x7fc3dd6e200c in WTF::StringImpl::create(unsigned char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b5000c) #27 0x7fc3dd717cd9 in WTF::String::String(char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b85cd9) #28 0x7fc3dd613190 in WTF::numberOfProcessorCores() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a81190) #29 0x7fc3dcf105ab in JSC::computeNumberOfWorkerThreads(int, int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x537e5ab) Direct leak of 32 byte(s) in 1 object(s) allocated from: #0 0x7fc3e031b458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x7fc3dd77f5d6 in __gnu_cxx::new_allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bed5d6) #2 0x7fc3dd77f388 in std::allocator_traits<std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bed388) #3 0x7fc3dd77e969 in std::__allocated_ptr<std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_deleter<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>, (__gnu_cxx::_Lock_policy)2> >&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bec969) #4 0x7fc3dd77e2f6 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex> >(std::mutex*, std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::_Deleter<std::allocator<std::mutex> >, std::allocator<std::mutex>) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bec2f6) #5 0x7fc3dd77d6d3 in std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5beb6d3) #6 0x7fc3dd77bc85 in std::shared_ptr<std::mutex>::shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be9c85) #7 0x7fc3dd779ed2 in std::shared_ptr<std::mutex> std::allocate_shared<std::mutex, std::allocator<std::mutex>>(std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be7ed2) #8 0x7fc3dd777779 in std::shared_ptr<std::mutex> std::make_shared<std::mutex>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be5779) #9 0x7fc3dd776cc0 in std::_V2::condition_variable_any::condition_variable_any() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be4cc0) #10 0x7fc3dd785858 in bmalloc::Scavenger::Scavenger(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bf3858) #11 0x7fc3dd77a557 in bmalloc::PerProcess<bmalloc::Scavenger>::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be8557) #12 0x7fc3dd7780a0 in bmalloc::PerProcess<bmalloc::Scavenger>::get() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be60a0) #13 0x7fc3dd761a55 in bmalloc::Heap::Heap(bmalloc::HeapKind, std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bcfa55) #14 0x7fc3dd75908e in bmalloc::PerHeapKindBase<bmalloc::Heap>::PerHeapKindBase<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc708e) #15 0x7fc3dd758ca1 in bmalloc::PerHeapKind<bmalloc::Heap>::PerHeapKind<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6ca1) #16 0x7fc3dd75874b in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc674b) #17 0x7fc3dd7584ae in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::get() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc64ae) #18 0x7fc3dd757df8 in bmalloc::Cache::Cache(bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5df8) #19 0x7fc3dd758d25 in bmalloc::PerHeapKindBase<bmalloc::Cache>::PerHeapKindBase<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6d25) #20 0x7fc3dd75886f in bmalloc::PerHeapKind<bmalloc::Cache>::PerHeapKind<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc686f) #21 0x7fc3dd75856c in bmalloc::PerThread<bmalloc::PerHeapKind<bmalloc::Cache> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc656c) #22 0x7fc3dd757eb2 in bmalloc::Cache::allocateSlowCaseNullCache(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5eb2) #23 0x7fc3dd5dd52d in bmalloc::Cache::allocate(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4b52d) #24 0x7fc3dd5dda12 in bmalloc::api::malloc(unsigned long, bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4ba12) #25 0x7fc3dd5dc2c8 in WTF::fastMalloc(unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4a2c8) #26 0x7fc3dd6f397b in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned char>(unsigned int, unsigned char*&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b6197b) #27 0x7fc3dd6f3766 in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createInternal<unsigned char>(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b61766) #28 0x7fc3dd6e1b8a in WTF::StringImpl::create(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b4fb8a) #29 0x7fc3dd6e200c in WTF::StringImpl::create(unsigned char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b5000c) Indirect leak of 120 byte(s) in 3 object(s) allocated from: #0 0x7fc3e031b458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x7fc3dd77f314 in __gnu_cxx::new_allocator<std::mutex>::allocate(unsigned long, void const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bed314) #2 0x7fc3dd77e78a in std::allocator_traits<std::allocator<std::mutex> >::allocate(std::allocator<std::mutex>&, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bec78a) #3 0x7fc3dd77dffe in std::__allocated_ptr<std::allocator<std::mutex> > std::__allocate_guarded<std::allocator<std::mutex> >(std::allocator<std::mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bebffe) #4 0x7fc3dd77d643 in std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5beb643) #5 0x7fc3dd77bc85 in std::shared_ptr<std::mutex>::shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be9c85) #6 0x7fc3dd779ed2 in std::shared_ptr<std::mutex> std::allocate_shared<std::mutex, std::allocator<std::mutex>>(std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be7ed2) #7 0x7fc3dd777779 in std::shared_ptr<std::mutex> std::make_shared<std::mutex>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be5779) #8 0x7fc3dd776cc0 in std::_V2::condition_variable_any::condition_variable_any() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be4cc0) #9 0x7fc3dd76170f in bmalloc::Heap::Heap(bmalloc::HeapKind, std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bcf70f) #10 0x7fc3dd75908e in bmalloc::PerHeapKindBase<bmalloc::Heap>::PerHeapKindBase<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc708e) #11 0x7fc3dd758ca1 in bmalloc::PerHeapKind<bmalloc::Heap>::PerHeapKind<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6ca1) #12 0x7fc3dd75874b in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc674b) #13 0x7fc3dd7584ae in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::get() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc64ae) #14 0x7fc3dd757df8 in bmalloc::Cache::Cache(bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5df8) #15 0x7fc3dd758d25 in bmalloc::PerHeapKindBase<bmalloc::Cache>::PerHeapKindBase<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6d25) #16 0x7fc3dd75886f in bmalloc::PerHeapKind<bmalloc::Cache>::PerHeapKind<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc686f) #17 0x7fc3dd75856c in bmalloc::PerThread<bmalloc::PerHeapKind<bmalloc::Cache> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc656c) #18 0x7fc3dd757eb2 in bmalloc::Cache::allocateSlowCaseNullCache(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5eb2) #19 0x7fc3dd5dd52d in bmalloc::Cache::allocate(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4b52d) #20 0x7fc3dd5dda12 in bmalloc::api::malloc(unsigned long, bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4ba12) #21 0x7fc3dd5dc2c8 in WTF::fastMalloc(unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4a2c8) #22 0x7fc3dd6f397b in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned char>(unsigned int, unsigned char*&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b6197b) #23 0x7fc3dd6f3766 in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createInternal<unsigned char>(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b61766) #24 0x7fc3dd6e1b8a in WTF::StringImpl::create(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b4fb8a) #25 0x7fc3dd6e200c in WTF::StringImpl::create(unsigned char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b5000c) #26 0x7fc3dd717cd9 in WTF::String::String(char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b85cd9) #27 0x7fc3dd613190 in WTF::numberOfProcessorCores() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a81190) #28 0x7fc3dcf105ab in JSC::computeNumberOfWorkerThreads(int, int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x537e5ab) #29 0x7fc3dcf17259 in JSC::Options::initialize()::{lambda()#1}::operator()() const (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5385259) Indirect leak of 40 byte(s) in 1 object(s) allocated from: #0 0x7fc3e031b458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x7fc3dd77f314 in __gnu_cxx::new_allocator<std::mutex>::allocate(unsigned long, void const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bed314) #2 0x7fc3dd77e78a in std::allocator_traits<std::allocator<std::mutex> >::allocate(std::allocator<std::mutex>&, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bec78a) #3 0x7fc3dd77dffe in std::__allocated_ptr<std::allocator<std::mutex> > std::__allocate_guarded<std::allocator<std::mutex> >(std::allocator<std::mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bebffe) #4 0x7fc3dd77d643 in std::__shared_ptr<std::mutex, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5beb643) #5 0x7fc3dd77bc85 in std::shared_ptr<std::mutex>::shared_ptr<std::allocator<std::mutex>>(std::_Sp_make_shared_tag, std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be9c85) #6 0x7fc3dd779ed2 in std::shared_ptr<std::mutex> std::allocate_shared<std::mutex, std::allocator<std::mutex>>(std::allocator<std::mutex> const&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be7ed2) #7 0x7fc3dd777779 in std::shared_ptr<std::mutex> std::make_shared<std::mutex>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be5779) #8 0x7fc3dd776cc0 in std::_V2::condition_variable_any::condition_variable_any() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be4cc0) #9 0x7fc3dd785858 in bmalloc::Scavenger::Scavenger(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bf3858) #10 0x7fc3dd77a557 in bmalloc::PerProcess<bmalloc::Scavenger>::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be8557) #11 0x7fc3dd7780a0 in bmalloc::PerProcess<bmalloc::Scavenger>::get() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5be60a0) #12 0x7fc3dd761a55 in bmalloc::Heap::Heap(bmalloc::HeapKind, std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bcfa55) #13 0x7fc3dd75908e in bmalloc::PerHeapKindBase<bmalloc::Heap>::PerHeapKindBase<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc708e) #14 0x7fc3dd758ca1 in bmalloc::PerHeapKind<bmalloc::Heap>::PerHeapKind<std::lock_guard<bmalloc::Mutex>&>(std::lock_guard<bmalloc::Mutex>&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6ca1) #15 0x7fc3dd75874b in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc674b) #16 0x7fc3dd7584ae in bmalloc::PerProcess<bmalloc::PerHeapKind<bmalloc::Heap> >::get() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc64ae) #17 0x7fc3dd757df8 in bmalloc::Cache::Cache(bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5df8) #18 0x7fc3dd758d25 in bmalloc::PerHeapKindBase<bmalloc::Cache>::PerHeapKindBase<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc6d25) #19 0x7fc3dd75886f in bmalloc::PerHeapKind<bmalloc::Cache>::PerHeapKind<>() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc686f) #20 0x7fc3dd75856c in bmalloc::PerThread<bmalloc::PerHeapKind<bmalloc::Cache> >::getSlowCase() (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc656c) #21 0x7fc3dd757eb2 in bmalloc::Cache::allocateSlowCaseNullCache(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5bc5eb2) #22 0x7fc3dd5dd52d in bmalloc::Cache::allocate(bmalloc::HeapKind, unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4b52d) #23 0x7fc3dd5dda12 in bmalloc::api::malloc(unsigned long, bmalloc::HeapKind) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4ba12) #24 0x7fc3dd5dc2c8 in WTF::fastMalloc(unsigned long) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5a4a2c8) #25 0x7fc3dd6f397b in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createUninitializedInternalNonEmpty<unsigned char>(unsigned int, unsigned char*&) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b6197b) #26 0x7fc3dd6f3766 in WTF::Ref<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> > WTF::StringImpl::createInternal<unsigned char>(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b61766) #27 0x7fc3dd6e1b8a in WTF::StringImpl::create(unsigned char const*, unsigned int) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b4fb8a) #28 0x7fc3dd6e200c in WTF::StringImpl::create(unsigned char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b5000c) #29 0x7fc3dd717cd9 in WTF::String::String(char const*) (/home/test/webkit/WebKitBuild/Debug/lib/libJavaScriptCore.so.1+0x5b85cd9) SUMMARY: AddressSanitizer: 288 byte(s) leaked in 8 allocation(s). ```
Attachments
David Kilzer (:ddkilzer)
Comment 1 2019-02-19 19:01:22 PST
I think some stacks are being truncated at 30 stack frames, which makes them not very useful. Can you retest after Bug 194811 in r241789? That will likely eliminate much of the bmalloc stack frames in the leaks traces.
Radar WebKit Bug Importer
Comment 2 2019-02-19 19:05:46 PST
bugswebkits01
Comment 3 2019-02-20 15:51:01 PST
Yes, Bug 194811 in r241789 fixes this issue for me.
David Kilzer (:ddkilzer)
Comment 4 2019-03-20 12:42:31 PDT
(In reply to bugswebkits01 from comment #3) > Yes, Bug 194811 in r241789 fixes this issue for me. Duping to Bug 194811. *** This bug has been marked as a duplicate of bug 194811 ***
Note You need to log in before you can comment on or make changes to this bug.