Lots of LOG(ERROR): Invalid first_meaningful_paint (unset) for time_to_interactive |
|||||||
Issue descriptionRepro step: * Open a url like https://www.nytimes.com/ * Immediately start typing gibberish on the keyboard until the page fully loads. * Wait an extra 10 second. * Open a new tab so that the page backgrounds. The console should have an error message like "Invalid first_meaningful_paint (unset) for time_to_interactive". The root cause seems to be when FMP is invalidated due to user input, Page Load Metrics no longer receives FMP, but InteractiveDetector still receives FMP.
,
Feb 4 2018
I think it was introduced since Interactive Detector landed (https://chromium-review.googlesource.com/c/chromium/src/+/720213). thestig@ first noticed the error message and notified me, but it was hard to find consistent reproduction steps.
,
Feb 4 2018
Looks like this is in M64 but not 63. Does that sound right? Could we request a cherrypick of the fix into 65?
,
Feb 4 2018
I'll try once the fix CL lands.
,
Feb 4 2018
And yes, I checked the UMA dashboard, and we only have TTI data since M64, so my best guess is that's when the errors started.
,
Feb 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2576d2ee65549577c3293fa1f657586845e895ff commit 2576d2ee65549577c3293fa1f657586845e895ff Author: Deepanjan Roy <dproy@chromium.org> Date: Thu Feb 08 17:05:28 2018 Do not pass TTI to browser if FMP was invalidated If First Meaningful Paint is invalidated on the renderer side, we should not pass a TTI value to the browser. If we do, we end up with a PageLoadTiming struct that contains a TTI value but no FMP value, and we throw away that struct as invalid. We still log a trace event (following the convention of FMP), because the reaching of TTI quiescence can be useful data for post processing. Bug: 808536 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I66869d0691bfc934fb94f427f6566f6a70463a73 Reviewed-on: https://chromium-review.googlesource.com/899506 Reviewed-by: Nate Chapin <japhet@chromium.org> Reviewed-by: Bryan McQuade <bmcquade@chromium.org> Commit-Queue: Deepanjan Roy <dproy@chromium.org> Cr-Commit-Position: refs/heads/master@{#535413} [modify] https://crrev.com/2576d2ee65549577c3293fa1f657586845e895ff/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h [modify] https://crrev.com/2576d2ee65549577c3293fa1f657586845e895ff/third_party/WebKit/Source/core/loader/InteractiveDetector.cpp [modify] https://crrev.com/2576d2ee65549577c3293fa1f657586845e895ff/third_party/WebKit/Source/core/loader/InteractiveDetector.h [modify] https://crrev.com/2576d2ee65549577c3293fa1f657586845e895ff/third_party/WebKit/Source/core/loader/InteractiveDetectorTest.cpp [modify] https://crrev.com/2576d2ee65549577c3293fa1f657586845e895ff/third_party/WebKit/Source/core/paint/PaintTiming.cpp [modify] https://crrev.com/2576d2ee65549577c3293fa1f657586845e895ff/tools/metrics/histograms/enums.xml
,
Feb 9 2018
Fixed? Thanks for working on this. Currently, the terminal from where I launched dev channel Chrome has nothing but this message.
,
Feb 12 2018
We're requesting a merge into M65 for this change, because 1. This bug is invalidating a significant portion of our page load metrics. If one metric is invalid, all page load metrics for that particular load is thrown out. See dramatic rise of errors in page load metrics here: https://uma.googleplex.com/p/chrome/timeline_v2/?sid=e7d1fe7441b090483b4aa6efa89e5b60 2. Although less urgent, the invalid metric is flooding users' console output making it harder to spot other errors.
,
Feb 12 2018
@thestig: Yes it's fixed now - we're requesting a merge back to M65 because the error is actually affecting a lot of our metrics. Thanks for reporting this bug!
,
Feb 12 2018
This bug requires manual review: M65 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 12 2018
Please add OSs
,
Feb 12 2018
,
Feb 13 2018
How safe is the change listed at #6 to merge to M65?
,
Feb 13 2018
It's a metrics only change, so there should be no user visible impact. Unfortunately the CL goes across a large refactoring CL [1] so the merge is not completely trivial. The only risk here would be crashes, but given that the CL in comment #6 changes less than 20 lines of actual code, I'm reasonably certain by manual inspection that there should be no newly introduced crashes. The change has also safely spent 4 days in Canary now. [1] https://chromium-review.googlesource.com/c/chromium/src/+/881602
,
Feb 13 2018
Approving merge to M65 branch 3325 based on comments #9 and #14. Please merge ASAP so we can pick it up for tomorrow's beta release. Thank you.
,
Feb 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/30aa6f499563e3b360a16f0723c21e0a76a482fa commit 30aa6f499563e3b360a16f0723c21e0a76a482fa Author: Deepanjan Roy <dproy@chromium.org> Date: Tue Feb 13 18:48:10 2018 Merge: Do not pass TTI to browser if FMP was invalidated This is a manual merge. If First Meaningful Paint is invalidated on the renderer side, we should not pass a TTI value to the browser. If we do, we end up with a PageLoadTiming struct that contains a TTI value but no FMP value, and we throw away that struct as invalid. We still log a trace event (following the convention of FMP), because the reaching of TTI quiescence can be useful data for post processing. TBR=japhet@chromium.org, tdresser@chromium.org, bmcquade@chromium.org Bug: 808536 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I66869d0691bfc934fb94f427f6566f6a70463a73 Reviewed-on: https://chromium-review.googlesource.com/899506 Reviewed-by: Nate Chapin <japhet@chromium.org> Reviewed-by: Bryan McQuade <bmcquade@chromium.org> Commit-Queue: Deepanjan Roy <dproy@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535413} Reviewed-on: https://chromium-review.googlesource.com/916723 Reviewed-by: Timothy Dresser <tdresser@chromium.org> Cr-Commit-Position: refs/branch-heads/3325@{#450} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369} [modify] https://crrev.com/30aa6f499563e3b360a16f0723c21e0a76a482fa/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h [modify] https://crrev.com/30aa6f499563e3b360a16f0723c21e0a76a482fa/third_party/WebKit/Source/core/loader/InteractiveDetector.cpp [modify] https://crrev.com/30aa6f499563e3b360a16f0723c21e0a76a482fa/third_party/WebKit/Source/core/loader/InteractiveDetector.h [modify] https://crrev.com/30aa6f499563e3b360a16f0723c21e0a76a482fa/third_party/WebKit/Source/core/loader/InteractiveDetectorTest.cpp [modify] https://crrev.com/30aa6f499563e3b360a16f0723c21e0a76a482fa/third_party/WebKit/Source/core/paint/PaintTiming.cpp [modify] https://crrev.com/30aa6f499563e3b360a16f0723c21e0a76a482fa/tools/metrics/histograms/enums.xml |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by bmcquade@chromium.org
, Feb 4 2018