New issue
Advanced search Search tips

Issue 892636 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Oct 5
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 729596



Sign in to add a comment

Fix browsertests failures when FieldTrialSynchronizer is created early

Project Member Reported by hanxi@chromium.org, Oct 5

Issue description

Multiple browsertests failed due to FieldTrialSynchronizer is created early and posts task to BrowserThread::UI before the UI thread is initialized. The print statck is:

  [ RUN      ] PromotionalTabsEnabledPolicyTest.RunTest/1
  Xlib:  extension "RANDR" missing on display ":99".
  [8131:8131:0926/140426.624723:FATAL:browser_thread_impl.cc(233)] Check failed: base::subtle::NoBarrier_Load(&globals.states[identifier]) >= BrowserThreadState::RUNNING (0 vs. 1)
  #0 0x00000684b64c base::debug::StackTrace::StackTrace()
  #1 0x00000679547b logging::LogMessage::~LogMessage()
  #2 0x000004a8cf73 content::BrowserThread::GetTaskRunnerForThread()
  #3 0x000004e91317 content::(anonymous namespace)::BrowserThreadTaskRunner::PostDelayedTask()
  #4 0x000004e90eac content::BrowserTaskExecutor::PostDelayedTaskWithTraits()
  #5 0x0000067e3e35 base::PostTaskWithTraits()
  #6 0x0000069d6cda FieldTrialSynchronizer::OnFieldTrialGroupFinalized()
  #7 0x000004c6b576 base::ObserverListThreadSafe<>::NotifyWrapper()
  #8 0x00000426a59d _ZN4base8internal7InvokerINS0_9BindStateIMN5media29GpuMemoryBufferVideoFramePool8PoolImplEFvPNS5_14FrameResourcesERKN3gpu9SyncTokenEEJ13scoped_refptrIS5_ES7_S9_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
  #9 0x00000679f60d base::debug::TaskAnnotator::RunTask()
  #10 0x00000679e6ce base::MessageLoop::RunTask()
  #11 0x00000679ead2 base::MessageLoop::DoWork()
  #12 0x0000067a293f base::(anonymous namespace)::WorkSourceDispatch()
  #13 0x7f0c19799e04 g_main_context_dispatch
  #14 0x7f0c1979a048 <unknown>
  #15 0x7f0c1979a0ec g_main_context_iteration
  #16 0x0000067a265c base::MessagePumpGlib::Run()
  #17 0x00000679e1a1 base::MessageLoop::Run()
  #18 0x0000067ca346 base::RunLoop::Run()
  #19 0x0000067ca977 base::RunLoop::RunUntilIdle()
  #20 0x00000c17c0e7 policy::MockConfigurationPolicyProvider::UpdateChromePolicy()
  #21 0x000002ae9edf policy::PolicyTest::UpdateProviderPolicy()
  #22 0x000002b2d95c policy::PromotionalTabsEnabledPolicyTest::CreatedBrowserMainParts()
  #23 0x000004a83ba7 content::BrowserMainRunnerImpl::Initialize()
  #24 0x000004a7c8a2 content::BrowserMain()
  #25 0x0000066ea708 content::ContentMainRunnerImpl::RunServiceManager()
  #26 0x0000066ea5a9 content::ContentMainRunnerImpl::Run()
  #27 0x0000089a3909 service_manager::Main()
  #28 0x0000066e88d1 content::ContentMain()
  #29 0x000006e7913b content::BrowserTestBase::SetUp()
  #30 0x0000068965ed InProcessBrowserTest::SetUp()
  #31 0x000003ba29fd testing::Test::Run()
  #32 0x000003ba3660 testing::TestInfo::Run()
  #33 0x000003ba3b77 testing::TestCase::Run()
  #34 0x000003bafd27 testing::internal::UnitTestImpl::RunAllTests()
  #35 0x000003baf89d testing::UnitTest::Run()
  #36 0x0000068ae481 base::TestSuite::Run()
  #37 0x0000067717fa ChromeTestSuiteRunner::RunTestSuite()
  #38 0x000006ea0f45 content::LaunchTests()
  #39 0x000006771ca3 LaunchChromeTests()
  #40 0x00000677177e main
  #41 0x7f0c1400bf45 __libc_start_main
  #42 0x00000260102a _start

The browsertests failsures are seen in CL (https://chromium-review.googlesource.com/c/chromium/src/+/1174955).
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 5

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

commit ce5bd26bf2cca25e4cba92df9dd2d972606a5e7d
Author: Xi Han <hanxi@google.com>
Date: Fri Oct 05 15:41:13 2018

Fix browsertests failures when FieldTrialSynchronizer is created early.

The tests are failed due to FieldTrialSynchronizer is created early and posts
task to BrowserThread::UI before the UI thread is initialized. In this case,
the FieldTrialSynchronizer doesn't need to post task to UI thread since the
renderers are not created yet.

Bug:  892636 
Change-Id: Ib7d46709f3fca6a749b82d0ba2f601dcf551a8d0
Reviewed-on: https://chromium-review.googlesource.com/c/1264737
Commit-Queue: Xi Han <hanxi@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597140}
[modify] https://crrev.com/ce5bd26bf2cca25e4cba92df9dd2d972606a5e7d/chrome/browser/metrics/field_trial_synchronizer.cc

Blocking: 729596
Status: Fixed (was: Untriaged)

Sign in to add a comment