New issue
Advanced search Search tips

Issue 823760 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 29
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

WallpaperControllerTest.ShowCustomWallpaperWithCorrectResolution is flaky

Project Member Reported by jamescook@chromium.org, Mar 20 2018

Issue description

Build with these GN args:

dcheck_always_on = true
is_debug = false
is_component_build = true
target_os = "chromeos"
use_goma = true
enable_nacl = false

Build and run all ash_unittests locally:

ninja -C out/Default -j500 -l99 ash_unittests && testing/xvfb.py out/Default/ash_unittests

Failures:

[ RUN      ] WallpaperControllerTest.ShowCustomWallpaperWithCorrectResolution
[205356:205356:0320/092359.300832:1213523945617:ERROR:wallpaper_controller.cc(1791)] Failed to decode user wallpaper at chrome_os_custom_wallpapers/small/user1@test.com-hash/user1@test.com-file Falls back to default wallpaper. 
[205356:205356:0320/092359.357330:1213524002115:ERROR:display_manager.cc(1986)] Could not find display:2200000001
[205356:206496:0320/092359.518048:1213524162835:ERROR:gl_context_virtual.cc(39)] Trying to make virtual context current without decoder.
[205356:205356:0320/092359.525174:1213524169959:ERROR:display_manager.cc(1986)] Could not find display:2200000002
[205356:206764:0320/092359.553421:1213524198206:ERROR:wallpaper_controller.cc(536)] The path chrome_os_custom_wallpapers/original/user1@test.com-hash/user1@test.com-file doesn't exist. Falls back to default wallpaper.
../../ash/wallpaper/wallpaper_controller_unittest.cc:1466: Failure
Value of: CompareDecodeFilePaths( {large_wallpaper_path, wallpaper_dir_->GetPath().Append(default_large_wallpaper_name)})
  Actual: false
Expected: true
[205356:206496:0320/092359.630865:1213524275651:ERROR:sync_point_manager.cc(136)] Client did not release sync token as expected
[205356:206496:0320/092359.638489:1213524283275:ERROR:sync_point_manager.cc(136)] Client did not release sync token as expected
[205356:206496:0320/092359.651499:1213524296286:ERROR:gl_context_virtual.cc(39)] Trying to make virtual context current without decoder.
[205356:205356:0320/092359.657891:1213524302677:ERROR:wallpaper_controller.cc(1791)] Failed to decode user wallpaper at chrome_os_custom_wallpapers/original/user1@test.com-hash/user1@test.com-file Falls back to default wallpaper. 
[205356:205356:0320/092359.661433:1213524306218:ERROR:display_manager.cc(1986)] Could not find display:2200000003
[205356:206764:0320/092359.716857:1213524361643:ERROR:wallpaper_controller.cc(536)] The path chrome_os_custom_wallpapers/original/user1@test.com-hash/user1@test.com-file doesn't exist. Falls back to default wallpaper.
../../ash/wallpaper/wallpaper_controller_unittest.cc:1480: Failure
Value of: CompareDecodeFilePaths( {large_wallpaper_path, wallpaper_dir_->GetPath().Append(default_large_wallpaper_name)})
  Actual: false
Expected: true

Maybe something wrong with paths? Use scoped temp dir?

WallpaperControllerTest.PreventReloadingSameWallpaper is also flaky, maybe related?

 Issue 786266  "WallpaperControllerTest.MojoWallpaperObserverTest is flaky" sounds familiar.

 
Ping? These tests always flake when I run locally, then succeed on retry:

[2759/2767] WallpaperControllerTest.ShowCustomWallpaperWithCorrectResolution (323 ms)
[2760/2767] WallpaperControllerTest.ShouldNotShowInitialAnimationAfterSignOut (179 ms)
[2761/2767] WallpaperControllerTest.SetOnlineWallpaper (157 ms)
[2762/2767] WallpaperControllerTest.ReloadWallpaper (163 ms)

Thanks for the reminder! I think it's because RunUntilIdle unblocks before the deletion of the wallpaper files finishes on another thread. I'll try creating a FileDeletionWaiter or something and see how it goes.
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 29

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

commit 1acc13b654e33bbf0d86c5bde3d9450666ad6469
Author: Wenzhao Zang <wzang@chromium.org>
Date: Sat Sep 29 07:59:34 2018

cros: WallpaperControllerTest should use ScopedTempDir

The flakiness is not related to RunUntilIdle(), but is because
ScopedTempDir is not used for custom or online wallpapers: the tests
do lots of operations on the directories, so we should make sure they
are unique to avoid affecting each other.

Bug:  823760 ,  823762 
Test: ash_unittests (Run all tests together)
Change-Id: I9cf6a70a4cfc146c8a0b91ed4cf2860dbc72394f
Reviewed-on: https://chromium-review.googlesource.com/1252981
Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595308}
[modify] https://crrev.com/1acc13b654e33bbf0d86c5bde3d9450666ad6469/ash/wallpaper/wallpaper_controller_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment