TextureLayerChangeInvisibleMailboxTest.RunMultiThread_DelegatingRenderer is flaky |
|||||||
Issue descriptionTextureLayerChangeInvisibleMailboxTest.RunMultiThread_DelegatingRenderer is flaky and fails with the following: ../../cc/layers/texture_layer_unittest.cc:1195: Failure Value of: 5 Expected: commit_count_ Which is: 4 This flake happens most on android but I can reliably reproduce it locally (OSX) with: ./out/Debug/cc_unittests --gtest_filter=TextureLayerChangeInvisibleMailboxTest.RunMultiThread_DelegatingRenderer --single-process-tests --gtest_break_on_failure --gtest_repeat=1000 It sometimes takes a few runs of this for the crash to reproduce. A history of these flakes can be found in: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=cc_unittests&tests=TextureLayerChangeInvisibleMailboxTest.RunMultiThread_DelegatingRenderer The most recent flake was: https://build.chromium.org/p/chromium.linux/builders/Android%20Tests/builds/39440 This line changed recently. I think this is a regression from: https://chromium.googlesource.com/chromium/src/+/5dbd77c73cd8a5f42762c5036a9860bc729dc359 An attempt to deflake this failure was landed in: https://chromium.googlesource.com/chromium/src/+/0834fe043155e4fa29304939380d5b90a3ad3658
,
Mar 28 2017
FYI: the regression range include the culprit 5dbd77c73cd8a5f42762c5036a9860bc729dc359 as pdr@ pointed out above. This test is pretty flake as the pass rate is around 70% https://findit-for-me.appspot.com/waterfall/check-flake?key=ag9zfmZpbmRpdC1mb3ItbWVy0gELEhdNYXN0ZXJGbGFrZUFuYWx5c2lzUm9vdCKbAWNocm9taXVtLmxpbnV4L0FuZHJvaWQgVGVzdHMvMzg4OTkvY2NfdW5pdHRlc3RzIG9uIEFuZHJvaWQvVkdWNGRIVnlaVXhoZVdWeVEyaGhibWRsU1c1MmFYTnBZbXhsVFdGcGJHSnZlRlJsYzNRdVVuVnVUWFZzZEdsVWFISmxZV1JmUkdWc1pXZGhkR2x1WjFKbGJtUmxjbVZ5DAsSE01hc3RlckZsYWtlQW5hbHlzaXMYAQw
,
Mar 28 2017
samans@ are you working on this still, or should we revert while we sort it out? This affects all chrome developers and our infra
,
Mar 28 2017
Sorry for the delay addressing this issue. I was busy with some other tasks. I'm going to prioritize this, but if you'd like I can disable this test for now?
,
Apr 4 2017
,
Apr 4 2017
,
Apr 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3d6b9c4446803f39225f7bcfeb46c8adcb6570d2 commit 3d6b9c4446803f39225f7bcfeb46c8adcb6570d2 Author: maxmorin <maxmorin@chromium.org> Date: Wed Apr 05 10:41:14 2017 Disable flaky TextureLayerChangeInvisibleMailboxTest. BUG= 702868 TBR=enne@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2801623003 Cr-Commit-Position: refs/heads/master@{#462030} [modify] https://crrev.com/3d6b9c4446803f39225f7bcfeb46c8adcb6570d2/cc/layers/texture_layer_unittest.cc
,
Apr 5 2017
,
Apr 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44b6dfc95bd4a7b8240b81720b9804692b439ae9 commit 44b6dfc95bd4a7b8240b81720b9804692b439ae9 Author: samans <samans@chromium.org> Date: Wed Apr 19 16:50:53 2017 Fixing flakiness of TextureLayerChangeInvisibleMailboxTest The flake seems to be because of a race between the order of running main and impl thread. Resources are always reclaimed after impl threads posts DidCommitAndDrawFrame to the main thread so whether commit_count_ == 4 or 5 depends on whether we switch to main thread or keep running impl thread and reclaim resources which triggers posting a task to the main thread to release the mailbox. Even though the task for DidCommitAndDrawFrame is posted first, the task for releasing mailbox is posted using a blocking task runner so it is run first. In order to solve this issue, we decided to use DidReceiveCompositorFrameAck instead of DidCommitAndDrawFrame because all the resources are released before DidReceiveCompositorFrameAck is called so the race between releasing resources and starting next commit doesn't happen. In single-thread mode we used to call DidReceiveCompositorFrameAck directly instead of PostTasking which caused different behaviour from multi-thread mode. We decided to also use PostTask for DidReceiveCompositorFrameAck in single thread mode and use weak pointers to discard the ack if CompositorFrameSink is released before ack is processed. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel BUG= 702868 Review-Url: https://codereview.chromium.org/2757373002 Cr-Commit-Position: refs/heads/master@{#465638} [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/layers/texture_layer_unittest.cc [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/test/layer_tree_test.cc [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/test/test_hooks.h [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/proxy_impl.cc [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/proxy_impl.h [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/proxy_main.cc [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/proxy_main.h [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/single_thread_proxy.cc [modify] https://crrev.com/44b6dfc95bd4a7b8240b81720b9804692b439ae9/cc/trees/single_thread_proxy.h
,
Apr 19 2017
,
Feb 26 2018
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by samans@chromium.org
, Mar 20 2017