commit | fd241000c2d74cf97331b64fa80025a73379db4f | [log] [tgz] |
---|---|---|
author | Aditya Kushwah <adkushwa@microsoft.com> | Mon Apr 11 23:50:11 2022 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Apr 11 23:50:11 2022 |
tree | 87788330af49dc8df9f5ee5e26965311c368db08 | |
parent | c1247cd64b6f9a534bbfea33cce07512accb8eea [diff] |
Reset the cached crashpad database size before pruning reports. DatabaseSizePruneCondition has a variable, measured_size_in_kb_, that keeps the track of size for all the reports. When a new Crashpad handler starts up, after 10 minutes the pruning thread executes. This will prune all dumps after measured_size_in_kb_ grows beyond 128 MB (for the default condition). 24 hours later, when the pruning thread executes again, all the older reports will be visited, but measured_size_in_kb_ will continue to be greater than 128 MB, thus deleting all the reports. Desired behaviour: Irrespective of how many times the cleaning thread runs, if the cumulative report size is less than the maximum database size of 128MB, the ShouldPruneReport() of DatabaseSizePruneCondition should not return true. This CL fixes this bug by creating a ResetPruneConditionState() for every prune condition which resets the calculated combined size of the existing reports. Unittests are added to validate this fix. Bug: chromium:1312208 Change-Id: I1f1fd15d0a5f7aa856114f717b67b6047f3fbac2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3565047 Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org> Cr-Commit-Position: refs/heads/main@{#991273}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.