New issue
Advanced search Search tips

Issue 743056 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

ChromeOSMetricsProvider::InitTaskGetHardwareClassOnBackgroundThread on wrong thread

Project Member Reported by jonr...@chromium.org, Jul 14 2017

Issue description

Hi isherman,

I saw that you recently made changes to ChromeOSMetricsProvider::InitTaskGetHardwareClassOnBackgroundThread

I'm seeing this being ran on the wrong thread on the Mojo Chromium OS bots during telemetry_unittests

  [17524:17543:0714/072328.691794:FATAL:thread_restrictions.cc(77)] Check failed: false. Waiting is not allowed to be used on this thread to prevent jank and deadlock.  If this task is running inside the TaskScheduler, the TaskRunner used to post it needs to have WithBaseSyncPrimitives() in its TaskTraits.
  #0 0x7fb4d680b6fc base::debug::StackTrace::StackTrace()
  #1 0x7fb4d6823aa1 logging::LogMessage::~LogMessage()
  #2 0x7fb4d6880502 base::ThreadRestrictions::AssertWaitAllowed()
  #3 0x7fb4d69ebbf7 ChromeOSMetricsProvider::InitTaskGetHardwareClassOnBackgroundThread()
  #4 0x7fb4d4a8c564 _ZN4base8internal7InvokerINS0_9BindStateIMN11google_apis19UrlFetchRequestBaseEFvvEJNS_7WeakPtrINS3_5drive30SingleBatchableDelegateRequestEEEEEEFvvEE3RunEPNS0_13BindStateBaseE
  #5 0x7fb4d6877f19 base::(anonymous namespace)::PostTaskAndReplyRelay::RunTaskAndPostReply()
  #6 0x7fb4d68b4ff0 base::debug::TaskAnnotator::RunTask()
  #7 0x7fb4d686f9bd base::internal::TaskTracker::PerformRunTask()
  #8 0x7fb4d686fff7 base::internal::TaskTrackerPosix::PerformRunTask()
  #9 0x7fb4d686f202 base::internal::TaskTracker::RunNextTask()
  #10 0x7fb4d68bf6aa base::internal::SchedulerWorker::Thread::ThreadMain()
  #11 0x7fb4d6877bef base::(anonymous namespace)::ThreadFunc()
  #12 0x7fb4d37e1184 start_thread
  #13 0x7fb4d01dcffd clone

An example build with this failure: https://build.chromium.org/p/chromium.fyi/builders/Mojo%20ChromiumOS/builds/19946
 
Status: Started (was: Assigned)
Thanks for the bug report!  Addressing in https://chromium-review.googlesource.com/572740
Cc: isherman@chromium.org
 Issue 743297  has been merged into this issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 20 2017

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

commit f97af9d1f83b44bee1172df3b59eebfc6c819591
Author: Ilya Sherman <isherman@chromium.org>
Date: Thu Jul 20 20:16:23 2017

[Task Scheduler] Allow the ChromeOSMetricsProvider to wait.

The InitTaskGetHardwareClassOnBackgroundThread() code calls into
StatisticsProvider::GetMachineStatistic(), which calls
WaitForStatisticsLoaded(), which uses a WaitableEvent.

Bug:  743056 
Change-Id: I3da6e975b1d774f963ca4cdb9242878357bd2b78
Reviewed-on: https://chromium-review.googlesource.com/572740
Reviewed-by: Alexei Svitkine (slow) <asvitkine@chromium.org>
Commit-Queue: Alexei Svitkine (slow) <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488378}
[modify] https://crrev.com/f97af9d1f83b44bee1172df3b59eebfc6c819591/chrome/browser/metrics/chromeos_metrics_provider.cc

Labels: M-61
Status: Fixed (was: Started)
Components: -MUS Internals>Services>WindowService

Sign in to add a comment