• Omer Katz's avatar
    cppgc: Fix flaky crash due to used bytes counters mismatch · acb0263c
    Omer Katz authored
    Cppgc reports used bytes statistics to CppHeap. CppHeap should forward
    the stats to v8. However, if we are not allowed to trigger a GC, CppHeap
    will cache the stats until the reporting.
    On GC finalization, CppHeap resets v8's counters to the current marked
    bytes counter.
    If the last reported stats before GC finalization are cached, CppHeap
    doesn't clear the cache on GC finalization. On the next stats reporting,
    CppHeap will report the cached values. If the cache is a decrease that
    is larger than the current marked bytes, a DCHECK in
    LocalEmbedderHeapTracer::DecreaseAllocatedSize will fail.
    
    Bug: chromium:1056170
    Change-Id: I47933abc3e5f5c4a91454e0ec03adde5cf61d8fc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3056970
    Commit-Queue: Omer Katz <omerkatz@chromium.org>
    Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75986}
    acb0263c
cpp-heap.cc 25 KB