Make sure FullscreenControllerTest.FullscreenOnFileURL doesn't become flaky when profile picker change is relanded |
|||||||
Issue descriptionFullscreenControllerTest.FullscreenOnFileURL from browser_tests failing on chromium.mac/Mac10.10 Tests Type: build-failure Builders failed on: - Mac10.10 Tests: https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests
,
Jan 17 2017
The test is flaky, it either passes or fails with segmentation fault (only on Mac10.10). As far as I could find out, the first failure was in the following build: https://uberchromegw.corp.google.com/i/chromium.mac/builders/Mac10.10%20Tests/builds/12016 I skimmed through the CLs included to the build, and I suspect that the one causing flakiness is: https://chromium.googlesource.com/chromium/src/+/a5fd3c415f3cc4f8813ba9772d838bee41040ae8. Sidney (sdy@), could you please take a look? Adding Emily (estark@), as she is an author of the failing test. I am also adding Trent (tapted@), because his changes (https://chromium.googlesource.com/chromium/src/+/caeaf7c8f5c0daf2db7fd1a0dad1828dac26d62c, https://chromium.googlesource.com/chromium/src/+/67b5583718d2ed35011af6d7468068e3c0237166) were in this build as well touching some UI on Mac. Trent, please also take a look, maybe you can spot a problem right away. Thank you.
,
Jan 17 2017
,
Jan 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/23d8cf2f9da96b2e9e3496738688b6e9615ea094 commit 23d8cf2f9da96b2e9e3496738688b6e9615ea094 Author: pkalinnikov <pkalinnikov@chromium.org> Date: Tue Jan 17 11:38:38 2017 Revert of [Mac] Fix rough-looking profile picker text, especially with a dark theme. (patchset #9 id:180001 of https://codereview.chromium.org/2430493002/ ) Reason for revert: FullscreenControllerTest.FullscreenOnFileURL from browser_tests flakes chromium.mac/Mac10.10 Tests builder. Original issue's description: > [Mac] Fix rough-looking profile picker text, especially with a dark theme. > > Issue 593835 shows the AvatarButton's text having jagged, rainbow tinted > edges. It turns out that the text cell gets a hint about anti-aliasing > from the NSVisualEffect view below it, but the hint is wrong because the > NSVisualEffectView is itself below the theme background. > > This only happens when the NSVisualEffectView's blendingMode is set to > NSVisualEffectBlendingModeBehindWindow (which makes the content behind > the window show through with a blur effect). To create the effect, the > view cuts a hole in the window and generates a mask which the window > server uses to render a translucent material behind the window. > > Because the translucent parts of the window are invisible to the app, > the text can't render itself with correct subpixel anti-aliasing, which > needs information about the background. To help, NSVisualEffectView > implements two undocumented methods: > `-shouldSetFontSmoothingBackgroundColor` and > `-_backgroundColorForFontSmoothing`. It provides the base color of the > translucent material, and for the purpose of antialiasing the text cell > pretends that it's over an opaque background of that color. Because the > translucency effect is subtle, it's not obvious that the antialiasing is > done with a fixed color. > > NSView implements these methods to first search its immediate subviews > and return the first YES/non-nil answer, or return NO/nil if > `self.opaque == YES`, then tail call the same method on its superview. > > A quirk of this strategy is that, to provide a background color to a > text view, an NSVisualEffectView must be either a superview or an > immediate subview of a superview. So, the AvatarButton's text does get a > background color hint with the current hierarchy: > > - NSThemeFrame > |- NSVisualEffectView > | |- TabStripBackgroundView > |- FullSizeContentView > |- AvatarButton > > …but, if the NSVisualEffectView were wrapped in another view, it doesn't > (because each step of the search just looks at immediate subviews): > > - NSThemeFrame > |- NSView > | |- NSVisualEffectView > | | |- TabStripBackgroundView > |- FullSizeContentView > |- AvatarButton > > Anyway, back on topic, our issue is that the text cell accepts the > hinted background color, which is never right since Chrome always > draws a tint over the visual effect view, and in some cases the hint is > drastically wrong. > > Ideally, we'd provide a fake background for the text to perform subpixel > anti-aliasing against, but it's unclear how to do that. For now, the > simplest solution is to wrap it in another view. > > This CL sucks all of the tab strip background drawing into > TabStripBackgroundView, and makes it so that other views don't need to > know about the NSVisualEffectView at all. > > It also only creates the NSVisualEffectView when it's used, and gets rid > of it when it's not used (like in full screen, or when a theme is > installed). > > BUG= 593835 > > Review-Url: https://codereview.chromium.org/2430493002 > Cr-Commit-Position: refs/heads/master@{#443707} > Committed: https://chromium.googlesource.com/chromium/src/+/a5fd3c415f3cc4f8813ba9772d838bee41040ae8 TBR=spqchan@chromium.org,avi@chromium.org,rsesek@chromium.org,sdy@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 593835 , 681772 Review-Url: https://codereview.chromium.org/2638873002 Cr-Commit-Position: refs/heads/master@{#444028} [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/base/mac/sdk_forward_declarations.h [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/browser_window_controller_private.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/browser_window_controller_unittest.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/browser_window_fullscreen_transition.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/floating_bar_backing_view.h [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/floating_bar_backing_view.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_strip_background_view.h [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_strip_background_view.mm [delete] https://crrev.com/f518baaa99a18fb01196946dafe59218ffbf4285/chrome/browser/ui/cocoa/tabs/tab_strip_background_view_unittest.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_strip_controller.h [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_strip_view.h [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_strip_view.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_window_controller.h [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/browser/ui/cocoa/tabs/tab_window_controller.mm [modify] https://crrev.com/23d8cf2f9da96b2e9e3496738688b6e9615ea094/chrome/test/BUILD.gn
,
Jan 17 2017
Reverted the culprit patch, let's see how it goes.
,
Jan 17 2017
There's a crasher in Canary with a very similar stack -- Issue 681455 "Chrome_Mac: Crash Report - -[TabStripBackgroundView updateVisualEffectView] Fracas". It's possible these are related.
,
Jan 17 2017
Also filed Issue 681930 for a collection of crashes in stable channel with a similar stack. Also 10.10 only.
,
Jan 17 2017
No flakes since revert landed, so removing sheriff label.
,
Feb 23 2017
,
Mar 19 2018
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by pkalinnikov@chromium.org
, Jan 17 2017Log of the failing test (segmentation fault): FullscreenControllerTest.FullscreenOnFileURL (run #1): [ RUN ] FullscreenControllerTest.FullscreenOnFileURL 2017-01-17 00:34:17.922 browser_tests[39108:561098] NSWindow warning: adding an unknown subview: <FullSizeContentView: 0x7ffe60f7f730> 2017-01-17 00:34:17.922 browser_tests[39108:561098] Call stack: ( "+callStackSymbols disabled for performance reasons" ) [00:34:18.109] vtDecompressionDuctCreate signalled err=-8973 (err) (Could not select and open decoder instance) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.240/Sources/VideoToolbox/VTDecompressionSession.c line 1181 <<<< VTVideoEncoderSelection >>>> VTSelectAndCreateVideoEncoderInstanceInternal: no video encoder found for 'avc1' [00:34:18.183] VTSelectAndCreateVideoEncoderInstanceInternal signalled err=-12908 (err) (Video encoder not available) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.240/Sources/VideoToolbox/VTVideoEncoderSelection.c line 1245 [00:34:18.183] VTCompressionSessionCreate signalled err=-12908 (err) (Could not select and open encoder instance) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.240/Sources/VideoToolbox/VTCompressionSession.c line 946 BrowserTestBase received signal: Segmentation fault: 11. Backtrace: 0 browser_tests 0x000000010e6bab83 _ZN4base5debug10StackTraceC1Ev + 19 1 browser_tests 0x000000010edca3aa _ZN7content12_GLOBAL__N_1L27DumpStackTraceSignalHandlerEi + 202 2 libsystem_platform.dylib 0x00007fff996d8f1a _sigtramp + 26 3 ??? 0x00007ffe60cec5a0 0x0 + 140730522584480 4 Foundation 0x00007fff907141c3 NSKeyValueNotifyObserver + 382 5 Foundation 0x00007fff90720e38 NSKeyValueDidChange + 463 6 Foundation 0x00007fff906d9a4d -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:] + 118 7 browser_tests 0x0000000111445567 -[BrowserWindowFullscreenTransition animationDidStop:finished:] + 359 8 QuartzCore 0x00007fff9970629b _ZN2CA5Layer23run_animation_callbacksEPv + 309 9 libdispatch.dylib 0x00007fff97748e73 _dispatch_client_callout + 8 10 libdispatch.dylib 0x00007fff97759767 _dispatch_main_queue_callback_4CF + 861 11 CoreFoundation 0x00007fff8effe3f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 12 CoreFoundation 0x00007fff8efb968f __CFRunLoopRun + 2159 13 CoreFoundation 0x00007fff8efb8bd8 CFRunLoopRunSpecific + 296 14 HIToolbox 0x00007fff9a6f756f RunCurrentEventLoopInMode + 235 15 HIToolbox 0x00007fff9a6f72ea ReceiveNextEventCommon + 431 16 HIToolbox 0x00007fff9a6f712b _BlockUntilNextEventMatchingListInModeWithFilter + 71 17 AppKit 0x00007fff958cf8ab _DPSNextEvent + 978 18 AppKit 0x00007fff958cee58 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346 19 browser_tests 0x000000010e7d9480 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 64 20 browser_tests 0x000000010e6d4b0a _ZN4base3mac15CallWithEHFrameEU13block_pointerFvvE + 10 21 browser_tests 0x000000010e7d93b9 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 169 22 AppKit 0x00007fff958c4af3 -[NSApplication run] + 594 23 browser_tests 0x000000010e6e49ae _ZN4base24MessagePumpNSApplication5DoRunEPNS_11MessagePump8DelegateE + 334 24 browser_tests 0x000000010e6e3ffc _ZN4base24MessagePumpCFRunLoopBase3RunEPNS_11MessagePump8DelegateE + 92 25 browser_tests 0x000000010e6e044e _ZN4base11MessageLoop10RunHandlerEv + 94 26 browser_tests 0x000000010e704ad3 _ZN4base7RunLoop3RunEv + 115 27 browser_tests 0x000000010ee06fd1 _ZN7content14RunMessageLoopEv + 65 28 browser_tests 0x000000010e775003 _ZN20InProcessBrowserTest12QuitBrowsersEv + 211 29 browser_tests 0x000000010e774ee2 _ZN20InProcessBrowserTest23RunTestOnMainThreadLoopEv + 1410 30 browser_tests 0x000000010edca116 _ZN7content15BrowserTestBase28ProxyRunTestOnMainThreadLoopEv + 278 31 browser_tests 0x000000010e7de30d _ZN22ChromeBrowserMainParts25PreMainMessageLoopRunImplEv + 4253 32 browser_tests 0x000000010e7dd16e _ZN22ChromeBrowserMainParts21PreMainMessageLoopRunEv + 62 33 browser_tests 0x000000010deb5063 _ZN7content15BrowserMainLoop21PreMainMessageLoopRunEv + 67 34 browser_tests 0x000000010e1cfbb6 _ZN7content17StartupTaskRunner14RunAllTasksNowEv + 38 35 browser_tests 0x000000010deb3352 _ZN7content15BrowserMainLoop18CreateStartupTasksEv + 658 36 browser_tests 0x000000010deb7d3b _ZN7content21BrowserMainRunnerImpl10InitializeERKNS_18MainFunctionParamsE + 683 37 browser_tests 0x000000010deb0ce4 _ZN7content11BrowserMainERKNS_18MainFunctionParamsE + 100 38 browser_tests 0x000000010e6a1230 _ZN7content21ContentMainRunnerImpl3RunEv + 368 39 browser_tests 0x000000010e6a0436 _ZN7content11ContentMainERKNS_17ContentMainParamsE + 54 40 browser_tests 0x000000010edc9e22 _ZN7content15BrowserTestBase5SetUpEv + 1906 41 browser_tests 0x000000010e773d24 _ZN20InProcessBrowserTest5SetUpEv + 340 42 browser_tests 0x000000010f4e30fb _ZN7testing4Test3RunEv + 299 43 browser_tests 0x000000010f4e3fa0 _ZN7testing8TestInfo3RunEv + 576 44 browser_tests 0x000000010f4e4657 _ZN7testing8TestCase3RunEv + 455 45 browser_tests 0x000000010f4ea857 _ZN7testing8internal12UnitTestImpl11RunAllTestsEv + 967 46 browser_tests 0x000000010f4ea459 _ZN7testing8UnitTest3RunEv + 265 47 browser_tests 0x000000010e7893d5 _ZN4base9TestSuite3RunEv + 133 48 browser_tests 0x000000010e6ada8f _ZN21ChromeTestSuiteRunner12RunTestSuiteEiPPc + 31 49 browser_tests 0x000000010ee03eee _ZN7content11LaunchTestsEPNS_20TestLauncherDelegateEiiPPc + 302 50 browser_tests 0x000000010e6ada1a main + 90 51 libdyld.dylib 0x00007fff96af25c9 start + 1 52 ??? 0x0000000000000009 0x0 + 9