Hi BfCachers,
(cc: altimin@, arthursonzogni@)
kouhei@ asked me to take a look at the code
here dealing with restore/evict races, and I after looking at it for a bit I have some questions I hope you can help with.
The code in question attempts to verify that if a frame gets an eviction request, then it is still in the cache (i.e.: has not been restored). There has been a previous discussion of this
here, and a
CL to fix the race condition by carlscab was landed in M89. However, looking at
UMA and
crash/ (internal), the issue still seems to be happening.
According to UMA, in the past month this happened ~16K times compared to ~962M "successful" evictions. As far as I could tell from the DWOCs on crash/, they all originated from the
EvictFromBackForwardCache mojo call. Unfortunately, the histogram always logs the same reason (kByJavaScript) regardless of the reason provided in the mojo call and I have been unable to extract the reason from the dumps, so it is a little difficult to narrow down the exact cause of the eviction on the renderer side[1].
So my questions:
- Do we have data on how often this occurred before Carlos' CL? UMA doesn't seem to have data that far back.
- Given the relatively low number of occurrences, how important is this?
- Does anyone have any ideas on what may be causing this?
Thanks,
Tal
[1] Following Fergal's advice, I'll try adding crash keys and will hopefully have some more info on that next week.