Currently, coordinating memory dumps happens inside the tracing controller. It should be factored out before we make tracing a service.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b1fa91ef0d3812d9c25dee8d7845d4341747b71c commit b1fa91ef0d3812d9c25dee8d7845d4341747b71c Author: chiniforooshan <chiniforooshan@chromium.org> Date: Wed Jan 18 16:56:59 2017 memory-infra: Introduce mojo interfaces and service stubs This is in preparation for the memory-infra refactoring (see design docs: http://bit.ly/tracing-unbundling, https://docs.google.com/document/d/1Mz64egjuZ4WsYw9AKKWdTvl0Il706EWdCy24V87R_F4) A prototype of the end product: https://codereview.chromium.org/2571823002 BUG= 679830 Review-Url: https://codereview.chromium.org/2621143002 Cr-Commit-Position: refs/heads/master@{#444398} [modify] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/base/trace_event/memory_dump_request_args.h [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/OWNERS [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/cpp/BUILD.gn [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/cpp/memory_instrumentation.typemap [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/cpp/memory_instrumentation_traits.cc [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/cpp/memory_instrumentation_traits.h [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/cpp/typemaps.gni [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/interfaces/BUILD.gn [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/interfaces/OWNERS [add] https://crrev.com/b1fa91ef0d3812d9c25dee8d7845d4341747b71c/services/memory_instrumentation/public/interfaces/memory_instrumentation.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7ca40bc859221e9ce128da52ca664d35d2781a26 commit 7ca40bc859221e9ce128da52ca664d35d2781a26 Author: chiniforooshan <chiniforooshan@chromium.org> Date: Thu Feb 09 19:31:34 2017 memory-infra: The client library This implements MemoryDumpManagerDelegate (MDMD). MDMD is just a bridge between MemoryDumpManager and the Coordinator service, hiding mojo details from MemoryDumpManager. The next CL will put everything together and delete the old code. A prototype of the end product: https://codereview.chromium.org/2571823002 BUG= 679830 Review-Url: https://codereview.chromium.org/2681003006 Cr-Commit-Position: refs/heads/master@{#449374} [modify] https://crrev.com/7ca40bc859221e9ce128da52ca664d35d2781a26/services/memory_instrumentation/public/cpp/BUILD.gn [add] https://crrev.com/7ca40bc859221e9ce128da52ca664d35d2781a26/services/memory_instrumentation/public/cpp/memory_dump_manager_delegate_impl.cc [add] https://crrev.com/7ca40bc859221e9ce128da52ca664d35d2781a26/services/memory_instrumentation/public/cpp/memory_dump_manager_delegate_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2 commit e7bee2f02da7fb7afbdb387197ad9461d8d2eba2 Author: chiniforooshan <chiniforooshan@chromium.org> Date: Mon Feb 27 17:34:39 2017 memory-infra: Finish moving memory_infra from TracingController This finishes moving memory instrumentation code from TracingController to its own location in //services/resource_coordinator. BUG= 679830 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2694083005 Cr-Commit-Position: refs/heads/master@{#453243} [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/chrome/browser/BUILD.gn [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/chrome/browser/DEPS [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/components/BUILD.gn [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/components/tracing/BUILD.gn [delete] https://crrev.com/a42cfdc27822fb57673106a4b7a953d6c8cda233/components/tracing/child/child_memory_dump_manager_delegate_impl.cc [delete] https://crrev.com/a42cfdc27822fb57673106a4b7a953d6c8cda233/components/tracing/child/child_memory_dump_manager_delegate_impl.h [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/components/tracing/child/child_trace_message_filter.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/components/tracing/child/child_trace_message_filter.h [delete] https://crrev.com/a42cfdc27822fb57673106a4b7a953d6c8cda233/components/tracing/child/child_trace_message_filter_browsertest.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/browser/browser_main.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/browser/tracing/memory_tracing_browsertest.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/browser/tracing/trace_message_filter.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/browser/tracing/trace_message_filter.h [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/browser/tracing/tracing_controller_impl.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/browser/tracing/tracing_controller_impl.h [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/child/BUILD.gn [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/child/DEPS [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/child/child_thread_impl.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/content/test/BUILD.gn [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/memory/coordinator/coordinator_impl.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/memory/coordinator/coordinator_impl.h [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/memory/coordinator/coordinator_impl_unittest.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.cc [modify] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h [add] https://crrev.com/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/74b034f002cf4f4f5456ed349d57672635e8c46b commit 74b034f002cf4f4f5456ed349d57672635e8c46b Author: primiano <primiano@chromium.org> Date: Wed Mar 01 12:31:47 2017 Revert of memory-infra: Finish moving memory_infra from TracingController (patchset #25 id:470001 of https://codereview.chromium.org/2694083005/ ) Reason for revert: Unfortunately this broke lot of memory-infra metrics and caused flakiness in various bot. Have to revert because this is causing problems to the sheriff rotation. More details: crbug.com/697384 : metrics broken crbug.com/697062 : memory dumps failing on webview Original issue's description: > memory-infra: Finish moving memory_infra from TracingController > > This finishes moving memory instrumentation code from TracingController > to its own location in //services/resource_coordinator. > > BUG= 679830 > CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel > > Review-Url: https://codereview.chromium.org/2694083005 > Cr-Commit-Position: refs/heads/master@{#453243} > Committed: https://chromium.googlesource.com/chromium/src/+/e7bee2f02da7fb7afbdb387197ad9461d8d2eba2 TBR=hjd@chromium.org,oysteine@chromium.org,ssid@chromium.org,jam@chromium.org,kenrb@chromium.org,chiniforooshan@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 679830 , 697384 Review-Url: https://codereview.chromium.org/2724793002 Cr-Commit-Position: refs/heads/master@{#453919} [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/chrome/browser/BUILD.gn [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/chrome/browser/DEPS [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/BUILD.gn [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/tracing/BUILD.gn [add] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/tracing/child/child_memory_dump_manager_delegate_impl.cc [add] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/tracing/child/child_memory_dump_manager_delegate_impl.h [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/tracing/child/child_trace_message_filter.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/tracing/child/child_trace_message_filter.h [add] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/components/tracing/child/child_trace_message_filter_browsertest.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/browser/browser_main.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/browser/tracing/memory_tracing_browsertest.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/browser/tracing/trace_message_filter.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/browser/tracing/trace_message_filter.h [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/browser/tracing/tracing_controller_impl.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/browser/tracing/tracing_controller_impl.h [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/child/BUILD.gn [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/child/DEPS [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/child/child_thread_impl.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/content/test/BUILD.gn [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/services/resource_coordinator/memory/coordinator/coordinator_impl.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/services/resource_coordinator/memory/coordinator/coordinator_impl.h [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/services/resource_coordinator/memory/coordinator/coordinator_impl_unittest.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.cc [modify] https://crrev.com/74b034f002cf4f4f5456ed349d57672635e8c46b/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h [delete] https://crrev.com/4db6eb187710a109f98606588f4fa53b501e15ba/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0a3a302b6df6458b21b3ce0951c5251413cadc48 commit 0a3a302b6df6458b21b3ce0951c5251413cadc48 Author: chiniforooshan <chiniforooshan@chromium.org> Date: Thu Mar 09 21:20:09 2017 memory-infra: Finish moving to Mojo (2nd attempt) This was originally landed in https://codereview.chromium.org/2694083005. But, it broke webview perf tests, and so, it was reverted. It turned out that in some scenarios, the memory dump manager is not initialized early enough (in the browser process). So, now, I initialize it as soon as the UI thread is created. Modifications since the original CL are: - The Coordinator service is created when the UI thread is created (browser_main_loop.cc). - When Coordinator is created, it initializes memory dump manager's TPID (memory_dump_manager_delegate_impl.cc). - To avoid dependency from //services/resource_coordinator to //content the definition of the service TPID is moved from child_process_host.h to constants.mojom. I tested the CL by building for Android and running the following with an android device attached: run_benchmark memory.top_10_mobile --browser=android-webview --also-run-disabled-tests In the original reverted CL, the above command results in 'Unable to obtain memory dump' exceptions. With this CL the test runs successfully. An example interaction diagram (to see the large image, click on it): https://docs.google.com/document/d/1Mz64egjuZ4WsYw9AKKWdTvl0Il706EWdCy24V87R_F4/edit#heading=h.1ku5wcoxqifr BUG= 679830 , 697773, 697384 , 697062 Review-Url: https://codereview.chromium.org/2734193002 Cr-Commit-Position: refs/heads/master@{#455866} [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/chrome/browser/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/chrome/browser/DEPS [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/components/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/components/tracing/BUILD.gn [delete] https://crrev.com/25402621d78f7cad11d719a55f6e68ca81678108/components/tracing/child/child_memory_dump_manager_delegate_impl.cc [delete] https://crrev.com/25402621d78f7cad11d719a55f6e68ca81678108/components/tracing/child/child_memory_dump_manager_delegate_impl.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/components/tracing/child/child_trace_message_filter.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/components/tracing/child/child_trace_message_filter.h [delete] https://crrev.com/25402621d78f7cad11d719a55f6e68ca81678108/components/tracing/child/child_trace_message_filter_browsertest.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/browser_main.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/browser_main_loop.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/gpu/browser_gpu_channel_host_factory.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/tracing/trace_message_filter.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/tracing/trace_message_filter.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/tracing/tracing_controller_impl.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/browser/tracing/tracing_controller_impl.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/child/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/child/DEPS [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/child/child_thread_impl.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/common/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/common/DEPS [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/common/child_process_host_impl.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/common/child_process_host_impl.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/public/common/child_process_host.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/content/test/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/memory/coordinator/coordinator_impl.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/memory/coordinator/coordinator_impl.h [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/memory/coordinator/coordinator_impl_unittest.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h [add] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl_unittest.cc [modify] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/public/interfaces/BUILD.gn [add] https://crrev.com/0a3a302b6df6458b21b3ce0951c5251413cadc48/services/resource_coordinator/public/interfaces/memory/constants.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/034bdcd0c7f1a735dd7f03813a38d1a498c80535 commit 034bdcd0c7f1a735dd7f03813a38d1a498c80535 Author: msw <msw@chromium.org> Date: Thu Mar 09 23:35:07 2017 Revert of memory-infra: Finish moving to Mojo (2nd attempt) (patchset #8 id:140001 of https://codereview.chromium.org/2734193002/ ) Reason for revert: Prospective revert for nacl_integration crash starting on this build: https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%281%29/builds/61497 [13142:13142:0309/150217.391584:FATAL:memory_dump_manager.cc(220)] Check failed: !delegate_. #0 0x7ff7db583b5b base::debug::StackTrace::StackTrace() #1 0x7ff7db5821ec base::debug::StackTrace::StackTrace() #2 0x7ff7db5f06df logging::LogMessage::~LogMessage() #3 0x7ff7db7ac18e base::trace_event::MemoryDumpManager::Initialize() #4 0x7ff7dd27a73a memory_instrumentation::MemoryDumpManagerDelegateImpl::MemoryDumpManagerDelegateImpl() #5 0x7ff7dd27a293 memory_instrumentation::MemoryDumpManagerDelegateImpl::Create() #6 0x7ff7dd26e723 memory_instrumentation::CoordinatorImpl::CoordinatorImpl() #7 0x7ff7dd26e4da memory_instrumentation::CoordinatorImpl::GetInstance() #8 0x7ff7dd7dbdc0 ChromeContentBrowserClient::ExposeInterfacesToRenderer() #9 0x7ff7d54717e8 content::RenderProcessHostImpl::RegisterMojoInterfaces() #10 0x7ff7d546eb2f content::RenderProcessHostImpl::Init() #11 0x7ff7d4f41faa content::RenderFrameHostManager::InitRenderView() #12 0x7ff7d4f3933d content::RenderFrameHostManager::ReinitializeRenderFrame() #13 0x7ff7d4f37e53 content::RenderFrameHostManager::Navigate() #14 0x7ff7d4ee1ad3 content::NavigatorImpl::NavigateToEntry() #15 0x7ff7d4ee2f68 content::NavigatorImpl::NavigateToPendingEntry() #16 0x7ff7d4eb487a content::NavigationControllerImpl::NavigateToPendingEntryInternal() #17 0x7ff7d4eacf17 content::NavigationControllerImpl::NavigateToPendingEntry() #18 0x7ff7d4ead365 content::NavigationControllerImpl::LoadEntry() #19 0x7ff7d4eaef5c content::NavigationControllerImpl::LoadURLWithParams() #20 0x7ff7e00a88f4 (anonymous namespace)::LoadURLInContents() #21 0x7ff7e00a75aa chrome::Navigate() #22 0x7ff7e00dcac7 StartupBrowserCreatorImpl::OpenTabsInBrowser() #23 0x7ff7e00dd687 StartupBrowserCreatorImpl::RestoreOrCreateBrowser() #24 0x7ff7e00dc04d StartupBrowserCreatorImpl::ProcessLaunchUrlsUsingConsolidatedFlow() #25 0x7ff7e00db4c5 StartupBrowserCreatorImpl::Launch() #26 0x7ff7e00d5662 StartupBrowserCreator::LaunchBrowser() #27 0x7ff7e00d4b57 StartupBrowserCreator::ProcessCmdLineImpl() #28 0x7ff7e00d3ef2 StartupBrowserCreator::Start() #29 0x7ff7de08f54c ChromeBrowserMainParts::PreMainMessageLoopRunImpl() #30 0x7ff7de08e130 ChromeBrowserMainParts::PreMainMessageLoopRun() #31 0x7ff7d4b8e831 content::BrowserMainLoop::PreMainMessageLoopRun() #32 0x7ff7d3feafe5 _ZN4base8internal13FunctorTraitsIMN7content22IndexedDBCallbacksImpl13InternalStateEFvvEvE6InvokeIPS4_JEEEvS6_OT_DpOT0_ #33 0x7ff7d4b99991 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiOT_DpOT0_ #34 0x7ff7d4b99937 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #35 0x7ff7d4b9987c _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE #36 0x7ff7d3ecb53b base::internal::RunMixin<>::Run() #37 0x7ff7d575e9bb content::StartupTaskRunner::RunAllTasksNow() #38 0x7ff7d4b8c400 content::BrowserMainLoop::CreateStartupTasks() #39 0x7ff7d4b9d3c7 content::BrowserMainRunnerImpl::Initialize() #40 0x7ff7d4b886af content::BrowserMain() #41 0x7ff7d63fcbd6 content::RunNamedProcessTypeMain() #42 0x7ff7d63fef7c content::ContentMainRunnerImpl::Run() #43 0x7ff7d63fbb02 content::ContentMain() #44 0x7ff7dc6d57da ChromeMain #45 0x7ff7dc6d5702 main #46 0x7ff7c7a80f45 __libc_start_main #47 0x7ff7dc6d5605 <unknown> Original issue's description: > memory-infra: Finish moving to Mojo (2nd attempt) > > This was originally landed in https://codereview.chromium.org/2694083005. > But, it broke webview perf tests, and so, it was reverted. It turned out that > in some scenarios, the memory dump manager is not initialized early enough (in > the browser process). So, now, I initialize it as soon as the UI thread is > created. > > Modifications since the original CL are: > > - The Coordinator service is created when the UI thread is created > (browser_main_loop.cc). > - When Coordinator is created, it initializes memory dump manager's TPID > (memory_dump_manager_delegate_impl.cc). > - To avoid dependency from //services/resource_coordinator to //content the > definition of the service TPID is moved from child_process_host.h to > constants.mojom. > > I tested the CL by building for Android and running the following with an > android device attached: > > run_benchmark memory.top_10_mobile --browser=android-webview > --also-run-disabled-tests > > In the original reverted CL, the above command results in > 'Unable to obtain memory dump' exceptions. With this CL the test runs > successfully. > > An example interaction diagram (to see the large image, click on it): > https://docs.google.com/document/d/1Mz64egjuZ4WsYw9AKKWdTvl0Il706EWdCy24V87R_F4/edit#heading=h.1ku5wcoxqifr > > BUG= 679830 , 697773, 697384 , 697062 > > Review-Url: https://codereview.chromium.org/2734193002 > Cr-Commit-Position: refs/heads/master@{#455866} > Committed: https://chromium.googlesource.com/chromium/src/+/0a3a302b6df6458b21b3ce0951c5251413cadc48 TBR=primiano@chromium.org,ssid@chromium.org,kenrb@chromium.org,jam@chromium.org,chiniforooshan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 679830 , 697773, 697384 , 697062 Review-Url: https://codereview.chromium.org/2738093003 Cr-Commit-Position: refs/heads/master@{#455899} [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/chrome/browser/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/chrome/browser/DEPS [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/tracing/BUILD.gn [add] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/tracing/child/child_memory_dump_manager_delegate_impl.cc [add] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/tracing/child/child_memory_dump_manager_delegate_impl.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/tracing/child/child_trace_message_filter.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/tracing/child/child_trace_message_filter.h [add] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/components/tracing/child/child_trace_message_filter_browsertest.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/browser_main.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/browser_main_loop.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/gpu/browser_gpu_channel_host_factory.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/tracing/trace_message_filter.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/tracing/trace_message_filter.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/tracing/tracing_controller_impl.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/browser/tracing/tracing_controller_impl.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/child/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/child/DEPS [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/child/child_thread_impl.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/common/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/common/DEPS [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/common/child_process_host_impl.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/common/child_process_host_impl.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/public/common/child_process_host.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/content/test/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/memory/coordinator/coordinator_impl.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/memory/coordinator/coordinator_impl.h [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/memory/coordinator/coordinator_impl_unittest.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h [delete] https://crrev.com/50952e8e2031ad1f9d59b4f9bcf0682dd08e6f1b/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl_unittest.cc [modify] https://crrev.com/034bdcd0c7f1a735dd7f03813a38d1a498c80535/services/resource_coordinator/public/interfaces/BUILD.gn [delete] https://crrev.com/50952e8e2031ad1f9d59b4f9bcf0682dd08e6f1b/services/resource_coordinator/public/interfaces/memory/constants.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6e4c507dc612077518d242eabcfae9622601d7e6 commit 6e4c507dc612077518d242eabcfae9622601d7e6 Author: chiniforooshan <chiniforooshan@chromium.org> Date: Fri Mar 17 07:56:56 2017 memory-infra: Finish moving to Mojo (3nd attempt) This was originally landed in https://codereview.chromium.org/2734193002 and, before that, in https://codereview.chromium.org/2694083005. But it broke chrome when component build is on. The issue was that //services/resource_coordinator:lib is a static library with static local variables. This CL fixes it. Tested on a component build. An example interaction diagram (to see the large image, click on it): https://docs.google.com/document/d/1Mz64egjuZ4WsYw9AKKWdTvl0Il706EWdCy24V87R_F4/edit#heading=h.1ku5wcoxqifr BUG= 679830 , 697773, 697384 , 697062 Review-Url: https://codereview.chromium.org/2741203002 Cr-Commit-Position: refs/heads/master@{#457712} [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/base/trace_event/memory_dump_manager.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/base/trace_event/memory_dump_manager.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/base/trace_event/memory_dump_manager_unittest.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/components/BUILD.gn [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/components/tracing/BUILD.gn [delete] https://crrev.com/6c2939ade3de360100011544d5600adc49013a31/components/tracing/child/child_memory_dump_manager_delegate_impl.cc [delete] https://crrev.com/6c2939ade3de360100011544d5600adc49013a31/components/tracing/child/child_memory_dump_manager_delegate_impl.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/components/tracing/child/child_trace_message_filter.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/components/tracing/child/child_trace_message_filter.h [delete] https://crrev.com/6c2939ade3de360100011544d5600adc49013a31/components/tracing/child/child_trace_message_filter_browsertest.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/BUILD.gn [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/browser_main_loop.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/browser_main_loop.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/gpu/browser_gpu_channel_host_factory.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/gpu/gpu_process_host.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/tracing/trace_message_filter.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/tracing/trace_message_filter.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/tracing/tracing_controller_impl.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/browser/tracing/tracing_controller_impl.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/child/BUILD.gn [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/child/DEPS [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/child/child_thread_impl.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/common/BUILD.gn [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/common/DEPS [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/common/child_process_host_impl.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/common/child_process_host_impl.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/content/public/common/child_process_host.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/BUILD.gn [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/memory/coordinator/coordinator_impl.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/memory/coordinator/coordinator_impl.h [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/memory/coordinator/coordinator_impl_unittest.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h [add] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl_unittest.cc [modify] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/public/interfaces/BUILD.gn [add] https://crrev.com/6e4c507dc612077518d242eabcfae9622601d7e6/services/resource_coordinator/public/interfaces/memory/constants.mojom
Does anything else needs to happen for this?
I think we can close this now. Looks like CL #9 did not cause any perf issues: https://chromeperf.appspot.com/group_report?rev=457712
Comment 1 by bugdroid1@chromium.org
, Jan 18 2017