Make SamplingHeapProfilerRateAgnosticEstimates more robust |
||
Issue descriptionThe test started failing after incremental marking step size heuristic change: https://chromium-review.googlesource.com/1017123 Test: cctest/test-heap-profiler/SamplingHeapProfilerRateAgnosticEstimates (flaky in a repeated run) Flags: test-heap-profiler/SamplingHeapProfilerRateAgnosticEstimates --random-seed=1571735677 --stress-incremental-marking --nohard-abort --enable-slow-asserts --verify-heap Command: out/Debug/cctest test-heap-profiler/SamplingHeapProfilerRateAgnosticEstimates --random-seed=1571735677 --stress-incremental-marking --nohard-abort --enable-slow-asserts --verify-heap Build environment: gn_args: is_component_build = true is_debug = true target_cpu = "x64" use_goma = true v8_enable_backtrace = true v8_enable_slow_dchecks = true Run #1 Exit code: -6 Result: FAIL Expected outcomes: PASS Duration: 00:02:166 Stderr: # # Fatal error in ../../test/cctest/test-heap-profiler.cc, line 3358 # Check failed: percent_difference < 0.15 (0.159683 vs. 0.15). # # # #FailureMessage Object: 0x7ffd1cc9e090
,
Apr 20 2018
The flakiness is caused by inlining of function bar into function foo. All allocations in function bar that happen after inlining are not accounted. Allocation counts for sampling interval 1024: [(root)]: 0 ....[]: 0 ........[foo]: 71 ............[bar]: 1024 ....[(V8 API)]: 1 ....[(EXTERNAL)]: 17 Allocation counts for sampling interval 128: [(root)]: 0 ....[]: 4 ........[foo]: 130 ............[bar]: 919 ....[(V8 API)]: 1 ....[(EXTERNAL)]: 1 We should either disable inlining or use the sum of allocations in foo and bar. I think summing up is better.
,
Apr 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/6b129066a9a765471051f0d4896b02d8a942875b commit 6b129066a9a765471051f0d4896b02d8a942875b Author: Ulan Degenbaev <ulan@chromium.org> Date: Fri Apr 20 13:56:14 2018 [test] Make SamplingHeapProfilerRateAgnosticEstimates more robust. The function allocating objects in the test can be inlined in the middle of the run. All allocations after inlining are currently not accounted. This patch sums up allocations of the function and its outer function. The difference between counts is now about 4%-6% (down from 15%). Bug: chromium:834832 Change-Id: Iad071bd5bf53bb3527c9cb24d0a9ea38618c833c Reviewed-on: https://chromium-review.googlesource.com/1021734 Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52713} [modify] https://crrev.com/6b129066a9a765471051f0d4896b02d8a942875b/test/cctest/test-heap-profiler.cc
,
Apr 20 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Apr 19 2018