New issue
Advanced search Search tips

Issue 697697 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , iOS
Pri: 1
Type: Bug



Sign in to add a comment

TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly failing on numerous bots

Project Member Reported by chromium...@appspot.gserviceaccount.com, Mar 2 2017

Issue description

"base_unittests" 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=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyGQsSBUZsYWtlIg5iYXNlX3VuaXR0ZXN0cww.



This flaky test/step was previously tracked in  issue 689573 .
 

Comment 1 by grt@chromium.org, Mar 2 2017

Labels: -Sheriff-Chromium OS-iOS
Owner: robliao@chromium.org
Status: Assigned (was: Untriaged)
Hi Rob. I think this one's for you:

from https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/164898

[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly
[60164:2567:0301/163036.448905:19328020088352:FATAL:scheduler_single_thread_task_runner_manager.cc(204)] Check failed: workers_.empty(). SchedulerSingleThreadTaskRunners must outlive SchedulerSingleThreadTaskRunnerManager
0   base_unittests                      0x0136a2e6 base::debug::StackTrace::StackTrace(unsigned long) + 134
1   base_unittests                      0x0136a364 base::debug::StackTrace::StackTrace(unsigned long) + 36
2   base_unittests                      0x01368ae7 base::debug::StackTrace::StackTrace() + 39
3   base_unittests                      0x013e3acc logging::LogMessage::~LogMessage() + 92
4   base_unittests                      0x013e1807 logging::LogMessage::~LogMessage() + 23
5   base_unittests                      0x0152f6bd base::internal::SchedulerSingleThreadTaskRunnerManager::~SchedulerSingleThreadTaskRunnerManager() + 269
6   base_unittests                      0x0152f727 base::internal::SchedulerSingleThreadTaskRunnerManager::~SchedulerSingleThreadTaskRunnerManager() + 23
7   base_unittests                      0x00daad0a base::internal::(anonymous namespace)::TaskSchedulerSingleThreadTaskRunnerManagerTest::TearDown() + 170

Labels: OS-Android
This is also failing pretty consistently on the Android bots:

https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=base_unittests&tests=TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly

It appears to be crashing:
C   99.774s Main  [CRASH] TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly:
C   99.774s Main  [ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly
C   99.774s Main  [FATAL:scheduler_single_thread_task_runner_manager.cc(204)] Check failed: workers_.empty(). SchedulerSingleThreadTaskRunners must outlive SchedulerSingleThreadTaskRunnerManager


CL that introduced this test: https://chromium.googlesource.com/chromium/src/+/fc203f52e046a8d82e053525d764671f7128f3d4

Comment 3 Deleted

Summary: TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly failing on numerous bots (was: "base_unittests" is flaky)
It looks like robliao@ is in Tokyo so a fix won't be possible this morning. I'm going to revert the CL for now: https://codereview.chromium.org/2722113006/
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 2 2017

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

commit 78d29d2505c18c37f2869bcca08cf18701892655
Author: twellington <twellington@chromium.org>
Date: Thu Mar 02 19:45:23 2017

Revert of Introduce SchedulerSingleThreadTaskRunnerManager (patchset #7 id:280001 of https://codereview.chromium.org/2698843006/ )

Reason for revert:
TaskSchedulerSingleThreadTaskRunnerManagerTest.PrioritySetCorrectly is failing on numerous bots. See  crbug.com/697697 

Original issue's description:
> Introduce SchedulerSingleThreadTaskRunnerManager
>
> This component provides one dedicated thread per
> SingleThreadTaskRunner.
>
> Reference Change:
> https://codereview.chromium.org/2686593003/
>
> BUG= 684080 ,  694823 
>
> Review-Url: https://codereview.chromium.org/2698843006
> Cr-Commit-Position: refs/heads/master@{#453162}
> Committed: https://chromium.googlesource.com/chromium/src/+/fc203f52e046a8d82e053525d764671f7128f3d4

TBR=gab@chromium.org,fdoray@chromium.org,robliao@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 684080 ,  694823 ,  697697 

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

[modify] https://crrev.com/78d29d2505c18c37f2869bcca08cf18701892655/base/BUILD.gn
[delete] https://crrev.com/8dd0cb3cdf573d6ea0021f2962ef8116c9e80857/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[delete] https://crrev.com/8dd0cb3cdf573d6ea0021f2962ef8116c9e80857/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
[delete] https://crrev.com/8dd0cb3cdf573d6ea0021f2962ef8116c9e80857/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/78d29d2505c18c37f2869bcca08cf18701892655/base/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/78d29d2505c18c37f2869bcca08cf18701892655/base/task_scheduler/scheduler_worker_pool_params.cc
[modify] https://crrev.com/78d29d2505c18c37f2869bcca08cf18701892655/base/task_scheduler/scheduler_worker_pool_params.h
[modify] https://crrev.com/78d29d2505c18c37f2869bcca08cf18701892655/base/task_scheduler/task_scheduler_impl_unittest.cc

Status: Started (was: Assigned)
The test failure was...

TaskSchedulerWorkerPoolHistogramTest.NumTasksBeforeDetach: 
../../base/task_scheduler/scheduler_worker_pool_impl_unittest.cc:743: Failure
Value of: PlatformThreadRef()
  Actual: 8-byte object <00-00 00-00 00-00 00-00>
Expected: thread_ref
Which is: 8-byte object <00-80 6B-00 00-70 00-00>
../../base/task_scheduler/scheduler_worker_pool_impl_unittest.cc:757: Failure
Value of: PlatformThreadRef()
  Actual: 8-byte object <00-00 00-00 00-00 00-00>
Expected: thread_ref
Which is: 8-byte object <00-80 6B-00 00-70 00-00>
Components: Internals>TaskScheduler
fwiw, this also caused failures on some cast devices:
[ RUN      ] TaskSchedulerSingleThreadTaskRunnerManagerTest.PostDelayedTask
[3067:3067:0308/040049.286141:2102510569:FATAL:scheduler_single_thread_task_runner_manager.cc(204)] Check failed: workers_.empty(). SchedulerSingleThreadTaskRunners must outlive SchedulerSingleThreadTaskRunnerManager
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 10 2017

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

commit cee951ecb8aff83a6eb0ff734241813f735e8c45
Author: robliao <robliao@chromium.org>
Date: Fri Mar 10 20:21:29 2017

Introduce SchedulerSingleThreadTaskRunnerManager

This component provides one dedicated thread per
SingleThreadTaskRunner.

Reference Change:
https://codereview.chromium.org/2686593003/

BUG= 684080 ,  694823 ,  697697 

Review-Url: https://codereview.chromium.org/2698843006
Cr-Original-Commit-Position: refs/heads/master@{#453162}
Committed: https://chromium.googlesource.com/chromium/src/+/fc203f52e046a8d82e053525d764671f7128f3d4
Review-Url: https://codereview.chromium.org/2698843006
Cr-Commit-Position: refs/heads/master@{#456148}

[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/BUILD.gn
[add] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[add] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
[add] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_worker.cc
[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_worker.h
[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_worker_pool_params.cc
[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/scheduler_worker_pool_params.h
[modify] https://crrev.com/cee951ecb8aff83a6eb0ff734241813f735e8c45/base/task_scheduler/task_scheduler_impl_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Mar 14 2017

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

commit 404de72480129c6549041267a171a9b0f1f8189f
Author: robliao <robliao@chromium.org>
Date: Tue Mar 14 00:30:45 2017

Fix TaskSchedulerWorkerPoolHistogramTest.NumTasksBeforeDetach

This fix passes the pointer for the PlatformThreadRef to the task for
comparisons and actually gets the PlatformThreadRef from
PlatformThread::CurrentRef().

Previously, the test would race and pass by value. This meant that
if the previous task did not complete in time, it would pass the empty
reference. Since we were accidentally comparing against that, then the
test succeeded. When code ran slowly enough to set the value before
the next PostTask, then we would have the correct PlatformThreadRef,
but incorrectly compare it to the empty PlatformThreadRef, correctly
failing the test.

It's amazing that the tests passed in the first place!

BUG= 697697 

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

[modify] https://crrev.com/404de72480129c6549041267a171a9b0f1f8189f/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment