Multi profile tests are failing with single process mash |
||||
Issue descriptionTests that create a MultiUserWindowManagerChromeOS are crashing with --enable-features=SingleProcessMash. Most of the time the stack trace looks like: [ RUN ] MultiUserContextMenuChromeOSTest.UnownedWindow [77235:77235:1128/175054.574415:1382792621569:WARNING:test_network_connection_tracker.cc(65)] Creating more than one TestNetworkConnectionTracker [77235:77235:1128/175054.605127:1382792652278:WARNING:shelf_button.cc(362)] An icon of size 32x32is being scaled up and will look blurry. [77235:77235:1128/175054.606135:1382792653284:WARNING:shelf_button.cc(362)] An icon of size 32x32is being scaled up and will look blurry. Received signal 11 SEGV_MAPERR 0000000000e8 #0 0x7f5fe5f06eaf base::debug::StackTrace::StackTrace() #1 0x7f5fe5f069b1 base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7f5fda8d10c0 <unknown> #3 0x55845f9e5397 MultiUserWindowManagerChromeOS::MultiUserWindowManagerChromeOS() #4 0x55845c0d599c ash::MultiUserContextMenuChromeOSTest::SetUp() #5 0x55845d251310 testing::Test::Run() #6 0x55845d2520af testing::TestInfo::Run() #7 0x55845d2525d7 testing::TestCase::Run() #8 0x55845d25e947 testing::internal::UnitTestImpl::RunAllTests() #9 0x55845d25e4bd testing::UnitTest::Run() #10 0x55845e257621 base::TestSuite::Run() #11 0x55845e25975d base::(anonymous namespace)::LaunchUnitTestsInternal() #12 0x55845e2595c1 base::LaunchUnitTests() #13 0x55845e24c9bf main #14 0x7f5fd8ff72b1 __libc_start_main #15 0x55845b3dc78a _start r8: 0000000000000000 r9: 0000000000000001 r10: 8080808080808080 r11: 00007f5fd9140e00 r12: 0000274537b6a780 r13: 0000274537f2bc50 r14: 0000274537f2bdb8 r15: 0000274537f2bda0 di: 0000000000000000 si: 0000274537a4c3a2 bp: 00007ffff68025a0 bx: 0000274537f2bc40 dx: 0000000000000068 ax: 0000000000000000 cx: 0000000000000002 sp: 00007ffff6802520 ip: 000055845f9e5397 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000004 trp: 000000000000000e msk: 0000000000000000 cr2: 00000000000000e8 [end of stack trace] Calling _exit(1). Core file will not be generated. ========================================================================================================== For MultiUserWindowManagerChromeOSMashTest.* the problem seems to be that we're just creating two MusClients. [ RUN ] MultiUserWindowManagerChromeOSMashTest.SingleProcessMashWindowOrdering [112266:112266:1128/175350.398711:1382968445970:WARNING:test_network_connection_tracker.cc(65)] Creating more than one TestNetworkConnectionTracker [112266:112266:1128/175350.473364:1382968520515:FATAL:env.cc(226)] Check failed: !window_tree_client_. #0 0x7f7712a42eaf base::debug::StackTrace::StackTrace() #1 0x7f77129728ab logging::LogMessage::~LogMessage() #2 0x7f770ecd27d0 aura::Env::SetWindowTreeClient() #3 0x7f770cc08175 views::MusClient::MusClient() #4 0x55602947c3e2 ash::MultiUserWindowManagerChromeOSMashTest::SetUp() #5 0x55602a5d6310 testing::Test::Run() #6 0x55602a5d70af testing::TestInfo::Run() #7 0x55602a5d75d7 testing::TestCase::Run() #8 0x55602a5e3947 testing::internal::UnitTestImpl::RunAllTests() #9 0x55602a5e34bd testing::UnitTest::Run() #10 0x55602b5dc621 base::TestSuite::Run() #11 0x55602b5de75d base::(anonymous namespace)::LaunchUnitTestsInternal() #12 0x55602b5de5c1 base::LaunchUnitTests() #13 0x55602b5d19bf main #14 0x7f7705b332b1 __libc_start_main #15 0x55602876178a _start
,
Nov 29
,
Nov 30
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7935e447796ae74eb3018c6de963a3d3f66e411a commit 7935e447796ae74eb3018c6de963a3d3f66e411a Author: Scott Violet <sky@chromium.org> Date: Thu Dec 13 18:29:46 2018 chromeos: adds ability for AshTestHelper to create MusClient This is useful for tests targetting single-process-mash. This also exposes a function on AshTestBase to create MusClient, which is useful for tests outside of ash that still use AshTestBase. The later is needed to ensure unit_tests work with SingleProcessMash. BUG= 910241 TEST=test only changes Change-Id: I97d095b55eba1ba0f19fa59358a999436fd9dc73 Reviewed-on: https://chromium-review.googlesource.com/c/1375454 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#616369} [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ash/test/ash_test_base.cc [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ash/test/ash_test_base.h [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ash/test/ash_test_helper.cc [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ash/test/ash_test_helper.h [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ash/ws/ash_window_manager_unittest.cc [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ash/ws/window_lookup_unittest.cc [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ui/aura/test/env_test_helper.cc [modify] https://crrev.com/7935e447796ae74eb3018c6de963a3d3f66e411a/ui/aura/test/env_test_helper.h
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/01208718fb14954d7e93da0c900968b8707c3b67 commit 01208718fb14954d7e93da0c900968b8707c3b67 Author: Scott Violet <sky@chromium.org> Date: Thu Dec 13 19:11:29 2018 WindowService: makes SetWindowVisibility() return false on failure In particular, ash has WindowObservers that override OnWindowVisibilityChanged() and force the window visibility back to what it was. This patch makes the WindowService deal with this. BUG= 910241 TEST=covered by tests Change-Id: I4fcd26cd8283aa38ee157f0d9c7831af68e867db Reviewed-on: https://chromium-review.googlesource.com/c/1375993 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#616381} [modify] https://crrev.com/01208718fb14954d7e93da0c900968b8707c3b67/services/ws/window_tree.cc [modify] https://crrev.com/01208718fb14954d7e93da0c900968b8707c3b67/services/ws/window_tree_test_helper.cc [modify] https://crrev.com/01208718fb14954d7e93da0c900968b8707c3b67/services/ws/window_tree_test_helper.h [modify] https://crrev.com/01208718fb14954d7e93da0c900968b8707c3b67/services/ws/window_tree_unittest.cc
,
Dec 14
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e5d5506e80a81b7b6078c976887d66507cf0786f commit e5d5506e80a81b7b6078c976887d66507cf0786f Author: Scott Violet <sky@chromium.org> Date: Fri Dec 14 17:11:49 2018 chromeos: updates BrowserWithTestWindowTest for mash makes it call to AshTestHelper to create MusClient. This also moves creation slightly earlier as some tests may need MusClient earlier. BUG= 910241 TEST=covered by tests Change-Id: I434716e8cbdf91a2af27330f53b7ddef331b6c82 Reviewed-on: https://chromium-review.googlesource.com/c/1377721 Reviewed-by: James Cook <jamescook@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#616718} [modify] https://crrev.com/e5d5506e80a81b7b6078c976887d66507cf0786f/chrome/test/base/browser_with_test_window_test.cc
,
Dec 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/32ab520f603b9ca4de0809ea54d9336b6e48b8f3 commit 32ab520f603b9ca4de0809ea54d9336b6e48b8f3 Author: Scott Violet <sky@chromium.org> Date: Sat Dec 15 00:35:39 2018 chromeos: gets a bunch of MultiUserWindowManager related tests passing MultiUserWindowManagerClientImpl, when running in single-process mash mode, expects a MusClient. So, tests that end up using AshTestBase/Helper *and* calling into MultiUserWindowManager need to ensure there is a MusClient. This also adds some calls to FlushBindings() at key points to ensure ash has completed processing. This is necessary as ash may change visibility of registered windows. BUG= 910241 TEST=covered by tests Change-Id: Ie7bcba3772284d0c2b53ab26b0e3ad50c3153928 Reviewed-on: https://chromium-review.googlesource.com/c/1378411 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#616897} [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/ash/ws/multi_user_window_manager_bridge.cc [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/DEPS [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos_unittest.cc [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/multi_user_window_manager_client_impl.cc [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/multi_user_window_manager_client_impl.h [add] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/multi_user_window_manager_client_impl_test_helper.cc [add] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/multi_user_window_manager_client_impl_test_helper.h [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/browser/ui/ash/multi_user/multi_user_window_manager_client_impl_unittest.cc [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/chrome/test/BUILD.gn [modify] https://crrev.com/32ab520f603b9ca4de0809ea54d9336b6e48b8f3/testing/buildbot/filters/chromeos.single_process_mash.unit_tests.filter
,
Dec 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/445d9eb4484577b2219d8d8e67dbedcee9804219 commit 445d9eb4484577b2219d8d8e67dbedcee9804219 Author: Scott Violet <sky@chromium.org> Date: Wed Dec 19 21:23:19 2018 chromeos: fixes BrowserFinderChromeOSTest.FindBrowserOwnedByAnotherProfile for mash. This test was creating an aura window, which is problematic for the mash case and MultiUserWindowManager. In particular, MultiUserWindowManager calls over mojo, and the ash side ignores calls to non-top-level windows. Because the test creates an aura::Window directly the window isn't a top-level and ash was ignoring the MultiUserWindowManager calls. The fix is to create a views::Widget, which is a top-level, so that ash doesn't ignore the request. This also adds a call to FlushBindings() to ensure some async processing completes before the assertions. I would like to replace usage of TestBrowserWindowAura, with TestBrowserWindowViews, but that can be done separately. BUG= 910241 TEST=test only change Change-Id: I2e6ccd86c4c39ae441c99efad82de43308ff4ae8 Reviewed-on: https://chromium-review.googlesource.com/c/1384657 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#617950} [modify] https://crrev.com/445d9eb4484577b2219d8d8e67dbedcee9804219/chrome/browser/ui/browser_finder_chromeos_unittest.cc [modify] https://crrev.com/445d9eb4484577b2219d8d8e67dbedcee9804219/chrome/test/base/test_browser_window_aura.cc [modify] https://crrev.com/445d9eb4484577b2219d8d8e67dbedcee9804219/chrome/test/base/test_browser_window_aura.h
,
Dec 19
|
||||
►
Sign in to add a comment |
||||
Comment 1 by est...@chromium.org
, Nov 29