New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 854778 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

"RendererPixelTestWithBackgroundFilter/2.InvertFilter" is flaky

Project Member Reported by chromium...@appspot.gserviceaccount.com, Jun 20 2018

Issue description

"RendererPixelTestWithBackgroundFilter/2.InvertFilter" is flaky.

This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label.

We have detected 3 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyPwsSBUZsYWtlIjRSZW5kZXJlclBpeGVsVGVzdFdpdGhCYWNrZ3JvdW5kRmlsdGVyLzIuSW52ZXJ0RmlsdGVyDA.

Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs
 
Cc: penghuang@chromium.org
Owner: penghuang@chromium.org
Status: Assigned (was: Untriaged)
This is flaking relatively often, so I'll disable.

penghuang@ - can this be related to your recent changes?
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 21 2018

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

commit 4b7f81c8623a48c947fb1299cb15e8eee7cf4f82
Author: Martin Šrámek <msramek@chromium.org>
Date: Thu Jun 21 12:59:35 2018

Disable the flaky RendererPixelTestWithBackgroundFilter.InvertFilter

Bug:  854778 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I9cfb73cb5a33085a89a127591d86c70da11171b4
TBR: penghuang@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1109919
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569229}
[modify] https://crrev.com/4b7f81c8623a48c947fb1299cb15e8eee7cf4f82/components/viz/service/display/renderer_pixeltest.cc

Cc: egdaniel@chromium.org
Owner: robertphillips@chromium.org
Hi Robert and Greg,
The new enabled unit test exposes a data racing in Skia. See the stack below. Could you please take a look? Thanks.

WARNING: ThreadSanitizer: data race (pid=23454)
  Write of size 4 at 0x7b7000010b70 by thread T1:
    #0 markConfigAsValidColorAttachment third_party/skia/src/gpu/gl/GrGLCaps.h:209:37 (viz_unittests+0x1640704)
    #1 GrGLGpu::createRenderTargetObjects(GrSurfaceDesc const&, GrGLTextureInfo const&, GrGLRenderTarget::IDDesc*) third_party/skia/src/gpu/gl/GrGLGpu.cpp:1237 (viz_unittests+0x1640704)
    #2 GrGLGpu::onCreateTexture(GrSurfaceDesc const&, SkBudgeted, GrMipLevel const*, int) third_party/skia/src/gpu/gl/GrGLGpu.cpp:1337:20 (viz_unittests+0x16443f5)
    #3 GrGpu::createTexture(GrSurfaceDesc const&, SkBudgeted, GrMipLevel const*, int) third_party/skia/src/gpu/GrGpu.cpp:127:34 (viz_unittests+0x14b73f0)
    #4 GrGpu::createTexture(GrSurfaceDesc const&, SkBudgeted) third_party/skia/src/gpu/GrGpu.cpp:143:18 (viz_unittests+0x14b7556)
    #5 GrResourceProvider::createTexture(GrSurfaceDesc const&, SkBudgeted, unsigned int) third_party/skia/src/gpu/GrResourceProvider.cpp:152:18 (viz_unittests+0x14fb9a0)
    #6 GrSurfaceProxy::createSurfaceImpl(GrResourceProvider*, int, bool, GrSurfaceFlags, GrMipMapped) const third_party/skia/src/gpu/GrSurfaceProxy.cpp:165:41 (viz_unittests+0x150d0fd)
    #7 GrTextureRenderTargetProxy::createSurface(GrResourceProvider*) const third_party/skia/src/gpu/GrTextureRenderTargetProxy.cpp:101:38 (viz_unittests+0x15177b3)
    #8 virtual thunk to GrTextureRenderTargetProxy::createSurface(GrResourceProvider*) const third_party/skia/src/gpu/GrTextureRenderTargetProxy.cpp (viz_unittests+0x1517934)
    #9 createSurface third_party/skia/src/gpu/GrSurfaceProxyPriv.h:55:24 (viz_unittests+0x14ec0f9)
    #10 GrResourceAllocator::findSurfaceFor(GrSurfaceProxy const*, bool) third_party/skia/src/gpu/GrResourceAllocator.cpp:185 (viz_unittests+0x14ec0f9)
    #11 GrResourceAllocator::assign(int*, int*, GrUninstantiateProxyTracker*, GrResourceAllocator::AssignError*) third_party/skia/src/gpu/GrResourceAllocator.cpp:264:53 (viz_unittests+0x14ec8e2)
    #12 GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType, int, GrBackendSemaphore*) third_party/skia/src/gpu/GrDrawingManager.cpp:214:22 (viz_unittests+0x14a42b3)
    #13 flush third_party/skia/src/gpu/GrDrawingManager.h:101:22 (viz_unittests+0x14a5eb7)
    #14 GrDrawingManager::prepareSurfaceForExternalIO(GrSurfaceProxy*, int, GrBackendSemaphore*) third_party/skia/src/gpu/GrDrawingManager.cpp:372 (viz_unittests+0x14a5eb7)
    #15 GrRenderTargetContext::prepareForExternalIO(int, GrBackendSemaphore*) third_party/skia/src/gpu/GrRenderTargetContext.cpp:1394:36 (viz_unittests+0x14df5c5)
    #16 SkGpuDevice::flushAndSignalSemaphores(int, GrBackendSemaphore*) third_party/skia/src/gpu/SkGpuDevice.cpp:1647:34 (viz_unittests+0x16b03cd)
    #17 SkSurface_Gpu::onFlush(int, GrBackendSemaphore*) third_party/skia/src/image/SkSurface_Gpu.cpp:158:21 (viz_unittests+0x16cd303)
    #18 SkSurface::flush() third_party/skia/src/image/SkSurface.cpp:234:17 (viz_unittests+0xf33076)
    #19 viz::SkiaOutputSurfaceImplOnGpu::FinishPaintRenderPass(unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata*, std::__1::allocator<viz::YUVResourceMetadata*> >, unsigned long) components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc:228:12 (viz_unittests+0x1f8920c)
    #20 Invoke<void (viz::SkiaOutputSurfaceImplOnGpu::*)(unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata *, std::__1::allocator<viz::YUVResourceMetadata *> >, unsigned long), viz::SkiaOutputSurfaceImplOnGpu *, unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata *, std::__1::allocator<viz::YUVResourceMetadata *> >, unsigned long> base/bind_internal.h:507:12 (viz_unittests+0x1f85236)
    #21 MakeItSo<void (viz::SkiaOutputSurfaceImplOnGpu::*)(unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata *, std::__1::allocator<viz::YUVResourceMetadata *> >, unsigned long), viz::SkiaOutputSurfaceImplOnGpu *, unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata *, std::__1::allocator<viz::YUVResourceMetadata *> >, unsigned long> base/bind_internal.h:607 (viz_unittests+0x1f85236)
    #22 RunImpl<void (viz::SkiaOutputSurfaceImplOnGpu::*)(unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata *, std::__1::allocator<viz::YUVResourceMetadata *> >, unsigned long), std::__1::tuple<base::internal::UnretainedWrapper<viz::SkiaOutputSurfaceImplOnGpu>, unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata *, std::__1::allocator<viz::YUVResourceMetadata *> >, unsigned long>, 0, 1, 2, 3, 4> base/bind_internal.h:681 (viz_unittests+0x1f85236)
    #23 base::internal::Invoker<base::internal::BindState<void (viz::SkiaOutputSurfaceImplOnGpu::*)(unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata*, std::__1::allocator<viz::YUVResourceMetadata*> >, unsigned long), base::internal::UnretainedWrapper<viz::SkiaOutputSurfaceImplOnGpu>, unsigned long, std::__1::unique_ptr<SkDeferredDisplayList, std::__1::default_delete<SkDeferredDisplayList> >, std::__1::vector<viz::YUVResourceMetadata*, std::__1::allocator<viz::YUVResourceMetadata*> >, unsigned long>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (viz_unittests+0x1f85236)
    #24 Run base/callback.h:96:12 (viz_unittests+0x1f32891)
    #25 gpu::Scheduler::RunNextTask() gpu/command_buffer/service/scheduler.cc:526 (viz_unittests+0x1f32891)
    #26 Invoke<void (gpu::Scheduler::*)(), const base::WeakPtr<gpu::Scheduler> &> base/bind_internal.h:507:12 (viz_unittests+0x1f36c32)
    #27 MakeItSo<void (gpu::Scheduler::*const &)(), const base::WeakPtr<gpu::Scheduler> &> base/bind_internal.h:627 (viz_unittests+0x1f36c32)
    #28 RunImpl<void (gpu::Scheduler::*const &)(), const std::__1::tuple<base::WeakPtr<gpu::Scheduler> > &, 0> base/bind_internal.h:681 (viz_unittests+0x1f36c32)
    #29 base::internal::Invoker<base::internal::BindState<void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:663 (viz_unittests+0x1f36c32)
    #30 Run base/callback.h:96:12 (viz_unittests+0x11f47fb)
    #31 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (viz_unittests+0x11f47fb)
    #32 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:129:19 (viz_unittests+0x11f11ae)
    #33 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:319:25 (viz_unittests+0x11eda13)
    #34 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:329:5 (viz_unittests+0x11ee32c)
    #35 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:373:16 (viz_unittests+0x11ee6c5)
    #36 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:37:31 (viz_unittests+0x11f63e6)
    #37 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:271:12 (viz_unittests+0x11ed107)
    #38 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (viz_unittests+0x11ed1f4)
    #39 base::RunLoop::Run() base/run_loop.cc:102:14 (viz_unittests+0x1218d5f)
    #40 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (viz_unittests+0x124fc0b)
    #41 base::Thread::ThreadMain() base/threading/thread.cc:337:3 (viz_unittests+0x12501eb)
    #42 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (viz_unittests+0x1290f28)
  Previous read of size 4 at 0x7b7000010b70 by main thread:
    #0 canConfigBeFBOColorAttachment third_party/skia/src/gpu/gl/GrGLCaps.h:129:16 (viz_unittests+0x166c2db)
    #1 GrGLCaps::canCopyAsBlit(GrPixelConfig, int, bool, bool, GrSurfaceOrigin, GrPixelConfig, int, bool, bool, GrSurfaceOrigin, SkRect const&, SkIRect const&, SkIPoint const&) const third_party/skia/src/gpu/gl/GrGLCaps.cpp:2108 (viz_unittests+0x166c2db)
    #2 GrGLCaps::canCopySurface(GrSurfaceProxy const*, GrSurfaceProxy const*, SkIRect const&, SkIPoint const&) const third_party/skia/src/gpu/gl/GrGLCaps.cpp:2227:15 (viz_unittests+0x166caa0)
    #3 GrSurfaceContext::copy(GrSurfaceProxy*, SkIRect const&, SkIPoint const&) third_party/skia/src/gpu/GrSurfaceContext.cpp:85:42 (viz_unittests+0x150c4f1)
    #4 GrSurfaceProxy::Copy(GrContext*, GrSurfaceProxy*, GrMipMapped, SkIRect, SkBudgeted) third_party/skia/src/gpu/GrSurfaceProxy.cpp:332:22 (viz_unittests+0x150e6c2)
    #5 GrSurfaceProxy::Copy(GrContext*, GrSurfaceProxy*, GrMipMapped, SkBudgeted) third_party/skia/src/gpu/GrSurfaceProxy.cpp:342:12 (viz_unittests+0x150e8d6)
    #6 SkGpuDevice::snapSpecial() third_party/skia/src/gpu/SkGpuDevice.cpp:1245:17 (viz_unittests+0x16ac109)
    #7 SkCanvas::DrawDeviceWithFilter(SkBaseDevice*, SkImageFilter const*, SkBaseDevice*, SkIPoint const&, SkMatrix const&) third_party/skia/src/core/SkCanvas.cpp:981:25 (viz_unittests+0xd85c7a)
    #8 SkCanvas::internalSaveLayer(SkCanvas::SaveLayerRec const&, SkCanvas::SaveLayerStrategy) third_party/skia/src/core/SkCanvas.cpp:1104:9 (viz_unittests+0xd858a8)
    #9 SkCanvas::saveLayer(SkCanvas::SaveLayerRec const&) third_party/skia/src/core/SkCanvas.cpp:958:11 (viz_unittests+0xd84cbc)
    #10 viz::SkiaRenderer::DrawRenderPassQuad(viz::RenderPassDrawQuad const*) components/viz/service/display/skia_renderer.cc:881:20 (viz_unittests+0x1e8f063)
    #11 viz::SkiaRenderer::DoDrawQuad(viz::DrawQuad const*, gfx::QuadF const*) components/viz/service/display/skia_renderer.cc:517:7 (viz_unittests+0x1e8d2df)
    #12 viz::DirectRenderer::DrawRenderPass(viz::RenderPass const*) components/viz/service/display/direct_renderer.cc:585:5 (viz_unittests+0x1e30485)
    #13 viz::DirectRenderer::DrawRenderPassAndExecuteCopyRequests(viz::RenderPass*) components/viz/service/display/direct_renderer.cc:470:5 (viz_unittests+0x1e2eefa)
    #14 viz::DirectRenderer::DrawFrame(std::__1::vector<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> >, std::__1::allocator<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> > > >*, float, gfx::Size const&) components/viz/service/display/direct_renderer.cc:331:5 (viz_unittests+0x1e2e7bf)
    #15 cc::PixelTest::RunPixelTestWithReadbackTargetAndArea(std::__1::vector<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> >, std::__1::allocator<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> > > >*, viz::RenderPass*, base::FilePath const&, cc::PixelComparator const&, gfx::Rect const*) cc/test/pixel_test.cc:101:14 (viz_unittests+0x1f7b2db)
    #16 RunPixelTestWithReadbackTarget cc/test/pixel_test.cc:73:10 (viz_unittests+0x1f7afa0)
    #17 cc::PixelTest::RunPixelTest(std::__1::vector<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> >, std::__1::allocator<std::__1::unique_ptr<viz::RenderPass, std::__1::default_delete<viz::RenderPass> > > >*, base::FilePath const&, cc::PixelComparator const&) cc/test/pixel_test.cc:64 (viz_unittests+0x1f7afa0)
    #18 viz::(anonymous namespace)::RendererPixelTestWithBackgroundFilter_InvertFilter_Test<cc::SkiaRendererDDL>::TestBody() components/viz/service/display/renderer_pixeltest.cc:2607:3 (viz_unittests+0xa1bd0b)
    #19 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (viz_unittests+0xd20906)
    #20 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11 (viz_unittests+0xd21a3c)
    #21 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28 (viz_unittests+0xd222c6)
    #22 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43 (viz_unittests+0xd32866)
    #23 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (viz_unittests+0xd3214a)
    #24 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46 (viz_unittests+0x129ea45)
    #25 base::TestSuite::Run() base/test/test_suite.cc:275 (viz_unittests+0x129ea45)
    #26 Invoke<int (base::TestSuite::*)(), viz::VizTestSuite *> base/bind_internal.h:507:12 (viz_unittests+0x70f4d8)
    #27 MakeItSo<int (base::TestSuite::*const &)(), viz::VizTestSuite *> base/bind_internal.h:607 (viz_unittests+0x70f4d8)
    #28 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<viz::VizTestSuite> > &, 0> base/bind_internal.h:681 (viz_unittests+0x70f4d8)
    #29 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<viz::VizTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:663 (viz_unittests+0x70f4d8)
    #30 Run base/callback.h:96:12 (viz_unittests+0x12a1d70)
    #31 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (viz_unittests+0x12a1d70)
    #32 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (viz_unittests+0x12a1b83)
    #33 main components/viz/test/run_all_unittests.cc:15:10 (viz_unittests+0x70f420)
  Location is heap block of size 1856 at 0x7b7000010800 allocated by thread T1:
    #0 operator new(unsigned long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:57:3 (viz_unittests+0x70e719)
    #1 sk_make_sp<GrGLCaps, const GrContextOptions &, GrGLContextInfo &, const GrGLInterface *> third_party/skia/include/core/SkRefCnt.h:442:21 (viz_unittests+0x1662c28)
    #2 GrGLContextInfo::GrGLContextInfo(GrGLContextInfo::ConstructorArgs&&) third_party/skia/src/gpu/gl/GrGLContext.cpp:103 (viz_unittests+0x1662c28)
    #3 GrGLContext third_party/skia/src/gpu/gl/GrGLContext.h:102:43 (viz_unittests+0x16627f4)
    #4 GrGLContext::Make(sk_sp<GrGLInterface const>, GrContextOptions const&) third_party/skia/src/gpu/gl/GrGLContext.cpp:77 (viz_unittests+0x16627f4)
    #5 GrGLGpu::Make(sk_sp<GrGLInterface const>, GrContextOptions const&, GrContext*) third_party/skia/src/gpu/gl/GrGLGpu.cpp:195:22 (viz_unittests+0x163a92f)
    #6 GrContext::MakeGL(sk_sp<GrGLInterface const>, GrContextOptions const&) third_party/skia/src/gpu/GrDirectContext.cpp:116:21 (viz_unittests+0x14a22f1)
    #7 viz::GpuServiceImpl::CreateGrContextIfNecessary(gl::GLSurface*) components/viz/service/gl/gpu_service_impl.cc:301:19 (viz_unittests+0x1ef526a)
    #8 viz::SkiaOutputSurfaceImplOnGpu::SkiaOutputSurfaceImplOnGpu(viz::GpuServiceImpl*, unsigned long, base::RepeatingCallback<void (gpu::SwapBuffersCompleteParams, gfx::Size const&)> const&, base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&) components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc:79:22 (viz_unittests+0x1f86fa6)
    #9 make_unique<viz::SkiaOutputSurfaceImplOnGpu, viz::GpuServiceImpl *const &, const unsigned long &, base::RepeatingCallback<void (gpu::SwapBuffersCompleteParams, const gfx::Size &)>, base::RepeatingCallback<void (const gfx::PresentationFeedback &)> > buildtools/third_party/libc++/trunk/include/memory:3114:32 (viz_unittests+0x1f7fe5d)
    #10 viz::SkiaOutputSurfaceImpl::InitializeOnGpuThread(base::WaitableEvent*) components/viz/service/display_embedder/skia_output_surface_impl.cc:494 (viz_unittests+0x1f7fe5d)
    #11 Invoke<void (viz::SkiaOutputSurfaceImpl::*)(base::WaitableEvent *), viz::SkiaOutputSurfaceImpl *, base::WaitableEvent *> base/bind_internal.h:507:12 (viz_unittests+0x1f84708)
    #12 MakeItSo<void (viz::SkiaOutputSurfaceImpl::*)(base::WaitableEvent *), viz::SkiaOutputSurfaceImpl *, base::WaitableEvent *> base/bind_internal.h:607 (viz_unittests+0x1f84708)
    #13 RunImpl<void (viz::SkiaOutputSurfaceImpl::*)(base::WaitableEvent *), std::__1::tuple<base::internal::UnretainedWrapper<viz::SkiaOutputSurfaceImpl>, base::WaitableEvent *>, 0, 1> base/bind_internal.h:681 (viz_unittests+0x1f84708)
    #14 base::internal::Invoker<base::internal::BindState<void (viz::SkiaOutputSurfaceImpl::*)(base::WaitableEvent*), base::internal::UnretainedWrapper<viz::SkiaOutputSurfaceImpl>, base::WaitableEvent*>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649 (viz_unittests+0x1f84708)
    #15 Run base/callback.h:96:12 (viz_unittests+0x1f32891)
    #16 gpu::Scheduler::RunNextTask() gpu/command_buffer/service/scheduler.cc:526 (viz_unittests+0x1f32891)
    #17 Invoke<void (gpu::Scheduler::*)(), const base::WeakPtr<gpu::Scheduler> &> base/bind_internal.h:507:12 (viz_unittests+0x1f36c32)
    #18 MakeItSo<void (gpu::Scheduler::*const &)(), const base::WeakPtr<gpu::Scheduler> &> base/bind_internal.h:627 (viz_unittests+0x1f36c32)
    #19 RunImpl<void (gpu::Scheduler::*const &)(), const std::__1::tuple<base::WeakPtr<gpu::Scheduler> > &, 0> base/bind_internal.h:681 (viz_unittests+0x1f36c32)
    #20 base::internal::Invoker<base::internal::BindState<void (gpu::Scheduler::*)(), base::WeakPtr<gpu::Scheduler> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:663 (viz_unittests+0x1f36c32)
    #21 Run base/callback.h:96:12 (viz_unittests+0x11f47fb)
    #22 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (viz_unittests+0x11f47fb)
    #23 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:129:19 (viz_unittests+0x11f11ae)
    #24 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:319:25 (viz_unittests+0x11eda13)
    #25 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:329:5 (viz_unittests+0x11ee32c)
    #26 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:373:16 (viz_unittests+0x11ee6c5)
    #27 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:37:31 (viz_unittests+0x11f63e6)
    #28 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:271:12 (viz_unittests+0x11ed107)
    #29 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (viz_unittests+0x11ed1f4)
    #30 base::RunLoop::Run() base/run_loop.cc:102:14 (viz_unittests+0x1218d5f)
    #31 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (viz_unittests+0x124fc0b)
    #32 base::Thread::ThreadMain() base/threading/thread.cc:337:3 (viz_unittests+0x12501eb)
    #33 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (viz_unittests+0x1290f28)
  Thread T1 'GPUMainThread' (tid=23459, running) created by main thread at:
    #0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (viz_unittests+0x6a4fe5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (viz_unittests+0x1290a26)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (viz_unittests+0x12908e5)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (viz_unittests+0x124f515)
    #4 base::Thread::Start() base/threading/thread.cc:75:10 (viz_unittests+0x124f18a)
    #5 cc::PixelTest::SetUpSkiaRendererDDL() cc/test/pixel_test.cc:269:3 (viz_unittests+0x1f7d461)
    #6 cc::RendererPixelTest<cc::SkiaRendererDDL>::SetUp() cc/test/pixel_test.h:217:3 (viz_unittests+0x9d9bb9)
    #7 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (viz_unittests+0xd207db)
    #8 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11 (viz_unittests+0xd21a3c)
    #9 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28 (viz_unittests+0xd222c6)
    #10 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43 (viz_unittests+0xd32866)
    #11 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (viz_unittests+0xd3214a)
    #12 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46 (viz_unittests+0x129ea45)
    #13 base::TestSuite::Run() base/test/test_suite.cc:275 (viz_unittests+0x129ea45)
    #14 Invoke<int (base::TestSuite::*)(), viz::VizTestSuite *> base/bind_internal.h:507:12 (viz_unittests+0x70f4d8)
    #15 MakeItSo<int (base::TestSuite::*const &)(), viz::VizTestSuite *> base/bind_internal.h:607 (viz_unittests+0x70f4d8)
    #16 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<viz::VizTestSuite> > &, 0> base/bind_internal.h:681 (viz_unittests+0x70f4d8)
    #17 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<viz::VizTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:663 (viz_unittests+0x70f4d8)
    #18 Run base/callback.h:96:12 (viz_unittests+0x12a1d70)
    #19 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (viz_unittests+0x12a1d70)
    #20 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (viz_unittests+0x12a1b83)
    #21 main components/viz/test/run_all_unittests.cc:15:10 (viz_unittests+0x70f420)
SUMMARY: ThreadSanitizer: data race third_party/skia/src/gpu/gl/GrGLCaps.h:209:37 in markConfigAsValidColorAttachment
==================
Labels: -Sheriff-Chromium
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/628df2aa24c660ca0a66c9677287cfc803b637e9

commit 628df2aa24c660ca0a66c9677287cfc803b637e9
Author: Robert Phillips <robertphillips@google.com>
Date: Mon Jul 02 18:16:26 2018

Fix race condition in GrGLCaps

Bug:  854778 
Change-Id: I3421360a8549e231f508f28d3945d81f811e66de
Reviewed-on: https://skia-review.googlesource.com/138923
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

[modify] https://crrev.com/628df2aa24c660ca0a66c9677287cfc803b637e9/src/gpu/gl/GrGLCaps.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 2

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

commit 6199f772215a0cfd1144869f5f86914aa1fcdd6c
Author: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Mon Jul 02 20:07:47 2018

Roll src/third_party/skia 3913287d8c2c..2309ee36a10b (5 commits)

https://skia.googlesource.com/skia.git/+log/3913287d8c2c..2309ee36a10b


git log 3913287d8c2c..2309ee36a10b --date=short --no-merges --format='%ad %ae %s'
2018-07-02 recipe-roller@chromium.org Roll recipe dependencies (trivial).
2018-07-02 robertphillips@google.com Fix race condition in GrGLCaps
2018-07-02 recipe-roller@chromium.org Roll recipe dependencies (trivial).
2018-07-02 brianosman@google.com Remove unused generateTextureProxyForParams
2018-07-02 robertphillips@google.com Don't reject stroked empty rrects in GPU backend


Created with:
  gclient setdep -r src/third_party/skia@2309ee36a10b

The AutoRoll server is located here: https://autoroll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:854778 
TBR=ethannicholas@chromium.org

Change-Id: Icfc209e7d0de6aa858bd411eb6eecb853fe8e62c
Reviewed-on: https://chromium-review.googlesource.com/1123077
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#571983}
[modify] https://crrev.com/6199f772215a0cfd1144869f5f86914aa1fcdd6c/DEPS

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 9

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

commit 006472e5ff81aa7bc3f6b6a065d52c6d1def1fed
Author: Robert Phillips <robertphillips@google.com>
Date: Mon Jul 09 14:39:29 2018

Reenable RendererPixelTestWithBackgroundFilter.InvertFilter test

The fix for the flakiness of this test landed in:

https://skia-review.googlesource.com/c/skia/+/138923 (Fix race condition in GrGLCaps)

and has rolled into Chrome

Bug:  854778 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Ib02f84fab623e6ef2047ce432b02c94f8e637734
Reviewed-on: https://chromium-review.googlesource.com/1128607
Reviewed-by: weiliangc <weiliangc@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Cr-Commit-Position: refs/heads/master@{#573301}
[modify] https://crrev.com/006472e5ff81aa7bc3f6b6a065d52c6d1def1fed/components/viz/service/display/renderer_pixeltest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment