New issue
Advanced search Search tips

Issue 891383 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

UserAddingScreenTest.AddingSeveralUsers is flaky in single_process_mash_browsertests in msan bot

Project Member Reported by sky@chromium.org, Oct 2

Issue description

I suspect it's not waiting for some state to change. Here's sample error output:

../../chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc:168: Failure
  Expected equality of these values:
    session_manager::SessionState::LOGIN_SECONDARY
      Which is: 4-byte object <06-00 00-00>
    session_manager::SessionManager::Get()->session_state()
      Which is: 4-byte object <04-00 00-00>
  Stack trace:
      #0 0x00000980d746 in StackTraceGetter::CurrentStackTrace(int, int) ./../../third_party/googletest/custom/gtest/internal/custom/stack_trace_getter.cc:22:27
      #1 0x000009841d89 in testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop(int) ./../../third_party/googletest/src/googletest/src/gtest.cc:846:35
      #2 0x00000983fff2 in testing::internal::AssertHelper::operator=(testing::Message const&) const ./../../third_party/googletest/src/googletest/src/gtest.cc:421:25
      #3 0x000006ad2131 in chromeos::UserAddingScreenTest_AddingSeveralUsers_Test::RunTestOnMainThread() ./../../chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc:167:5
      #4 0x000016bca29c in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:424:5
      #5 0x0000152eb159 in Run ./../../base/callback.h:129:12
      #6 0x0000152eb159 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() ./../../chrome/browser/chrome_browser_main.cc:2022:0
      #7 0x0000152e679c in ChromeBrowserMainParts::PreMainMessageLoopRun() ./../../chrome/browser/chrome_browser_main.cc:1406:18
      #8 0x000008035626 in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() ./../../chrome/browser/chromeos/chrome_browser_main_chromeos.cc:702:32
      #9 0x00000d082adb in content::BrowserMainLoop::PreMainMessageLoopRun() ./../../content/browser/browser_main_loop.cc:1049:13
      #10 0x00000e7c2afd in Run ./../../base/callback.h:129:12
      #11 0x00000e7c2afd in content::StartupTaskRunner::RunAllTasksNow() ./../../content/browser/startup_task_runner.cc:43:0
      #12 0x00000d07a5a2 in content::BrowserMainLoop::CreateStartupTasks() ./../../content/browser/browser_main_loop.cc:960:25
      #13 0x00000d08f000 in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) ./../../content/browser/browser_main_runner_impl.cc:140:15
      #14 0x00000d06ed83 in content::BrowserMain(content::MainFunctionParams const&) ./../../content/browser/browser_main.cc:43:32
      #15 0x0000147a416b in RunBrowserProcessMain ./../../content/app/content_main_runner_impl.cc:538:10
      #16 0x0000147a416b in content::ContentMainRunnerImpl::Run(bool) ./../../content/app/content_main_runner_impl.cc:895:0
      #17 0x00001f4cedb8 in service_manager::Main(service_manager::MainParams const&) ./../../services/service_manager/embedder/main.cc:472:29
      #18 0x00001479b68f in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:19:10
      #19 0x000016bc8753 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:336:3
      #20 0x000015119c72 in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:255:20
  ../../chrome/browser/chromeos/login/login_manager_test.cc:189: Failure
  Failed
  Stack trace:
      #0 0x00000980d746 in StackTraceGetter::CurrentStackTrace(int, int) ./../../third_party/googletest/custom/gtest/internal/custom/stack_trace_getter.cc:22:27
      #1 0x000009841d89 in testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop(int) ./../../third_party/googletest/src/googletest/src/gtest.cc:846:35
      #2 0x00000983fff2 in testing::internal::AssertHelper::operator=(testing::Message const&) const ./../../third_party/googletest/src/googletest/src/gtest.cc:421:25
      #3 0x000006937ac0 in chromeos::LoginManagerTest::AddUserToSession(chromeos::UserContext const&) ./../../chrome/browser/chromeos/login/login_manager_test.cc:189:5
      #4 0x000006939108 in chromeos::LoginManagerTest::AddUser(AccountId const&) ./../../chrome/browser/chromeos/login/login_manager_test.cc:216:3
      #5 0x000006ad23dd in chromeos::UserAddingScreenTest_AddingSeveralUsers_Test::RunTestOnMainThread() ./../../chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc:169:5
      #6 0x000016bca29c in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:424:5
      #7 0x0000152eb159 in Run ./../../base/callback.h:129:12
      #8 0x0000152eb159 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() ./../../chrome/browser/chrome_browser_main.cc:2022:0
      #9 0x0000152e679c in ChromeBrowserMainParts::PreMainMessageLoopRun() ./../../chrome/browser/chrome_browser_main.cc:1406:18
      #10 0x000008035626 in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() ./../../chrome/browser/chromeos/chrome_browser_main_chromeos.cc:702:32
      #11 0x00000d082adb in content::BrowserMainLoop::PreMainMessageLoopRun() ./../../content/browser/browser_main_loop.cc:1049:13
      #12 0x00000e7c2afd in Run ./../../base/callback.h:129:12
      #13 0x00000e7c2afd in content::StartupTaskRunner::RunAllTasksNow() ./../../content/browser/startup_task_runner.cc:43:0
      #14 0x00000d07a5a2 in content::BrowserMainLoop::CreateStartupTasks() ./../../content/browser/browser_main_loop.cc:960:25
      #15 0x00000d08f000 in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) ./../../content/browser/browser_main_runner_impl.cc:140:15
      #16 0x00000d06ed83 in content::BrowserMain(content::MainFunctionParams const&) ./../../content/browser/browser_main.cc:43:32
      #17 0x0000147a416b in RunBrowserProcessMain ./../../content/app/content_main_runner_impl.cc:538:10
      #18 0x0000147a416b in content::ContentMainRunnerImpl::Run(bool) ./../../content/app/content_main_runner_impl.cc:895:0
      #19 0x00001f4cedb8 in service_manager::Main(service_manager::MainParams const&) ./../../services/service_manager/embedder/main.cc:472:29
      #20 0x00001479b68f in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:19:10
      #21 0x000016bc8753 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:336:3
      #22 0x000015119c72 in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:255:20
  ../../chrome/browser/chromeos/login/login_manager_test.cc:216: Failure
  Value of: AddUserToSession(user_context)
    Actual: false
  Expected: true
 
Sounds like something wrong with WaitUntilUserAddingFinishedOrCancelled. It is supposed to ensure clean state between user adding screens.

Do you have a link to the bot logs?
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 2

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

commit 530548e822ff3588b860f344bf901f56b9ba7d4c
Author: Scott Violet <sky@chromium.org>
Date: Tue Oct 02 18:42:26 2018

chromeos-mash: disable UserAddingScreenTest.AddingSeveralUsers

This test is flaky on the msan bot, and I suspect it could flake on the
non-msan bot as well.

BUG= 891383 
TEST=test only change

Change-Id: Ib8bdc7248faab8058fb8c37a02529214cb580f91
Reviewed-on: https://chromium-review.googlesource.com/c/1256987
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595925}
[modify] https://crrev.com/530548e822ff3588b860f344bf901f56b9ba7d4c/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter

It turns out that this is because we don't wait for user switching animation when using ws [1] but still observes MultiUserWindowManager. User 1's animation could close the login screen for adding user 2. This is a mash only flake.

[1]:  https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/ui/login_display_host_webui.cc?rcl=aa11ee7025b6716a83324b2b6238c8fcf0c86653&l=588
Cc: -xiy...@chromium.org
Components: UI>Shell>StartScreen Internals>Services>WindowService
Owner: xiy...@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 3

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

commit c2c790771d7eb2ee23ebe9f4636d31484341e0dc
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Wed Oct 03 20:24:40 2018

chromeos-mash: Fix flaky UserAddingScreenTest.AddingSeveralUsers

User adding screen does not wait for user switching animation
with Window Service (crbug.com/875111). But we are still observing
the animation and the screen is dismissed when the animation ends.
This could cause the user adding screen being dismissed unexpectedly
as shown in the single process mash browser tests. The CL fixes
the issue by not observing the animation in such case.

Bug:  891383 
Change-Id: I21d8735d517f7cbd8a17c2902dd73d9f05e282cc
Reviewed-on: https://chromium-review.googlesource.com/c/1259296
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596344}
[modify] https://crrev.com/c2c790771d7eb2ee23ebe9f4636d31484341e0dc/chrome/browser/chromeos/login/ui/login_display_host_webui.cc
[modify] https://crrev.com/c2c790771d7eb2ee23ebe9f4636d31484341e0dc/testing/buildbot/filters/chromeos.single_process_mash.browser_tests.filter

Status: Fixed (was: Started)

Sign in to add a comment