diff options
author | oshima <oshima@chromium.org> | 2016-01-21 15:52:21 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-21 23:53:56 +0000 |
commit | 94bef8d8bf199e23102783a55a15c9f10bc88631 (patch) | |
tree | a819b7e93665c1d196cc27ab507ef875786a11b5 /base/BUILD.gn | |
parent | 96eeb2b4f996606caa94f5e4baee43cc6d22b1c7 (diff) | |
download | chromium_src-94bef8d8bf199e23102783a55a15c9f10bc88631.zip chromium_src-94bef8d8bf199e23102783a55a15c9f10bc88631.tar.gz chromium_src-94bef8d8bf199e23102783a55a15c9f10bc88631.tar.bz2 |
Revert of [tracing] Dump child processes' memory metrics in browser (patchset #1 id:1 of https://codereview.chromium.org/1591553002/ )
Reason for revert:
TracingBrowserTest.TestMemoryInfra is failing on DrMemory bot with the following
error:
UNADDRESSABLE ACCESS: reading 0x00000048-0x0000004c 4 byte(s)
# 0 base.dll!base::Thread::task_runner
[base\threading\thread.h:168]
# 1 base.dll!base::trace_event::MemoryDumpManager::CreateProcessDump
[base\trace_event\memory_dump_manager.cc:313]
# 2 content.dll!content::TracingControllerImpl::RequestGlobalMemoryDump
[content\browser\tracing\tracing_controller_impl.cc:1039]
# 3 content.dll!base::internal::Invoker<>::Run
[base\bind_internal.h:350]
bug: crbug.com/580295
Original issue's description:
> Reland of [tracing] Dump child processes' memory metrics in browser (patchset #1 id:1 of https://codereview.chromium.org/1586893003/ )
>
> The failure was due to flakiness fixed by crrev.com/1606983002.
> See crbug.com/578128.
>
> Original issue's description:
> > Revert of [tracing] Dump child processes' memory metrics in browser (patchset #15 id:400001 of https://codereview.chromium.org/1417003003/ )
> >
> > Reason for revert:
> > This is suspected by Findit to cause failure in TracingBrowserTest.TestMemoryInfra under Mac ASan 64 Tests (1).
> >
> > Original issue's description:
> > > [tracing] Dump child processes' memory metrics in browser
> > >
> > > The sandbox in linux prevents the process from reading the process
> > > metrics file. To work around this issue, the browser process will now
> > > dump statistics of the child processes too. This requires the
> > > composable dumps support in trace viewer and telemetry.
> > >
> > > This CL makes following changes.
> > > 1. Move the process totals and memory maps dump provider into a single
> > > header as process_metrics_dump_provider in components/tracing. This is
> > > because it is not necessary to have this in base and now the provider
> > > knows/manages for different processes. Also the dump method are made to
> > > handle error better, since process can vanish while dumping.
> > >
> > > 2. Make the dump provider non-singleton and have a register / unregister
> > > that manages the lifetime of the dump providers.
> > >
> > > 3. The dump providers unregister using the new
> > > UnregisterAndDeleteDumpProviderAsync api added by crrev.com/1430073002.
> > >
> > > 4. On linux the browser process dumps metrics for all processes and on
> > > android the child processes can dump since seccomp sandbox is not
> > > enabled in android yet.
> > >
> > > 5. The proc/status file is human readable stats and is not guaranteed to
> > > have a field that is asked for. So, the NOTREACHED is removed in
> > > ReadProcStatusAndGetFieldAsSizeT.
> > >
> > > 6. Since we introduce other process dumps from browser process there
> > > could be races while unregistering and dumping. To test this, the
> > > browser test is updated.
> > >
> > > BUG=461788
> > >
> > > Committed: https://crrev.com/4d77d76a42425282b1a3c5b7309db9b98e777f60
> > > Cr-Commit-Position: refs/heads/master@{#369482}
> >
> > TBR=primiano@chromium.org,thakis@chromium.org,simonhatch@chromium.org,sievers@chromium.org,ssid@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=461788
> >
> > Committed: https://crrev.com/93aa967cfcb3e933000f169b9a4f7ac84dbd96da
> > Cr-Commit-Position: refs/heads/master@{#369535}
>
> TBR=primiano@chromium.org,thakis@chromium.org,simonhatch@chromium.org,sievers@chromium.org,huangs@chromium.org
> BUG=461788
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/df4156349708e21844209290a2d3638b550e18b2
> Cr-Commit-Position: refs/heads/master@{#370195}
TBR=primiano@chromium.org,thakis@chromium.org,simonhatch@chromium.org,sievers@chromium.org,huangs@chromium.org,ssid@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=461788
Review URL: https://codereview.chromium.org/1617263002
Cr-Commit-Position: refs/heads/master@{#370836}
Diffstat (limited to 'base/BUILD.gn')
-rw-r--r-- | base/BUILD.gn | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/base/BUILD.gn b/base/BUILD.gn index 3f8380c..5e94b37 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn @@ -849,8 +849,11 @@ component("base") { "trace_event/process_memory_dump.h", "trace_event/process_memory_maps.cc", "trace_event/process_memory_maps.h", + "trace_event/process_memory_maps_dump_provider.h", "trace_event/process_memory_totals.cc", "trace_event/process_memory_totals.h", + "trace_event/process_memory_totals_dump_provider.cc", + "trace_event/process_memory_totals_dump_provider.h", "trace_event/trace_buffer.cc", "trace_event/trace_buffer.h", "trace_event/trace_config.cc", @@ -991,6 +994,7 @@ component("base") { "sys_info_linux.cc", "trace_event/malloc_dump_provider.cc", "trace_event/malloc_dump_provider.h", + "trace_event/process_memory_maps_dump_provider.cc", ] set_sources_assignment_filter(sources_assignment_filter) @@ -1057,6 +1061,7 @@ component("base") { "sync_socket_posix.cc", "sys_info.cc", "sys_info_posix.cc", + "trace_event/process_memory_totals_dump_provider.cc", "trace_event/trace_event_system_stats_monitor.cc", ] @@ -1185,6 +1190,7 @@ component("base") { sources += [ "trace_event/malloc_dump_provider.cc", "trace_event/malloc_dump_provider.h", + "trace_event/process_memory_maps_dump_provider.cc", ] if (is_asan || is_lsan || is_msan || is_tsan) { @@ -1822,6 +1828,7 @@ test("base_unittests") { "trace_event/memory_allocator_dump_unittest.cc", "trace_event/memory_dump_manager_unittest.cc", "trace_event/process_memory_dump_unittest.cc", + "trace_event/process_memory_totals_dump_provider_unittest.cc", "trace_event/trace_config_memory_test_util.h", "trace_event/trace_config_unittest.cc", "trace_event/trace_event_argument_unittest.cc", @@ -1938,6 +1945,10 @@ test("base_unittests") { } } + if (is_linux || is_android) { + sources += [ "trace_event/process_memory_maps_dump_provider_unittest.cc" ] + } + if (!is_linux || use_ozone) { sources -= [ "message_loop/message_pump_glib_unittest.cc" ] } |