New issue
Advanced search Search tips

Issue 593913 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Leak inside content::StoragePartitionImplMap::Get

Project Member Reported by thestig@chromium.org, Mar 10 2016

Issue description

A separate CL caused a massive number of errors on the Valgrind bot here: https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%284%29/builds/37388 but hidden inside is https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%284%29/builds/37388/steps/memory%20test%3A%20unit/logs/672012F84C9C713F

Leak_DefinitelyLost
2,603 (72 direct, 2,531 indirect) bytes in 1 blocks are definitely lost in loss record 14,414 of 14,697
operator new(unsigned long) (m_replacemalloc/vg_replace_malloc.c:1140)
TestingProfile::CreateRequestContext(...) (chrome/test/base/testing_profile.cc:816)
ChromeContentBrowserClient::CreateRequestContext(...) (content/browser/storage_partition_impl_map.cc:465)
content::(anonymous namespace)::GetStoragePartitionFromConfig(...) (content/browser/browser_context.cc:208)
(anonymous namespace)::LogHostedAppUnlimitedStorageUsage(scoped_refptr<extensions::Extension const>, content::BrowserContext*) (chrome/browser/extensions/extension_special_storage_policy.cc:64)
ExtensionSpecialStoragePolicy::GrantRightsForExtension(extensions::Extension const*, content::BrowserContext*) (chrome/browser/extensions/extension_special_storage_policy.cc:190)
ExtensionService::NotifyExtensionLoaded(extensions::Extension const*) (chrome/browser/extensions/extension_service.cc:1065)
ExtensionService::AddExtension(extensions::Extension const*) (chrome/browser/extensions/extension_service.cc:1521)
ExtensionService::FinishInstallation(extensions::Extension const*) (chrome/browser/extensions/extension_service.cc:1938)
ExtensionService::AddNewOrUpdatedExtension(extensions::Extension const*, extensions::Extension::State, int, syncer::Ordinal<syncer::StringOrdinalTraits> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (chrome/browser/extensions/extension_service.cc:1867)
ExtensionService::OnExtensionInstalled(extensions::Extension const*, syncer::Ordinal<syncer::StringOrdinalTraits> const&, int) (chrome/browser/extensions/extension_service.cc:1816)
extensions::CrxInstaller::ReportSuccessFromUIThread() (chrome/browser/extensions/crx_installer.cc:829)
Suppression (error hash=#672012F84C9C713F#):
For more info on using suppressions see http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Suppressing-memory-reports
{
<insert_a_suppression_name_here>
Memcheck:Leak
fun:_Znw*
fun:_ZN14TestingProfile20CreateRequestContextEPSt3mapISs10linked_ptrIN3net20URLRequestJobFactory15ProtocolHandlerEESt4lessISsESaISt4pairIKSsS5_EEE12ScopedVectorINS2_21URLRequestInterceptorEE
fun:_ZN26ChromeContentBrowserClient20CreateRequestContextEPN7content14BrowserContextEPSt3mapISs10linked_ptrIN3net20URLRequestJobFactory15ProtocolHandlerEESt4lessISsESaISt4pairIKSsS8_EEE12ScopedVectorINS5_21URLRequestInterceptorEE
fun:_ZN7content23StoragePartitionImplMap3GetERKSsS2_b
fun:_ZN7content12_GLOBAL__N_129GetStoragePartitionFromConfigEPNS_14BrowserContextERKSsS4_b
fun:_ZN7content14BrowserContext26GetStoragePartitionForSiteEPS0_RK4GURL
fun:_ZN12_GLOBAL__N_133LogHostedAppUnlimitedStorageUsageE13scoped_refptrIKN10extensions9ExtensionEEPN7content14BrowserContextE
fun:_ZN29ExtensionSpecialStoragePolicy23GrantRightsForExtensionEPKN10extensions9ExtensionEPN7content14BrowserContextE
fun:_ZN16ExtensionService21NotifyExtensionLoadedEPKN10extensions9ExtensionE
fun:_ZN16ExtensionService12AddExtensionEPKN10extensions9ExtensionE
fun:_ZN16ExtensionService18FinishInstallationEPKN10extensions9ExtensionE
fun:_ZN16ExtensionService24AddNewOrUpdatedExtensionEPKN10extensions9ExtensionENS1_5StateEiRKN6syncer7OrdinalINS5_19StringOrdinalTraitsEEERKSs
fun:_ZN16ExtensionService20OnExtensionInstalledEPKN10extensions9ExtensionERKN6syncer7OrdinalINS4_19StringOrdinalTraitsEEEi
fun:_ZN10extensions12CrxInstaller25ReportSuccessFromUIThreadEv
}

I believe this is due to https://chromium.googlesource.com/chromium/src/+/a8bee310d105d8167d39a9d4d496ba49c823576d, please take a look. Same leak happens on Linux Valgrind too: https://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20Tests%20%28valgrind%29%285%29/builds/40584
 

Comment 2 by falken@chromium.org, Mar 11 2016

Status: Started (was: Untriaged)
Looking. (I indeed received memory bot failure emails yesterday but thought they were all https://codereview.chromium.org/1579063002)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/275701504450e46612ac5bc67c32a71838b6fdad

commit 275701504450e46612ac5bc67c32a71838b6fdad
Author: falken <falken@chromium.org>
Date: Mon Mar 14 04:45:47 2016

service worker: Fix valgrind errors on unit_tests

Followup to https://codereview.chromium.org/1771283002/
We must clear request_context_getter_ on the IO thread or the valgrind
bots cry. Also, call RemoveObserver in ShutdownOnIO in case OnContextIsShuttingDown
is never called, as is the case on content_shell.

BUG=587621, 593913 

Review URL: https://codereview.chromium.org/1779353003

Cr-Commit-Position: refs/heads/master@{#380924}

[modify] https://crrev.com/275701504450e46612ac5bc67c32a71838b6fdad/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/275701504450e46612ac5bc67c32a71838b6fdad/tools/valgrind/memcheck/suppressions.txt

Comment 4 by falken@chromium.org, Mar 15 2016

Status: Fixed (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 16 2016

Labels: merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6441fc81dd291d64e6be173e614fab176a1488b0

commit 6441fc81dd291d64e6be173e614fab176a1488b0
Author: Matt Falkenhagen <falken@chromium.org>
Date: Wed Mar 16 01:25:45 2016

[Merge to M50] service worker: Fix valgrind errors on unit_tests

Followup to https://codereview.chromium.org/1771283002/
We must clear request_context_getter_ on the IO thread or the valgrind
bots cry. Also, call RemoveObserver in ShutdownOnIO in case OnContextIsShuttingDown
is never called, as is the case on content_shell.

BUG=587621, 593913 

Review URL: https://codereview.chromium.org/1779353003

Cr-Commit-Position: refs/heads/master@{#380924}
(cherry picked from commit 275701504450e46612ac5bc67c32a71838b6fdad)

Review URL: https://codereview.chromium.org/1800303003 .

Cr-Commit-Position: refs/branch-heads/2661@{#254}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/6441fc81dd291d64e6be173e614fab176a1488b0/content/browser/service_worker/service_worker_context_wrapper.cc

Sign in to add a comment