New issue
Advanced search Search tips

Issue 620813 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug


Sign in to add a comment

Get visibility into unclean shutdowns that do not generate crash reports

Project Member Reported by manzagop@chromium.org, Jun 16 2016

Issue description

Some causes of unclean shutdowns yield no crash reports. It is desirable for proper stability assessment and improvement to gain visibility into such issues.

 
Status: Started (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 8 2016

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

commit 5d3470e5a33aaad936e171bee625b6b978ee3c34
Author: bcwhite <bcwhite@chromium.org>
Date: Mon Aug 08 21:41:19 2016

Track thread activities in order to diagnose hangs.

There are a large number of "unclean shutdowns" in Chrome
with little information available as to what the various
threads of Chrome were doing that prevented a proper
close.

The ActivityTracker class provides a low-overhead way
of keeping track of what each thread is doing in a
persistent manner that can be analyzed both in real-
time and post-mortem.

The ActivityAnalyzer class provides an interface into
the persisted data for analysis.  Using that data is
for a future CL.

Operation is controlled by an experiment.  Enable
manually with:

--enable-features=StabilityDebugging

BUG=620813

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

[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/BUILD.gn
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/base.gyp
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/base.gypi
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/OWNERS
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/activity_analyzer.cc
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/activity_analyzer.h
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/activity_analyzer_unittest.cc
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/activity_tracker.cc
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/activity_tracker.h
[add] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/activity_tracker_unittest.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/debug/task_annotator.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/process/process_posix.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/process/process_win.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/synchronization/lock_impl_posix.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/synchronization/lock_impl_win.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/synchronization/waitable_event_posix.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/synchronization/waitable_event_win.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/threading/platform_thread_posix.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/base/threading/platform_thread_win.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34/tools/metrics/histograms/histograms.xml

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 9 2016

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

commit b3655198b775c54da3170736a62f48b0f7964fb9
Author: Philip Jägenstedt <foolip@chromium.org>
Date: Tue Aug 09 11:49:01 2016

Revert "Track thread activities in order to diagnose hangs."

This reverts commit 5d3470e5a33aaad936e171bee625b6b978ee3c34.

This is the likely cause of
MultiProfileFileManagerBrowserTest.PRE_BasicDrive becoming flaky.

(Manual revert, CL was too big for revert button.)

BUG= 635832 ,620813
TBR=bcwhite@chromium.org

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

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

[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/BUILD.gn
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/base.gyp
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/base.gypi
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/OWNERS
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/activity_analyzer.cc
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/activity_analyzer.h
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/activity_analyzer_unittest.cc
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/activity_tracker.cc
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/activity_tracker.h
[delete] https://crrev.com/5bc62a8764ac6b005c185526f58ed82b39413268/base/debug/activity_tracker_unittest.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/debug/task_annotator.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/process/process_posix.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/process/process_win.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/synchronization/lock_impl_posix.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/synchronization/lock_impl_win.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/synchronization/waitable_event_posix.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/synchronization/waitable_event_win.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/threading/platform_thread_posix.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/base/threading/platform_thread_win.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/b3655198b775c54da3170736a62f48b0f7964fb9/tools/metrics/histograms/histograms.xml

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 10 2016

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

commit d9705964f525c278a5939b6fcd29a10f732149d0
Author: bcwhite <bcwhite@chromium.org>
Date: Wed Aug 10 03:10:03 2016

Track thread activities in order to diagnose hangs.

There are a large number of "unclean shutdowns" in Chrome
with little information available as to what the various
threads of Chrome were doing that prevented a proper
close.

The ActivityTracker class provides a low-overhead way
of keeping track of what each thread is doing in a
persistent manner that can be analyzed both in real-
time and post-mortem.

The ActivityAnalyzer class provides an interface into
the persisted data for analysis.  Using that data is
for a future CL.

Operation is controlled by an experiment.  Enable
manually with:

--enable-features=StabilityDebugging

BUG=620813

Committed: https://crrev.com/5d3470e5a33aaad936e171bee625b6b978ee3c34
Review-Url: https://codereview.chromium.org/1980743002
Cr-Original-Commit-Position: refs/heads/master@{#410470}
Cr-Commit-Position: refs/heads/master@{#410938}

[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/BUILD.gn
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/base.gyp
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/base.gypi
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/OWNERS
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/activity_analyzer.cc
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/activity_analyzer.h
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/activity_analyzer_unittest.cc
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/activity_tracker.cc
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/activity_tracker.h
[add] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/activity_tracker_unittest.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/debug/task_annotator.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/process/process_posix.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/process/process_win.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/synchronization/lock_impl_posix.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/synchronization/lock_impl_win.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/synchronization/waitable_event_posix.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/synchronization/waitable_event_win.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/threading/platform_thread_posix.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/base/threading/platform_thread_win.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/d9705964f525c278a5939b6fcd29a10f732149d0/tools/metrics/histograms/histograms.xml

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 28 2016

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

commit 66a3da265b4964e27432fcb1e485fc4469b97823
Author: manzagop <manzagop@chromium.org>
Date: Tue Sep 27 20:51:38 2016

Add manzagop to components/browser_watcher/OWNERS

BUG=620813

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

[modify] https://crrev.com/66a3da265b4964e27432fcb1e485fc4469b97823/components/browser_watcher/OWNERS

For some reason the wiring in of the collection isn't showing up on this bug:
https://codereview.chromium.org/2344343002/
Blocking: 651846
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 1 2016

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

commit 8014d5ff93657cc93ada6a91762d2dea1943ac74
Author: manzagop <manzagop@chromium.org>
Date: Sat Oct 01 12:46:38 2016

Use the correct product/version for postmortem reports

BUG=620813

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

[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/BUILD.gn
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/DEPS
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/postmortem_minidump_writer.h
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/postmortem_minidump_writer_win.cc
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/postmortem_minidump_writer_win_unittest.cc
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/postmortem_report_collector.cc
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/watcher_metrics_provider_win.cc
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/watcher_metrics_provider_win.h
[modify] https://crrev.com/8014d5ff93657cc93ada6a91762d2dea1943ac74/components/browser_watcher/watcher_metrics_provider_win_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 5 2016

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

commit 030a3da272a7d23ce08676dfa537e500d2b1ef89
Author: manzagop <manzagop@chromium.org>
Date: Wed Oct 05 20:47:04 2016

Temporarily disable lock instrumentation

Disable lock instrumentation pending a fix to avoid recursion.

BUG=620813,652432

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

[modify] https://crrev.com/030a3da272a7d23ce08676dfa537e500d2b1ef89/base/synchronization/lock_impl_win.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/030a3da272a7d23ce08676dfa537e500d2b1ef89

commit 030a3da272a7d23ce08676dfa537e500d2b1ef89
Author: manzagop <manzagop@chromium.org>
Date: Wed Oct 05 20:47:04 2016

Temporarily disable lock instrumentation

Disable lock instrumentation pending a fix to avoid recursion.

BUG=620813,652432

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

[modify] https://crrev.com/030a3da272a7d23ce08676dfa537e500d2b1ef89/base/synchronization/lock_impl_win.cc

Comment 17 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840
Project Member

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

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

commit 14aff5d238aea71a0ca9b1439d7d06d1e2794c09
Author: manzagop <manzagop@chromium.org>
Date: Wed Nov 23 17:27:00 2016

Delete the stability file on clean exit.

The stability debugging experiment has Chrome store internal state to a
memory mapped file. This CL ensures the file gets deleted on clean exit.

Testing:
- Launch chrome --enable-features=StabilityDebugging --user-data-dir=foo
- Tested cases:
  - exiting by clicking the 'x'
  - browser rdv
  - the quick exit path, by sending WM_ENDSESSION to the top window

BUG=620813

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

[modify] https://crrev.com/14aff5d238aea71a0ca9b1439d7d06d1e2794c09/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/14aff5d238aea71a0ca9b1439d7d06d1e2794c09/chrome/browser/metrics/chrome_metrics_service_client.h
[modify] https://crrev.com/14aff5d238aea71a0ca9b1439d7d06d1e2794c09/components/browser_watcher/stability_debugging_win.cc
[modify] https://crrev.com/14aff5d238aea71a0ca9b1439d7d06d1e2794c09/components/browser_watcher/stability_debugging_win.h
[modify] https://crrev.com/14aff5d238aea71a0ca9b1439d7d06d1e2794c09/components/metrics/metrics_service.cc
[modify] https://crrev.com/14aff5d238aea71a0ca9b1439d7d06d1e2794c09/components/metrics/metrics_service_client.h

Project Member

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

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

commit a1722ac90a1459c8b3920305b0ff60e6783dbd57
Author: manzagop <manzagop@chromium.org>
Date: Wed Nov 23 20:08:11 2016

Postmortem dumper: add support for Activity

BUG=620813

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

[modify] https://crrev.com/a1722ac90a1459c8b3920305b0ff60e6783dbd57/components/browser_watcher/dump_postmortem_minidump_main_win.cc

Project Member

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

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

commit 1010504cb3b08b97f97e08398833e9db59eceb20
Author: bcwhite <bcwhite@chromium.org>
Date: Tue Nov 29 00:09:55 2016

Add support for turning pointers back to references.

This will be used by a CL for the "breadcrumbs" project that needs
to convert from a raw-memory pointer used by a class that knows
nothing about persistent memory, back to a reference.

BUG=620813

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

[modify] https://crrev.com/1010504cb3b08b97f97e08398833e9db59eceb20/base/metrics/persistent_memory_allocator.cc
[modify] https://crrev.com/1010504cb3b08b97f97e08398833e9db59eceb20/base/metrics/persistent_memory_allocator.h
[modify] https://crrev.com/1010504cb3b08b97f97e08398833e9db59eceb20/base/metrics/persistent_memory_allocator_unittest.cc

Blockedon: 663414
Project Member

Comment 29 by bugdroid1@chromium.org, Dec 19 2016

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

commit 6d14991597586d547ba5f8cd2cd3ee4155606d32
Author: manzagop <manzagop@chromium.org>
Date: Mon Dec 19 20:17:09 2016

Record MetricsService's execution phase to the stability file

Also:
- upstream some "ifdef(OS_WIN)" by moving stability_debugging_win.{h,cc} to stability_debugging.{h,cc}.
- enclose components/browser_watcher/BUILD.gn targets in "if (is_win) {}" as the dependency from components/metrics started causing win only targets to be built on other platforms.

BUG=620813

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

[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/browser_watcher/BUILD.gn
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/browser_watcher/stability_data_names.cc
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/browser_watcher/stability_data_names.h
[rename] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/browser_watcher/stability_debugging.cc
[rename] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/browser_watcher/stability_debugging.h
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/browser_watcher/watcher_metrics_provider_win.cc
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/metrics/BUILD.gn
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/metrics/DEPS
[modify] https://crrev.com/6d14991597586d547ba5f8cd2cd3ee4155606d32/components/metrics/metrics_service.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 11 2017

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

commit 0e26bb04377df55aab5a2f4f5c869898d2c2cf01
Author: manzagop <manzagop@chromium.org>
Date: Wed Jan 11 18:49:38 2017

Record chrome module information

The intent is to store the chrome module's information as early as possible so it's always present in the stability debug data. For information about other modules, see https://chromiumcodereview.appspot.com/2566983009/

BUG=620813

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

[modify] https://crrev.com/0e26bb04377df55aab5a2f4f5c869898d2c2cf01/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/0e26bb04377df55aab5a2f4f5c869898d2c2cf01/components/browser_watcher/stability_data_names.cc
[modify] https://crrev.com/0e26bb04377df55aab5a2f4f5c869898d2c2cf01/components/browser_watcher/stability_data_names.h

Blockedon: 686187
Project Member

Comment 34 by bugdroid1@chromium.org, Jan 27 2017

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

commit 1973beba8eb5419f66f3ec9e685c7c257781ff36
Author: manzagop <manzagop@chromium.org>
Date: Fri Jan 27 22:16:50 2017

Postmortem dumper: dump user data

BUG=620813

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

[modify] https://crrev.com/1973beba8eb5419f66f3ec9e685c7c257781ff36/components/browser_watcher/dump_postmortem_minidump_main_win.cc

Blockedon: 687715
Project Member

Comment 37 by bugdroid1@chromium.org, Feb 3 2017

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

commit 4f94b087ba0f8a6440fcedaf65e62c3571b518ee
Author: bcwhite <bcwhite@chromium.org>
Date: Fri Feb 03 22:43:25 2017

Fix some issues with atomics in the activity tracker.

BUG=620813

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

[modify] https://crrev.com/4f94b087ba0f8a6440fcedaf65e62c3571b518ee/base/debug/activity_tracker.cc
[modify] https://crrev.com/4f94b087ba0f8a6440fcedaf65e62c3571b518ee/base/debug/activity_tracker.h

Project Member

Comment 39 by bugdroid1@chromium.org, Feb 10 2017

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

commit d3bbe536eab7b3fd2f22568dfb1650bf78732ba3
Author: bcwhite <bcwhite@chromium.org>
Date: Fri Feb 10 16:29:00 2017

Add acquire/release to global variable.

Acquire/Release is needed to ensure that other threads cannot access
member variables without them being committed to memory.

BUG=620813

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

[modify] https://crrev.com/d3bbe536eab7b3fd2f22568dfb1650bf78732ba3/base/debug/activity_tracker.cc
[modify] https://crrev.com/d3bbe536eab7b3fd2f22568dfb1650bf78732ba3/base/debug/activity_tracker.h

Blockedon: 691595
Project Member

Comment 41 by bugdroid1@chromium.org, Feb 17 2017

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

commit ddd53c2ef164f4e22c55d3d69b9c1fb386119375
Author: bcwhite <bcwhite@chromium.org>
Date: Fri Feb 17 07:42:57 2017

Add convenience methods so callers don't have to check if enabled.

Changes to make use of these new methods are in a follow-up CL.

BUG=620813

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

[modify] https://crrev.com/ddd53c2ef164f4e22c55d3d69b9c1fb386119375/base/debug/activity_tracker.h

Project Member

Comment 42 by bugdroid1@chromium.org, Feb 17 2017

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

commit a2191ee363dcb554d237ee14faf21db825f146a5
Author: bcwhite <bcwhite@chromium.org>
Date: Fri Feb 17 18:29:43 2017

Updates for improved PMA 'object' interface.

BUG=620813

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

[modify] https://crrev.com/a2191ee363dcb554d237ee14faf21db825f146a5/base/debug/activity_tracker.h

Blockedon: 695987
Blockedon: 697050
Blockedon: 697071
Project Member

Comment 46 by bugdroid1@chromium.org, Mar 7 2017

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

commit e7ea29da6f1af5d6c75be744254558786100ef8f
Author: manzagop <manzagop@chromium.org>
Date: Tue Mar 07 18:09:44 2017

Flush stability file after initialization

Maximize the chance of persisting minimal information (version details)
in stability files. This is to defend against system instability issues
for which the system would not persist the in memory content.

BUG=620813

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

[modify] https://crrev.com/e7ea29da6f1af5d6c75be744254558786100ef8f/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/e7ea29da6f1af5d6c75be744254558786100ef8f/components/browser_watcher/features.cc
[modify] https://crrev.com/e7ea29da6f1af5d6c75be744254558786100ef8f/components/browser_watcher/features.h
[modify] https://crrev.com/e7ea29da6f1af5d6c75be744254558786100ef8f/tools/metrics/histograms/histograms.xml

Project Member

Comment 47 by bugdroid1@chromium.org, Mar 10 2017

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

commit bee49a23fbe4ce847798aa87dff47440b07c097b
Author: bcwhite <bcwhite@chromium.org>
Date: Fri Mar 10 18:58:48 2017

Clear memory in a predictable and atomic manner when changing type.

There may be existing pointers to the memory block that are being actively
accessed while the zeroing of memory is taking place. While this change
doesn't fix that, it does make it possible for those other threads to recognize
that memory is changing under it and be able to react appropriately.

Also, restore missing kTypeIdAny that was somehow lost.

BUG=620813

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

[modify] https://crrev.com/bee49a23fbe4ce847798aa87dff47440b07c097b/base/metrics/persistent_memory_allocator.cc
[modify] https://crrev.com/bee49a23fbe4ce847798aa87dff47440b07c097b/base/metrics/persistent_memory_allocator.h

Project Member

Comment 48 by bugdroid1@chromium.org, Mar 13 2017

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

commit f93b15725455ca57b95e54569a569dae99f3ffa3
Author: manzagop <manzagop@chromium.org>
Date: Mon Mar 13 20:30:11 2017

Stability file flushing: replace experiment by parameter

https://crrev.com/2720353002 attempted to experiment with flushing by
setting up a second experiment. It is preferable to instead use
experiment parameters.

BUG=620813

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

[modify] https://crrev.com/f93b15725455ca57b95e54569a569dae99f3ffa3/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/f93b15725455ca57b95e54569a569dae99f3ffa3/components/browser_watcher/features.cc
[modify] https://crrev.com/f93b15725455ca57b95e54569a569dae99f3ffa3/components/browser_watcher/features.h

Project Member

Comment 49 by bugdroid1@chromium.org, Mar 16 2017

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

commit 42561dc4b39708c610a0149fb61b6f17c0e21f8e
Author: bcwhite <bcwhite@chromium.org>
Date: Thu Mar 16 18:39:44 2017

Harden allocator for file-backed memory.

Data persisted to disk can end up with some oddities should a hard
shutdown of the machine (such as from a power failure) cause an
incomplete flush of the memory.

It's possible that the actual data gets flushed but the "free_ptr"
that indicates the end of used memory does not. The data is still
iterable but might try to go beyond what is believed to be the end.
The GetBlockData() checks against free_ptr have been removed, relying
on the fixed mem_size_ boundary and the required existence of the
header cookie to know if the block is valid.

A "Flush()" call has been added to allow for signalling when
essential changes have been made. It's an empty call except for
file-backed memory. A call to it is done after initialization to
ensure the file on disk appears initialized.

A "memory state" field has been added to the shared header to
indicate the overall state of the memory (initalized, deleted, etc.)
and accessor methods added. This allows the caller to ensure that
major changes to the memory segment get propogated. This is used
to indicate if it has been "deleted" because actually deleting the
file is prone to failure.

Unfortunately, this requires a change to the SharedMetada structure
that makes this code incompatible with previous versions. The first
version with this change will be unable to read persistent data
written by the previous version. It will find invalid data in the
header and be unable to find the written data blocks. This is
unfortunate but safe due to all the precautions against memory
corruption already in the PMA.

The PersistentHistogramAllocator has been updated to use this when
deleting a file and the FileMetricsProvider now reads it and
discards the data if it detects this.

Still to do is make use of these features in the Breadcrumbs
project.

BUG= 546019 ,620813

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

[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/base/metrics/persistent_histogram_allocator.cc
[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/base/metrics/persistent_memory_allocator.cc
[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/base/metrics/persistent_memory_allocator.h
[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/base/metrics/persistent_memory_allocator_unittest.cc
[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/components/metrics/file_metrics_provider.cc
[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/components/metrics/file_metrics_provider.h
[modify] https://crrev.com/42561dc4b39708c610a0149fb61b6f17c0e21f8e/tools/metrics/histograms/histograms.xml

Project Member

Comment 50 by bugdroid1@chromium.org, Mar 16 2017

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

commit 815054b5918e1d631c4208b06b83d1e833ef6240
Author: bcwhite <bcwhite@chromium.org>
Date: Thu Mar 16 18:41:12 2017

Multi-Process Tracking Support

Fully support having multiple processes write information to the same breadcrumbs file.

This involves some process-specific operations plus the ability for a controlling process to clean-up after its dead children.

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

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

[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/base/debug/activity_tracker.cc
[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/base/debug/activity_tracker.h
[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/base/debug/activity_tracker_unittest.cc
[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/base/process/launch_win.cc
[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/base/process/process_win.cc
[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/content/app/content_main.cc
[modify] https://crrev.com/815054b5918e1d631c4208b06b83d1e833ef6240/content/common/sandbox_win.cc

Blockedon: 703341
Project Member

Comment 54 by bugdroid1@chromium.org, Apr 11 2017

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

commit 8ffd39048b78f37e10e5bc2cf50f5f338b304e87
Author: bcwhite <bcwhite@chromium.org>
Date: Tue Apr 11 17:10:49 2017

Remove 'global' user-data in favor of 'process' user-data.

There's (currently) no cross-process thread safety possible for the ActivityUserData structure so it's not feasible to have a "global" entry.

BUG=620813

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

[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/base/debug/activity_analyzer.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/base/debug/activity_analyzer.h
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/base/debug/activity_analyzer_unittest.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/base/debug/activity_tracker.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/base/debug/activity_tracker.h
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/base/debug/activity_tracker_unittest.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/components/browser_watcher/postmortem_report_extractor.cc
[modify] https://crrev.com/8ffd39048b78f37e10e5bc2cf50f5f338b304e87/components/browser_watcher/stability_debugging.cc

Blockedon: 718437
Project Member

Comment 57 by bugdroid1@chromium.org, May 4 2017

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

commit 309a96117edbe53789c764bfcff76c13b0e88b52
Author: manzagop <manzagop@chromium.org>
Date: Thu May 04 19:55:38 2017

Rejig stability intstrumentation filenames and targets

The main change is to rename postmortem_report_extractor to stability_report_extractor, and pull it out to a separate target. We want to use this not only postmortem, but also on crash.

BUG=620813

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

[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/chrome/browser/BUILD.gn
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/BUILD.gn
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_debugging.cc
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_debugging.h
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_debugging_win_unittest.cc
[add] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_paths.cc
[add] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_paths.h
[rename] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_report_extractor.cc
[rename] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/stability_report_extractor.h
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/browser_watcher/watcher_metrics_provider_win.cc
[modify] https://crrev.com/309a96117edbe53789c764bfcff76c13b0e88b52/components/metrics/BUILD.gn

Blockedon: 719026
Blockedon: 722850
Project Member

Comment 60 by bugdroid1@chromium.org, May 19 2017

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

commit 2c8986a0628c40c2c78175723454e0bd5f4b7abc
Author: manzagop <manzagop@chromium.org>
Date: Fri May 19 21:15:11 2017

Quantify instability according to the stability instrumentation

Crash reporting based on the stability instrumentation does not provide
an accurate idea of the magnitude of issues because of report throttling.
This CL introduces user metrics to provide a more accurate idea
of the magnitude. Note however that the metrics will be affected by
version smear: the collecting Chrome's version may be different from the
unclean one's.

Details:
- UncleanShutdownCount is an estimate of unclean shutdowns as derived
from the stability instrumentation. Only successfully parsed stability
files contribute to this count.
- UncleanSystemCount is an estimate of unclean shutdowns attributable to
system instability. The number may be underestimated because of analysis
failure or overestimated because of the looseness in detection (Chrome
might not be running when the system suffers instability).

BUG=620813

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

[modify] https://crrev.com/2c8986a0628c40c2c78175723454e0bd5f4b7abc/components/browser_watcher/postmortem_report_collector.cc
[modify] https://crrev.com/2c8986a0628c40c2c78175723454e0bd5f4b7abc/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/2c8986a0628c40c2c78175723454e0bd5f4b7abc/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/2c8986a0628c40c2c78175723454e0bd5f4b7abc/tools/metrics/histograms/histograms.xml

Project Member

Comment 61 by bugdroid1@chromium.org, May 31 2017

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

commit df6c4e5fa44963c8183eae16abcac42fd46bd9ef
Author: bcwhite <bcwhite@chromium.org>
Date: Wed May 31 21:57:51 2017

Store the system profile in the breadcrumbs file.

BUG=620813

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

[modify] https://crrev.com/df6c4e5fa44963c8183eae16abcac42fd46bd9ef/chrome/browser/chrome_browser_field_trials_desktop.cc

Project Member

Comment 62 by bugdroid1@chromium.org, Jun 1 2017

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

commit 47f2c48469be9345d1f9ab668d05212794767a0c
Author: manzagop <manzagop@chromium.org>
Date: Thu Jun 01 16:33:16 2017

Stability instrumentation: metrics for collection on crash

This CL revises adds metrics for stability instrumentation
collection on crash. The metrics can be used to estimate unclean
shutdown coverage in combination with postmortem collection (see
https://crrev.com/2883103002).

Additionally addresses a todo: sets the persitent allocator state to
deleted on crash.

BUG=620813

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

[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/chrome/browser/chrome_browser_field_trials_desktop.cc
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/BUILD.gn
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/postmortem_report_collector.cc
[add] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/stability_metrics.cc
[add] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/stability_metrics.h
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/stability_paths.cc
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/stability_paths.h
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/components/browser_watcher/stability_report_user_stream_data_source.cc
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/47f2c48469be9345d1f9ab668d05212794767a0c/tools/metrics/histograms/histograms.xml

Blockedon: 478209
Project Member

Comment 64 by bugdroid1@chromium.org, Sep 29 2017

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

commit 384db9aa94f082cf13419ba2eb6b82bc7c53ba5f
Author: Pierre-Antoine Manzagol <manzagop@chromium.org>
Date: Fri Sep 29 19:29:23 2017

Field trial testing config for StabilityDebugging

This enables testing for the "record, collect on crash, process
postmortem without sending postmortem reports" configuration.

Bug: 620813
Change-Id: Iefcb7701ec9122c79dcd8d7b083cf1d96aa64c77
Reviewed-on: https://chromium-review.googlesource.com/692714
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505439}
[modify] https://crrev.com/384db9aa94f082cf13419ba2eb6b82bc7c53ba5f/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 65 by bugdroid1@chromium.org, Sep 30 2017

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

commit 16647ef7b39cf81f20a1589d484799f315da73d3
Author: Devlin <rdevlin.cronin@chromium.org>
Date: Sat Sep 30 00:18:56 2017

Revert "Field trial testing config for StabilityDebugging"

This reverts commit 384db9aa94f082cf13419ba2eb6b82bc7c53ba5f.

Reason for revert: Speculative Revert

Something that landed around this time is causing tests to fail on Windows. [1] None of the patches strike me as overly suspicious, but this one maybe a bit more so.

if this didn't cause the failures, sorry for the noise.

[1] https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/63551

Original change's description:
> Field trial testing config for StabilityDebugging
> 
> This enables testing for the "record, collect on crash, process
> postmortem without sending postmortem reports" configuration.
> 
> Bug: 620813
> Change-Id: Iefcb7701ec9122c79dcd8d7b083cf1d96aa64c77
> Reviewed-on: https://chromium-review.googlesource.com/692714
> Reviewed-by: Jesse Doherty <jwd@chromium.org>
> Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505439}

TBR=jwd@chromium.org,manzagop@chromium.org

Change-Id: Iba7b79d153a52fca73e4e943697ebcdf5332a500
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 620813
Reviewed-on: https://chromium-review.googlesource.com/693013
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505466}
[modify] https://crrev.com/16647ef7b39cf81f20a1589d484799f315da73d3/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 66 by bugdroid1@chromium.org, Oct 2 2017

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

commit b243824ea45415697e664594d578d50d4fafb4bf
Author: Pierre-Antoine Manzagol <manzagop@chromium.org>
Date: Mon Oct 02 19:25:37 2017

Field trial testing config for StabilityDebugging

This enables testing for the "record, collect on crash, process
postmortem without sending postmortem reports" configuration.

This is a reland attempt. The previous attempt was reverted, but I don't
think it was the true culprit. See:
https://chromium-review.googlesource.com/q/Iba7b79d153a52fca73e4e943697ebcdf5332a500

Bug: 620813
Change-Id: I5d9d38fdf4e97fb95d73e1db06c4f6d40d18ce17
Reviewed-on: https://chromium-review.googlesource.com/695445
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505714}
[modify] https://crrev.com/b243824ea45415697e664594d578d50d4fafb4bf/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 67 by bugdroid1@chromium.org, Oct 2 2017

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

commit d568c758c2c58b856c7d0ebd61dfd27897a722ff
Author: Devlin <rdevlin.cronin@chromium.org>
Date: Mon Oct 02 21:44:50 2017

Revert "Field trial testing config for StabilityDebugging"

This reverts commit b243824ea45415697e664594d578d50d4fafb4bf.

Reason for revert: Looks like this really is responsible.  Once it landed in https://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/63607, both BrowserTest.WindowOpenClose and
ExtensionLoadingTest.RuntimeValidWhileDevToolsOpen started failing immediately.

Original change's description:
> Field trial testing config for StabilityDebugging
> 
> This enables testing for the "record, collect on crash, process
> postmortem without sending postmortem reports" configuration.
> 
> This is a reland attempt. The previous attempt was reverted, but I don't
> think it was the true culprit. See:
> https://chromium-review.googlesource.com/q/Iba7b79d153a52fca73e4e943697ebcdf5332a500
> 
> Bug: 620813
> Change-Id: I5d9d38fdf4e97fb95d73e1db06c4f6d40d18ce17
> Reviewed-on: https://chromium-review.googlesource.com/695445
> Reviewed-by: Jesse Doherty <jwd@chromium.org>
> Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505714}

TBR=jwd@chromium.org,manzagop@chromium.org

Change-Id: I62b586df4361de3f7e20cfb6ede180fff665cf5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 620813
Reviewed-on: https://chromium-review.googlesource.com/696126
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505797}
[modify] https://crrev.com/d568c758c2c58b856c7d0ebd61dfd27897a722ff/testing/variations/fieldtrial_testing_config.json

Comment 68 by siggi@chromium.org, Oct 11 2017

Owner: siggi@chromium.org
Project Member

Comment 69 by bugdroid1@chromium.org, Oct 17 2017

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

commit 669c16932d39c1ccc3a12e75f511070c4f2260a8
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Tue Oct 17 18:59:21 2017

Crumbs: Flush file mapping on a blocking thread.

It appears blocking in-line with startup has a performance impact,
as some browser tests reliably time out with this in effect.

Bug: 620813
Change-Id: Ibfa722ce7a5062f6ae74d63fc59d8371af2645d9
Reviewed-on: https://chromium-review.googlesource.com/721462
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509469}
[modify] https://crrev.com/669c16932d39c1ccc3a12e75f511070c4f2260a8/chrome/browser/chrome_browser_field_trials_desktop.cc

Project Member

Comment 70 by bugdroid1@chromium.org, Oct 18 2017

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

commit 1d226b197a30bd0150085487a89b388acf4458ee
Author: Brian White <bcwhite@chromium.org>
Date: Wed Oct 18 15:28:41 2017

Clean up PMA 'flush' behavior.

This clarifies the use of the Flush() method and the need to run it on
a thread that supports I/O.

The explicit Flush() after construction has been removed because it
(a) causes some timout problems with tests and (b) doesn't actually
provide any benefit to the usability of the file in case of a crash.

Bug: 620813
Change-Id: I2aea737f2a99294935de130e6bb1ecc72e99c46a
Reviewed-on: https://chromium-review.googlesource.com/723699
Commit-Queue: Brian White <bcwhite@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509773}
[modify] https://crrev.com/1d226b197a30bd0150085487a89b388acf4458ee/base/metrics/persistent_memory_allocator.cc
[modify] https://crrev.com/1d226b197a30bd0150085487a89b388acf4458ee/base/metrics/persistent_memory_allocator.h

Project Member

Comment 71 by bugdroid1@chromium.org, Oct 24 2017

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

commit 199a9571232ef52bbaa76961b11cb38dc04500fd
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Tue Oct 24 16:57:28 2017

Reland "Field trial testing config for StabilityDebugging"

This is a reland of 384db9aa94f082cf13419ba2eb6b82bc7c53ba5f
Original change's description:
> Field trial testing config for StabilityDebugging
> 
> This enables testing for the "record, collect on crash, process
> postmortem without sending postmortem reports" configuration.
> 
> Bug: 620813
> Change-Id: Iefcb7701ec9122c79dcd8d7b083cf1d96aa64c77
> Reviewed-on: https://chromium-review.googlesource.com/692714
> Reviewed-by: Jesse Doherty <jwd@chromium.org>
> Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505439}

Bug: 620813
Change-Id: I7e7f3a9f425851882fcf682f0b986e41dfc8fc98
Reviewed-on: https://chromium-review.googlesource.com/713734
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511181}
[modify] https://crrev.com/199a9571232ef52bbaa76961b11cb38dc04500fd/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 72 by bugdroid1@chromium.org, Oct 24 2017

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

commit 610ec6f7196b8425317c5132091ab7f30c240d90
Author: Devlin <rdevlin.cronin@chromium.org>
Date: Tue Oct 24 23:55:28 2017

Revert "Reland "Field trial testing config for StabilityDebugging""

This reverts commit 199a9571232ef52bbaa76961b11cb38dc04500fd.

Reason for revert: This broke browser tests on Win7 again:
https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/64200

BrowserTest.WindowOpenClose
ExtensionLoadingTest.RuntimeValidWhileDevToolsOpen

Please verify these are fixed before relanding.

Original change's description:
> Reland "Field trial testing config for StabilityDebugging"
> 
> This is a reland of 384db9aa94f082cf13419ba2eb6b82bc7c53ba5f
> Original change's description:
> > Field trial testing config for StabilityDebugging
> > 
> > This enables testing for the "record, collect on crash, process
> > postmortem without sending postmortem reports" configuration.
> > 
> > Bug: 620813
> > Change-Id: Iefcb7701ec9122c79dcd8d7b083cf1d96aa64c77
> > Reviewed-on: https://chromium-review.googlesource.com/692714
> > Reviewed-by: Jesse Doherty <jwd@chromium.org>
> > Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#505439}
> 
> Bug: 620813
> Change-Id: I7e7f3a9f425851882fcf682f0b986e41dfc8fc98
> Reviewed-on: https://chromium-review.googlesource.com/713734
> Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#511181}

TBR=asvitkine@chromium.org,siggi@chromium.org

Change-Id: I1eb8fdd0bf42ef0e0effa9f5904e42bd9eb3f382
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 620813
Reviewed-on: https://chromium-review.googlesource.com/736969
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511309}
[modify] https://crrev.com/610ec6f7196b8425317c5132091ab7f30c240d90/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 73 by bugdroid1@chromium.org, Oct 26 2017

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

commit 4275cc391268d1845fffc86b11c0c98d8e90e46f
Author: Pierre-Antoine Manzagol <manzagop@chromium.org>
Date: Thu Oct 26 13:09:30 2017

Reland "Field trial testing config for StabilityDebugging"

After https://chromium-review.googlesource.com/737858 lands, this should
no longer cause timeouts on Win7 Dbg bots. Turns out the lock
instrumentation was causing ~9X longer runtime for at least some tests,
but with the patch, this is back down to ~1X.

This is a reland of 384db9aa94f082cf13419ba2eb6b82bc7c53ba5f
Original change's description:
> Field trial testing config for StabilityDebugging
> 
> This enables testing for the "record, collect on crash, process
> postmortem without sending postmortem reports" configuration.
> 
> Bug: 620813
> Change-Id: Iefcb7701ec9122c79dcd8d7b083cf1d96aa64c77
> Reviewed-on: https://chromium-review.googlesource.com/692714
> Reviewed-by: Jesse Doherty <jwd@chromium.org>
> Commit-Queue: Pierre-Antoine Manzagol (departed) <manzagop@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505439}

Bug: 620813
Bug:  777409 
Change-Id: I3b3b2a7d2f1b12646bfed1741f87951b0806683d
Reviewed-on: https://chromium-review.googlesource.com/738330
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511800}
[modify] https://crrev.com/4275cc391268d1845fffc86b11c0c98d8e90e46f/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 74 by bugdroid1@chromium.org, Nov 23 2017

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

commit 32db29f8dcdc46834c45153f92c5cc9fca7916ec
Author: Brian White <bcwhite@chromium.org>
Date: Thu Nov 23 16:53:24 2017

Add shared-memory support to Activity Tracker.

This is to aid access to non-persistent breadcrumbs created by
subprocesses.

Turns out that the analyzer required read/write access to take
snapshots because of the "unchanged" indicator.  That's undesirable
(and sometimes simply infeasible) so I've changed "unchanged" in
favor of a "data version" that is incremented.  Comparing before/after
versions will indicate if anything has changed without requiring write
ability by the analyzer.

If the data-version increments 4B times during an analyzer copy, we
have an ABA problem but I think that can be safely discounted.

Bug: 620813
Change-Id: Ic2455dcd3a70f8ec92c4878d7680ce890f16c071
Reviewed-on: https://chromium-review.googlesource.com/773159
Commit-Queue: Brian White <bcwhite@chromium.org>
Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518963}
[modify] https://crrev.com/32db29f8dcdc46834c45153f92c5cc9fca7916ec/base/debug/activity_analyzer.cc
[modify] https://crrev.com/32db29f8dcdc46834c45153f92c5cc9fca7916ec/base/debug/activity_analyzer.h
[modify] https://crrev.com/32db29f8dcdc46834c45153f92c5cc9fca7916ec/base/debug/activity_analyzer_unittest.cc
[modify] https://crrev.com/32db29f8dcdc46834c45153f92c5cc9fca7916ec/base/debug/activity_tracker.cc
[modify] https://crrev.com/32db29f8dcdc46834c45153f92c5cc9fca7916ec/base/debug/activity_tracker.h
[modify] https://crrev.com/32db29f8dcdc46834c45153f92c5cc9fca7916ec/base/debug/activity_tracker_unittest.cc

Sign in to add a comment