New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 723060 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 0
Type: Bug-Regression



Sign in to add a comment

ActivityTrackerTest.ProcessDeathTest in base_unittests failing on all tablets

Project Member Reported by donnd@chromium.org, May 16 2017

Issue description

I see lots of failures in the last week on this test (https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=base_unittests&tests=ActivityTrackerTest.ProcessDeathTest)

Here's an example (https://uberchromegw.corp.google.com/i/chromium.android/builders/KitKat%20Tablet%20Tester/builds/7601):

I   45.582s run_tests_on_device(04996ae8)  [==========] Running 1 test from 1 test case.
I   45.582s run_tests_on_device(04996ae8)  [----------] Global test environment set-up.
I   45.582s run_tests_on_device(04996ae8)  [----------] 1 test from ActivityTrackerTest
I   45.582s run_tests_on_device(04996ae8)  [ RUN      ] ActivityTrackerTest.ProcessDeathTest
I   45.582s run_tests_on_device(04996ae8)  ../../base/debug/activity_tracker_unittest.cc:478: Failure
I   45.582s run_tests_on_device(04996ae8)        Expected: GlobalActivityTracker::kTypeIdProcessDataRecordFree
I   45.582s run_tests_on_device(04996ae8)        Which is: 2661359909
I   45.582s run_tests_on_device(04996ae8)  To be equal to: global->allocator()->GetType(proc_data_ref)
I   45.582s run_tests_on_device(04996ae8)        Which is: 1633607386
I   45.582s run_tests_on_device(04996ae8)  ../../base/debug/activity_tracker_unittest.cc:480: Failure
I   45.582s run_tests_on_device(04996ae8)        Expected: GlobalActivityTracker::kTypeIdActivityTrackerFree
I   45.582s run_tests_on_device(04996ae8)        Which is: 2727116364
I   45.582s run_tests_on_device(04996ae8)  To be equal to: global->allocator()->GetType(tracker_ref)
I   45.582s run_tests_on_device(04996ae8)        Which is: 1567850931
I   45.582s run_tests_on_device(04996ae8)  ../../base/debug/activity_tracker_unittest.cc:482: Failure
I   45.582s run_tests_on_device(04996ae8)        Expected: GlobalActivityTracker::kTypeIdUserDataRecordFree
I   45.582s run_tests_on_device(04996ae8)        Which is: 2661360165
I   45.582s run_tests_on_device(04996ae8)  To be equal to: global->allocator()->GetType(user_data_ref)
I   45.582s run_tests_on_device(04996ae8)        Which is: 1633607130
I   45.582s run_tests_on_device(04996ae8)  [  FAILED  ] ActivityTrackerTest.ProcessDeathTest (1 ms)
I   45.582s run_tests_on_device(04996ae8)  [----------] 1 test from ActivityTrackerTest (2 ms total)
I   45.582s run_tests_on_device(04996ae8)  
I   45.582s run_tests_on_device(04996ae8)  [----------] Global test environment tear-down
I   45.582s run_tests_on_device(04996ae8)  [==========] 1 test from 1 test case ran. (3 ms total)
I   45.582s run_tests_on_device(04996ae8)  [  PASSED  ] 0 tests.
I   45.582s run_tests_on_device(04996ae8)  [  FAILED  ] 1 test, listed below:
I   45.582s run_tests_on_device(04996ae8)  [  FAILED  ] ActivityTrackerTest.ProcessDeathTest
I   45.582s run_tests_on_device(04996ae8)  
I   45.582s run_tests_on_device(04996ae8)   1 FAILED TEST

 

Comment 1 by donnd@chromium.org, May 16 2017

Owner: bcwh...@chromium.org
Status: Assigned (was: Available)
bcwhite@chromium.org can you help triage?

Comment 2 by donnd@chromium.org, May 17 2017

Cc: harkness@chromium.org estevenson@chromium.org
Trying to land a CL to disable the failing tests on Android: https://chromiumcodereview.appspot.com/2887743003

Project Member

Comment 3 by bugdroid1@chromium.org, May 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f952e45e26c1aa784e76d2088f185e2dbb714306

commit f952e45e26c1aa784e76d2088f185e2dbb714306
Author: donnd <donnd@chromium.org>
Date: Wed May 17 15:44:55 2017

Disable failing ProcessDeathTest on Android.

The ActivityTrackerTest#ProcessDeathTest fails on Android tablets
about 10% of runs.  Disabling for Android-only.

BUG= 723060 
TBR=bcwhite

Review-Url: https://codereview.chromium.org/2887743003
Cr-Commit-Position: refs/heads/master@{#472462}

[modify] https://crrev.com/f952e45e26c1aa784e76d2088f185e2dbb714306/base/debug/activity_tracker_unittest.cc

That test was submitted 2 months ago and it just started failing a week ago?
Status: Started (was: Assigned)
It seems very, very sporadic.  I found one failure (the one given) over 200 on a page.

Given that, I'm going to go with the theory that it's a race condition where the clock has not "ticked" between create and exit of the simulated process.  This could be more prominent on Android if its clock ticks at a slower rate that desktops.

Simple fix in the test: Wait for clock to increment.

Comment 6 by donnd@chromium.org, May 18 2017

Sounds like a good plan.

BTW, it looks like roughly 10% of runs fail based on the flakiness dashboard (gray boxes indicate a fail that was retried): https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=base_unittests&tests=ActivityTrackerTest.ProcessDeathTest
Project Member

Comment 7 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f04e36c1450b210d10cbffb115c72c6676b58a8e

commit f04e36c1450b210d10cbffb115c72c6676b58a8e
Author: bcwhite <bcwhite@chromium.org>
Date: Tue May 23 13:09:20 2017

Ensure clock advances in test between create and exit.

There is a check in the tracker to ignore processes with a create-
time greater or equal than the current time in order to not mistake
a currently-running process that has reused a PID for an exited
one.

BUG= 723060 

Review-Url: https://codereview.chromium.org/2894933002
Cr-Commit-Position: refs/heads/master@{#473873}

[modify] https://crrev.com/f04e36c1450b210d10cbffb115c72c6676b58a8e/base/debug/activity_tracker_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment