UserInputTracker::OnInputEvent receives WebInputEvents with timestamps in the future |
||||||||
Issue description"CorePageLoadMetricsObserverTest.FirstMeaningfulPaintAfterInteraction" is flaky. This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label. We have detected 3 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyTwsSBUZsYWtlIkRDb3JlUGFnZUxvYWRNZXRyaWNzT2JzZXJ2ZXJUZXN0LkZpcnN0TWVhbmluZ2Z1bFBhaW50QWZ0ZXJJbnRlcmFjdGlvbgw. Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs
,
Jan 3 2017
sorry ksakamoto@, after looking into this a little more, I don't think this a problem with your test. This is being caused by an assertion failure, and comes up in two different tests (CorePageLoadMetricsObserverTest.FirstMeaningfulPaintAfterInteraction and FromGWSPageLoadMetricsObserverTest.CloseAfterInteraction) for try jobs on a few different CLs. It has only flaked out with patches applied, but all 4 of these CLs have already landed, so cc'ing the authors. It looks like the test failures happen because the input event time is in the future for some reason. The DCHECK checks that !base::TimeTicks::IsHighResolution(), which will always fail on Linux (where it's flaking out) - https://cs.chromium.org/chromium/src/base/time/time_posix.cc?q=base/time/time_posix.cc&sq=package:chromium&l=375. Bryan, do you know what's going wrong here? [8856:8856:0103/141142.407412:87564934:FATAL:user_input_tracker.cc(102)] Check failed: !base::TimeTicks::IsHighResolution(). #0 0x0000043fa60e base::debug::StackTrace::StackTrace() #1 0x00000441361b logging::LogMessage::~LogMessage() #2 0x000004022b97 page_load_metrics::UserInputTracker::OnInputEvent() #3 0x0000040211f0 page_load_metrics::PageLoadTracker::OnInputEvent() #4 0x00000097f0fb CorePageLoadMetricsObserverTest_FirstMeaningfulPaintAfterInteraction_Test::TestBody() #5 0x000003879cde testing::Test::Run() #6 0x00000387aac0 testing::TestInfo::Run() #7 0x00000387af57 testing::TestCase::Run() #8 0x000003882217 testing::internal::UnitTestImpl::RunAllTests() #9 0x000003881e2a testing::UnitTest::Run() #10 0x00000351d9e1 base::TestSuite::Run() #11 0x00000351f53d base::(anonymous namespace)::LaunchUnitTestsInternal() #12 0x00000351f3b4 base::LaunchUnitTests() #13 0x000003518c71 main #14 0x7ff48dbaa7ed __libc_start_main #15 0x000000645d61 <unknown>
,
Jan 3 2017
Issue 678094 has been merged into this issue.
,
Jan 4 2017
My CL [1] was a comment change, so (compiler errors aside) it couldn't have changed the test's behavior. I hope this helps narrow down the range. [1] https://codereview.chromium.org/2603413002/
,
Jan 4 2017
I believe I'm on copy here because of the tryjob which failed at https://codereview.chromium.org/2611763002/#ps1 , but that CL is just adding a define which isn't actually used anywhere yet. (It will be used in about an hour.)
,
Jan 4 2017
Detected 13 new flakes for test/step "CorePageLoadMetricsObserverTest.FirstMeaningfulPaintAfterInteraction". To see the actual flakes, please visit https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyTwsSBUZsYWtlIkRDb3JlUGFnZUxvYWRNZXRyaWNzT2JzZXJ2ZXJUZXN0LkZpcnN0TWVhbmluZ2Z1bFBhaW50QWZ0ZXJJbnRlcmFjdGlvbgw. This message was posted automatically by the chromium-try-flakes app.
,
Jan 4 2017
I'll try to start working on this soon.
,
Jan 4 2017
Detected 18 new flakes for test/step "FromGWSPageLoadMetricsObserverTest.CloseAfterInteraction". To see the actual flakes, please visit https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyQwsSBUZsYWtlIjhGcm9tR1dTUGFnZUxvYWRNZXRyaWNzT2JzZXJ2ZXJUZXN0LkNsb3NlQWZ0ZXJJbnRlcmFjdGlvbgw. This message was posted automatically by the chromium-try-flakes app.
,
Jan 5 2017
bmcquade@: this is affecting Chromium's commit queue and causing valid CLs to be kicked out of the CQ. One example is try job https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/364707 from CL https://codereview.chromium.org/2594843002 but I've seen it on other try jobs too. Please temporarily disable these two tests: FromGWSPageLoadMetricsObserverTest.CloseAfterInteraction CorePageLoadMetricsObserverTest.FirstMeaningfulPaintAfterInteraction Thanks.
,
Jan 5 2017
This test has been unchanged for months and seems to be a flake problem only recently, so before we disable the test I'm going to see if some other more recent change is responsible for the flake.
,
Jan 5 2017
Following up on comment #2, the DCHECK for IsHighResolution should never be reached, as input event timestamps should always be less than or equal to the current time. So there's a bug with the input event timestamps which may have been introduced recently. I'll take a quick look to see if anything stands out and if I don't see any obvious issues I'll disable the dcheck. Disabling the failing tests is not the right fix here.
,
Jan 5 2017
UserInputTracker::OnInputEvent has a DCHECK to make sure that any WebInputEvent received has a timeStampSeconds that isn't in the future. The dcheck only fires in cases where we have a high resolution clock, as high resolution clocks are guaranteed to be system-wide monotonic across all processes (whereas the windows non-high res monotonic clock can skew between processes). This dcheck recently started firing in unit tests. For now, we should just disable the dcheck since the broken tests is causing issues for other devs, but the real fix is to figure out why the input events have timestamps in the future and fix that.
,
Jan 5 2017
Fix is here: https://codereview.chromium.org/2611943004 will commit once trybots go green.
,
Jan 5 2017
Can we form a regression range for the issue?
,
Jan 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec1a7d3712848ad33ca4adf21950877624d44ee0 commit ec1a7d3712848ad33ca4adf21950877624d44ee0 Author: bmcquade <bmcquade@chromium.org> Date: Thu Jan 05 16:05:28 2017 Disable UserInputTracker DCHECK which is firing in unit tests. UserInputTracker::OnInputEvent has a DCHECK to make sure that any WebInputEvent received has a timeStampSeconds that isn't in the future. The dcheck only fires in cases where we have a high resolution clock, as high resolution clocks are guaranteed to be system-wide monotonic across all processes (whereas the windows non-high res monotonic clock can skew between processes). This dcheck recently started firing in unit tests. For now, we just disable the dcheck since the broken tests is causing issues for other devs, but the real fix is to figure out why the input events have timestamps in the future and fix that. BUG=678093 Review-Url: https://codereview.chromium.org/2611943004 Cr-Commit-Position: refs/heads/master@{#441664} [modify] https://crrev.com/ec1a7d3712848ad33ca4adf21950877624d44ee0/chrome/browser/page_load_metrics/user_input_tracker.cc
,
Jan 6 2017
Detected 8 new flakes for test/step "CorePageLoadMetricsObserverTest.FirstMeaningfulPaintAfterInteraction". To see the actual flakes, please visit https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyTwsSBUZsYWtlIkRDb3JlUGFnZUxvYWRNZXRyaWNzT2JzZXJ2ZXJUZXN0LkZpcnN0TWVhbmluZ2Z1bFBhaW50QWZ0ZXJJbnRlcmFjdGlvbgw. This message was posted automatically by the chromium-try-flakes app.
,
Jan 6 2017
Detected 8 new flakes for test/step "FromGWSPageLoadMetricsObserverTest.CloseAfterInteraction". To see the actual flakes, please visit https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyQwsSBUZsYWtlIjhGcm9tR1dTUGFnZUxvYWRNZXRyaWNzT2JzZXJ2ZXJUZXN0LkNsb3NlQWZ0ZXJJbnRlcmFjdGlvbgw. This message was posted automatically by the chromium-try-flakes app.
,
Jan 6 2017
This appears to be under proper ownership now, removing sheriff label.
,
Jul 25
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by samu...@chromium.org
, Jan 3 2017Status: Assigned (was: Untriaged)