New issue
Advanced search Search tips

Issue 662084 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocked on:
issue 690173

Blocking:
issue 690166



Sign in to add a comment

[Win] Module enumeration needs to happen in all process types

Project Member Reported by chrisha@chromium.org, Nov 3 2016

Issue description

Currently chrome://conflicts only shows information about the browser process. This enumeration needs to happen in all process types. It also needs to be a continuous process in order to observe modules that are loaded after startup (third party that injects, etc).

 
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 23 2016

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

commit 9d5f46c81db254725e6b8215937097a88b2f558c
Author: chrisha <chrisha@chromium.org>
Date: Wed Nov 23 21:24:24 2016

[Win] Create ModuleWatcher.

This is a utility class that will be instantiated in each process type. The resulting events will be funneled back to the browser process for use in third-party metrics gathering and the chrome://conflicts UI.

BUG=662084
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng

Review-Url: https://codereview.chromium.org/2473783005
Cr-Commit-Position: refs/heads/master@{#434251}

[modify] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/BUILD.gn
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/conflicts/OWNERS
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/conflicts/module_database_win.mojom
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/conflicts/module_event_win.mojom
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/conflicts/module_watcher_win.cc
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/conflicts/module_watcher_win.h
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/common/conflicts/module_watcher_win_unittest.cc
[modify] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/test/BUILD.gn
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/test/conflicts/OWNERS
[add] https://crrev.com/9d5f46c81db254725e6b8215937097a88b2f558c/chrome/test/conflicts/conflicts_dll.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 13 2017

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

commit d97de8e6f3e1beba791dfdd6d7f2dd7160c45331
Author: chrisha <chrisha@chromium.org>
Date: Fri Jan 13 20:36:40 2017

[win] Create ModuleDatabase and ModuleEventSinkImpl.

This creates the browser-side components of the ModuleDatabase. A
future CL will hook up ModuleWatchers in each process to a singleton
ModuleDatabase in the browser process.

BUG=662084

Review-Url: https://codereview.chromium.org/2576843002
Cr-Commit-Position: refs/heads/master@{#443651}

[modify] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/BUILD.gn
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/OWNERS
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/module_database_win.cc
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/module_database_win.h
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/module_database_win_unittest.cc
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/module_event_sink_impl_win.cc
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/module_event_sink_impl_win.h
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/browser/conflicts/module_event_sink_impl_win_unittest.cc
[modify] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/common/BUILD.gn
[delete] https://crrev.com/4141f530d2d03c42cba3fb5c0949fd33fff0f36f/chrome/common/conflicts/module_database_win.mojom
[add] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/common/conflicts/module_event_sink_win.mojom
[delete] https://crrev.com/4141f530d2d03c42cba3fb5c0949fd33fff0f36f/chrome/common/conflicts/module_event_win.mojom
[modify] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/common/conflicts/module_watcher_win.cc
[modify] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/common/conflicts/module_watcher_win.h
[modify] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/common/conflicts/module_watcher_win_unittest.cc
[modify] https://crrev.com/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331/chrome/test/BUILD.gn

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 16 2017

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

commit 7f422465c437cb1da27bf39ac74d0d7d3067a270
Author: pkalinnikov <pkalinnikov@chromium.org>
Date: Mon Jan 16 14:25:18 2017

Revert of [win] Create ModuleDatabase and ModuleEventSinkImpl. (patchset #15 id:280001 of https://codereview.chromium.org/2576843002/ )

Reason for revert:
Reverting because Win7 Tests (dbg)(1) builder failed on ModuleDatabaseTest.LoadAddressVectorOperations, which crashed: https://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/56436

Original issue's description:
> [win] Create ModuleDatabase and ModuleEventSinkImpl.
>
> This creates the browser-side components of the ModuleDatabase. A
> future CL will hook up ModuleWatchers in each process to a singleton
> ModuleDatabase in the browser process.
>
> BUG=662084
>
> Review-Url: https://codereview.chromium.org/2576843002
> Cr-Commit-Position: refs/heads/master@{#443651}
> Committed: https://chromium.googlesource.com/chromium/src/+/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331

TBR=pmonette@chromium.org,sky@chromium.org,grt@chromium.org,wfh@chromium.org,chrisha@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=662084

Review-Url: https://codereview.chromium.org/2634073002
Cr-Commit-Position: refs/heads/master@{#443889}

[modify] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/browser/BUILD.gn
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/OWNERS
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/module_database_win.cc
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/module_database_win.h
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/module_database_win_unittest.cc
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/module_event_sink_impl_win.cc
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/module_event_sink_impl_win.h
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/browser/conflicts/module_event_sink_impl_win_unittest.cc
[modify] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/common/BUILD.gn
[add] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/common/conflicts/module_database_win.mojom
[delete] https://crrev.com/eff8ce80aa2744b1e0fc8ca69d1186d32c420655/chrome/common/conflicts/module_event_sink_win.mojom
[add] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/common/conflicts/module_event_win.mojom
[modify] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/common/conflicts/module_watcher_win.cc
[modify] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/common/conflicts/module_watcher_win.h
[modify] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/common/conflicts/module_watcher_win_unittest.cc
[modify] https://crrev.com/7f422465c437cb1da27bf39ac74d0d7d3067a270/chrome/test/BUILD.gn

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 18 2017

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

commit 6de20f5d8a70cf65a5346eff0adcef7df500dde5
Author: chrisha <chrisha@chromium.org>
Date: Wed Jan 18 02:03:49 2017

[win] Create ModuleDatabase and ModuleEventSinkImpl.

This creates the browser-side components of the ModuleDatabase. A
future CL will hook up ModuleWatchers in each process to a singleton
ModuleDatabase in the browser process.

BUG=662084

Review-Url: https://codereview.chromium.org/2576843002
Cr-Original-Commit-Position: refs/heads/master@{#443651}
Committed: https://chromium.googlesource.com/chromium/src/+/d97de8e6f3e1beba791dfdd6d7f2dd7160c45331
Review-Url: https://codereview.chromium.org/2576843002
Cr-Commit-Position: refs/heads/master@{#444241}

[modify] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/BUILD.gn
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/OWNERS
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/module_database_win.cc
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/module_database_win.h
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/module_database_win_unittest.cc
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/module_event_sink_impl_win.cc
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/module_event_sink_impl_win.h
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/browser/conflicts/module_event_sink_impl_win_unittest.cc
[modify] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/common/BUILD.gn
[delete] https://crrev.com/8ffd7f1c09ec056e0aee132e95b40df60f5ff821/chrome/common/conflicts/module_database_win.mojom
[add] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/common/conflicts/module_event_sink_win.mojom
[delete] https://crrev.com/8ffd7f1c09ec056e0aee132e95b40df60f5ff821/chrome/common/conflicts/module_event_win.mojom
[modify] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/common/conflicts/module_watcher_win.cc
[modify] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/common/conflicts/module_watcher_win.h
[modify] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/common/conflicts/module_watcher_win_unittest.cc
[modify] https://crrev.com/6de20f5d8a70cf65a5346eff0adcef7df500dde5/chrome/test/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 18 2017

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

commit 927d8fea13c6aa514afb44e8273ae5f85225cb64
Author: chrisha <chrisha@chromium.org>
Date: Wed Jan 18 23:09:51 2017

Enable ModuleDatabase behind a flag.

This plumbs together the various pieces of the ModuleDatabase, enabling it in an observation mode behind a feature flag. Further CLs will port over the various bits of module inspection logic from EnumerateModulesModel, and finally switch chrome://conflicts to source its data from here.

BUG=662084

Review-Url: https://codereview.chromium.org/2613803005
Cr-Commit-Position: refs/heads/master@{#444534}

[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/chrome_browser_main_win.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/chrome_browser_main_win.h
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/chrome_content_browser_manifest_overlay.json
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/conflicts/module_database_win.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/conflicts/module_database_win.h
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/conflicts/module_event_sink_impl_win.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/browser/conflicts/module_event_sink_impl_win.h
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/common/chrome_features.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/common/chrome_features.h
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/renderer/chrome_content_renderer_client.cc
[modify] https://crrev.com/927d8fea13c6aa514afb44e8273ae5f85225cb64/chrome/renderer/chrome_content_renderer_client.h

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 7 2017

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

commit 2b10cfea6a7bfad0a361aa79d66e7ede05eb397a
Author: chrisha <chrisha@chromium.org>
Date: Tue Feb 07 03:34:21 2017

[win] Create utilities for helping to populate ModuleDatabase.

Further CLs will move (and test!) the rest of the enumerate_modules_model logic to this collection of helper functions.

BUG=662084
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng

Review-Url: https://codereview.chromium.org/2653333002
Cr-Commit-Position: refs/heads/master@{#448536}

[modify] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/BUILD.gn
[modify] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/conflicts/module_database_win.cc
[modify] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/conflicts/module_database_win.h
[add] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/conflicts/module_info_util_win.cc
[add] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/conflicts/module_info_util_win.h
[add] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/conflicts/module_info_util_win_unittest.cc
[modify] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/win/enumerate_modules_model.cc
[modify] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/browser/win/enumerate_modules_model.h
[modify] https://crrev.com/2b10cfea6a7bfad0a361aa79d66e7ede05eb397a/chrome/test/BUILD.gn

Blocking: 690166
Blocking: -617176
Blockedon: 690173
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 28 2017

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

commit 013446f84772859431ec8cb33158cd1805a888f8
Author: pmonette <pmonette@chromium.org>
Date: Tue Feb 28 19:50:30 2017

Fix 2 issues that were hitting dchecks when enabling ModuleDatabase

First, check for kInvalidIndex after calling FindLoadAdddressIndexById()
in RemoveLoadAddressById().

Second, the ModuleEventSinkPtr was used on the IO thread but was bound
on the main thread. Rebind the pointer to the IO thread.

BUG=662084

Review-Url: https://codereview.chromium.org/2714873002
Cr-Commit-Position: refs/heads/master@{#453676}

[modify] https://crrev.com/013446f84772859431ec8cb33158cd1805a888f8/chrome/browser/conflicts/module_database_win.cc
[modify] https://crrev.com/013446f84772859431ec8cb33158cd1805a888f8/chrome/renderer/chrome_content_renderer_client.cc

Owner: pmonette@chromium.org
Assigning this to pmonette@, whose taken over this work.
Project Member

Comment 13 by bugdroid1@chromium.org, Jul 19 2017

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

commit 9221ae1a89a1e725e0ff0192f2f33fa7d65e7a1f
Author: Patrick Monette <pmonette@chromium.org>
Date: Wed Jul 19 22:36:28 2017

Fix dcheck when binding to the ModuleEventSink interface.

Since https://chromium-review.googlesource.com/c/544717, it is not
allowed to bind to an interface on a different thread than where it is
used. To fix that, the binding is now only done on the IO thread.

Bug: 662084

Change-Id: I4e361ae4853f2d0ace3d910e12bc32e0c9a80d5c
Reviewed-on: https://chromium-review.googlesource.com/576618
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488015}
[modify] https://crrev.com/9221ae1a89a1e725e0ff0192f2f33fa7d65e7a1f/chrome/renderer/chrome_content_renderer_client.cc

Labels: Type-Launch
Labels: -Type-Launch

Sign in to add a comment