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

Issue 865438 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 31
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

blink_gc:allocated_objects_size dropped to zero

Project Member Reported by perezju@chromium.org, Jul 19

Issue description

We want to figure out what caused this and whether it's intended.

Running pinpoint job from here:
https://chromeperf.appspot.com/report?sid=fd22da25f495064cb8f9652df7671d0f4bd9ae10d59a6999dd3927acac30f1fe&start_rev=560526&end_rev=569180
 
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/12e96f49a40000

The swarming task expired. The bots are likely overloaded, dead, or misconfigured.
Cc: mlippautz@chromium.org
Owner: mlippautz@chromium.org
Status: Assigned (was: Untriaged)
📍 Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/14e07d93a40000

[oilpan] Move stats from ThreadHeapStats to ThreadHeapStatsCollector by mlippautz@chromium.org
https://chromium.googlesource.com/chromium/src/+/a28edd7823a5e5d6c3f524c9e5b6202b0ff655f0
2.144e+05 → 0 (-2.144e+05)

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
Michael, is it indented for your change to cause blink_gc:allocated_objects_size to drop to zero?
In the same range we noted that blink_gc:effective_size did not actually change, see e.g.:
https://chromeperf.appspot.com/report?sid=68fe66442a05e697f52577a5d8ab1678ee9252393576f677894f0daca488f7f6&start_rev=560526&end_rev=569180
In theory it's possible because of timing but I need to check that. It might very well be a bug.

Will probably get to this next week.
Cc: haraken@chromium.org keishi@chromium.org
Status: Started (was: Assigned)
We changed how counters are updated and held consistent in this CL. There's unfortunately a bug in the "special" garbage collection type that is used to create the memory dumps.

UMA and chrome://tracing is unaffected by this because they perform full GCs. For memory dumps we only perform marking and do not compute certain counters as we do not sweep the heap.

We do traverse all the necessary objects, so this is something that can be fixed right away.
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 31

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

commit deb0c9c1b6811ffaca406c15be5bad4907db7fe0
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Tue Jul 31 07:58:07 2018

[heap] Update marked bytes when making the heap consistent for snapshots

Live bytes are computed during sweeping for regular garbage collection.
The live bytes computation was missing from the logic that makes the
heap consistent after performing marking just for taking a snapshot.
The result is that ProcessHeap counters are not usable when just
performing a garbage collection for snapshots as the counters would
always be zeroed out.

Bug:  chromium:865438 
Change-Id: Id0d7e7a75895a6e6bb0ae62959f3e7a36b3d26fa
Reviewed-on: https://chromium-review.googlesource.com/1155121
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579339}
[modify] https://crrev.com/deb0c9c1b6811ffaca406c15be5bad4907db7fe0/third_party/blink/renderer/platform/heap/heap_page.cc

Cc: -mlippautz@chromium.org
Status: Fixed (was: Started)
Thanks a lot for reporting. Graphs should recover now.
Awesome, thanks! And thanks wangge@ for finding the bug in the first place!

Sign in to add a comment