New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 600717 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows
Pri: 3
Type: Bug



Sign in to add a comment

Investigate Memory Corruption in Histograms

Project Member Reported by bcwh...@chromium.org, Apr 5 2016

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Apr 5 2016

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

commit 7d0f95750553b519ade49999aa8eaed051289358
Author: bcwhite <bcwhite@chromium.org>
Date: Tue Apr 05 19:41:53 2016

Keep histogram and bucket-ranges info in minidumps.

BUG=600717

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

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

[modify] https://crrev.com/7d0f95750553b519ade49999aa8eaed051289358/base/metrics/histogram_snapshot_manager.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 13 2016

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

commit 38c5e05f22bc205fc270478546956e73b8e13407
Author: bcwhite <bcwhite@chromium.org>
Date: Wed Jul 13 03:58:09 2016

Fix capture of debug information when corruption is detected.

BUG=600717

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

[modify] https://crrev.com/38c5e05f22bc205fc270478546956e73b8e13407/base/metrics/histogram_snapshot_manager.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 13 2016

Labels: merge-merged-2795
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38c5e05f22bc205fc270478546956e73b8e13407

commit 38c5e05f22bc205fc270478546956e73b8e13407
Author: bcwhite <bcwhite@chromium.org>
Date: Wed Jul 13 03:58:09 2016

Fix capture of debug information when corruption is detected.

BUG=600717

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

[modify] https://crrev.com/38c5e05f22bc205fc270478546956e73b8e13407/base/metrics/histogram_snapshot_manager.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 23 2016

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

commit b7a682b6c61394faa2e2e6e8f31c96506079886e
Author: bcwhite <bcwhite@chromium.org>
Date: Fri Sep 23 14:02:04 2016

Try to fix gathering of ranges_ptr plus capture checksums.

BUG=600717

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

[modify] https://crrev.com/b7a682b6c61394faa2e2e6e8f31c96506079886e/base/metrics/histogram_snapshot_manager.cc

Seems that crash has overwolf module in the process - maybe it's to blame?
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 10 2017

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

commit 9d32d0bc1e2fbbad5ff6ba372ff386579d006cbc
Author: bcwhite <bcwhite@chromium.org>
Date: Tue Jan 10 17:50:15 2017

Keep ranges_ptr variable for debug, not just the data it points to.

BUG=600717

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

[modify] https://crrev.com/9d32d0bc1e2fbbad5ff6ba372ff386579d006cbc/base/metrics/histogram_snapshot_manager.cc

Went through another bunch of these.  Many of the 64-bit crashes didn't save the memory areas reference at the point of crash even when the pointers were debug::Alias'd.

I found corrupted map trees and bit flips.  Other checksum problems weren't analyze-able because the minidump didn't contain the full array, including where the error was.

The bad map trees were often nullptrs, which is odd for random errors though could be a store-trampler.
As an idea...  It would be possible for most Histogram types to be able to rebuild their "ranges" tables when corruption is detected.  Better than crashing?

I wonder,  too, if those tables could be marked "read only" so that store-tramplers would crash at the code location of the trampling.
Agree that those are good ideas.

Still, I think ultimately memory stompers are likely caused by other code and I'd look towards tools like SyzyASAN to identifying those and having devs fix them.

(Given the above, I don't thinke this is worth spending a lot of time on this quarter.)
Project Member

Comment 13 by bugdroid1@chromium.org, May 9 2017

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

commit 947514553066c623a85712d05c3a01bd1bcbbffc
Author: bcwhite <bcwhite@chromium.org>
Date: Tue May 09 04:01:17 2017

Add concurrency check to HistogramSnapshotManager.

Using ThreadChecker causes problems when outside code is doing its
own synchronization between multiple calling threads so remove that
and add an atomic to do a run-time concurrency CHECK.  This will
likely be removed in the future once it's well assured that concurrent
access is not the cause of the corrupted data structures.

Also, make known_histograms_ member "const" as it should have been from
the beginning.

BUG= 719448 , 600717

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

[modify] https://crrev.com/947514553066c623a85712d05c3a01bd1bcbbffc/base/metrics/histogram_snapshot_manager.cc
[modify] https://crrev.com/947514553066c623a85712d05c3a01bd1bcbbffc/base/metrics/histogram_snapshot_manager.h

Project Member

Comment 14 by sheriffbot@chromium.org, Sep 21 2017

Labels: Fracas FoundIn-M-63 OS-Android
Users experienced this crash on the following builds:

Android Dev 63.0.3214.0 -  0.24 CPM, 8 reports, 8 clients (signature base::HistogramSnapshotManager::PrepareSamples)

If this update was incorrect, please add "Fracas-Wrong" label to prevent future updates.

- Go/Fracas
Project Member

Comment 15 by sheriffbot@chromium.org, Feb 26 2018

Labels: FoundIn-M-65 OS-Linux
Users experienced this crash on the following builds:

Linux Beta 65.0.3325.88 -  0.25 CPM, 1 reports, 1 clients (signature base::HistogramSnapshotManager::PrepareSamples)

If this update was incorrect, please add "Fracas-Wrong" label to prevent future updates.

- Go/Fracas
Project Member

Comment 16 by sheriffbot@chromium.org, Mar 30 2018

Labels: FoundIn-67
Users experienced this crash on the following builds:

Win Canary 67.0.3383.0 -  0.08 CPM, 1 reports, 1 clients (signature base::HistogramSnapshotManager::PrepareSamples)

If this update was incorrect, please add "Fracas-Wrong" label to prevent future updates.

- Go/Fracas

Sign in to add a comment