Canvas tests failing after fix |
|||
Issue descriptionStarting with this build: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.11%20%28dbg%29/builds/8099 This started happening pretty consistently (see first occurrence at link above): Unexpected Failures: * virtual/display_list_2d_canvas/fast/canvas/canvas-lost-gpu-context.html * virtual/gpu/fast/canvas/canvas-lost-gpu-context.html One change touches the canvas code, hence the bug assignment.
,
Mar 29 2017
As I see there is nothing in my change related to this GPU crash (please see the stdout here: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.webkit%2FWebKit_Mac10.11__dbg_%2F8099%2F%2B%2Frecipes%2Fsteps%2Fwebkit_tests%2F0%2Fstdout). I guess it might be related to this change: https://codereview.chromium.org/2779523004 @sadrul: would you please take a look?
,
Mar 29 2017
I think I have a potential fix. Are you able to reproduce the failure? (I don't have a mac workstation available) For the record, the failure is as follows: 14:58:30.701 13646 0 libbase.dylib 0x000000011947472e base::debug::StackTrace::StackTrace(unsigned long) + 174 14:58:30.701 13646 1 libbase.dylib 0x00000001194747cd base::debug::StackTrace::StackTrace(unsigned long) + 29 14:58:30.701 13646 2 libbase.dylib 0x0000000119472c2c base::debug::StackTrace::StackTrace() + 28 14:58:30.701 13646 3 libbase.dylib 0x000000011950d530 logging::LogMessage::~LogMessage() + 80 14:58:30.706 13646 4 libbase.dylib 0x000000011950b035 logging::LogMessage::~LogMessage() + 21 14:58:30.706 13646 5 libbindings.dylib 0x000000011d461bde mojo::InterfaceEndpointClient::~InterfaceEndpointClient() + 222 14:58:30.706 13646 6 libbindings.dylib 0x000000011d461f25 mojo::InterfaceEndpointClient::~InterfaceEndpointClient() + 21 14:58:30.706 13646 7 libbindings.dylib 0x000000011d461f49 mojo::InterfaceEndpointClient::~InterfaceEndpointClient() + 25 14:58:30.706 13646 8 libbindings.dylib 0x000000011d44c2ad mojo::internal::BindingStateBase::Close() + 189 14:58:30.706 13646 9 libcontent.dylib 0x000000010ee8f0df mojo::internal::BindingState<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >::~BindingState() + 31 14:58:30.706 13646 10 libcontent.dylib 0x000000010ee8f0b5 mojo::internal::BindingState<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >::~BindingState() + 21 14:58:30.706 13646 11 libcontent.dylib 0x000000010ee8f095 mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >::~Binding() + 21 14:58:30.706 13646 12 libcontent.dylib 0x000000010ee8f075 mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >::~Binding() + 21 14:58:30.706 13646 13 libcontent.dylib 0x000000010ee8f055 mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry::~Entry() + 21 14:58:30.706 13646 14 libcontent.dylib 0x000000010ee8f035 mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry::~Entry() + 21 14:58:30.706 13646 15 libcontent.dylib 0x000000010ee8efff std::__1::pair<unsigned long const, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >::~pair() + 175 14:58:30.706 13646 16 libcontent.dylib 0x000000010ee8ef45 std::__1::pair<unsigned long const, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >::~pair() + 21 14:58:30.707 13646 17 libcontent.dylib 0x000000010ee8eec5 std::__1::__tree<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >, std::__1::__map_value_compare<unsigned long, std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >, std::__1::less<unsigned long>, true>, std::__1::allocator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > > > >::destroy(std::__1::__tree_node<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >, void*>*) + 213 14:58:30.707 13646 18 libcontent.dylib 0x000000010ee8fa77 std::__1::__tree<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >, std::__1::__map_value_compare<unsigned long, std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > >, std::__1::less<unsigned long>, true>, std::__1::allocator<std::__1::__value_type<unsigned long, std::__1::unique_ptr<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry, std::__1::default_delete<mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::Entry> > > > >::clear() + 119 14:58:30.707 13646 19 libcontent.dylib 0x000000010ee8a481 mojo::BindingSetBase<ui::mojom::GpuService, mojo::Binding<ui::mojom::GpuService, mojo::RawPtrImplRefTraits<ui::mojom::GpuService> >, void>::CloseAllBindings() + 33 14:58:30.707 13646 20 libcontent.dylib 0x000000010ee89baa ui::GpuService::~GpuService() + 330 14:58:30.707 13646 21 libcontent.dylib 0x000000010ee8a525 ui::GpuService::~GpuService() + 21 14:58:30.707 13646 22 libcontent.dylib 0x000000010ee8a569 ui::GpuService::~GpuService() + 25 14:58:30.707 13646 23 libcontent.dylib 0x000000010de8485d content::GpuChildThread::~GpuChildThread() + 397 14:58:30.707 13646 24 libcontent.dylib 0x000000010de84a50 content::GpuChildThread::~GpuChildThread() + 32 14:58:30.707 13646 25 libcontent.dylib 0x000000010de84b49 content::GpuChildThread::~GpuChildThread() + 25 14:58:30.707 13646 26 libcontent.dylib 0x000000010dfa9d25 content::ChildProcess::~ChildProcess() + 693 14:58:30.707 13646 27 libcontent.dylib 0x000000010de9f735 content::GpuProcess::~GpuProcess() + 21 14:58:30.707 13646 28 libcontent.dylib 0x000000010de9f755 content::GpuProcess::~GpuProcess() + 21 14:58:30.707 13646 29 libcontent.dylib 0x000000010de9c919 content::GpuMain(content::MainFunctionParams const&) + 7913 14:58:30.707 13646 30 libcontent.dylib 0x00000001118e12e7 content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) + 599 14:58:30.707 13646 31 libcontent.dylib 0x00000001118e2cf3 content::ContentMainRunnerImpl::Run() + 1331 14:58:30.707 13646 32 libcontent.dylib 0x00000001118e0ce5 content::ContentServiceManagerMainDelegate::Run() + 53 14:58:30.707 13646 33 libembedder.dylib 0x0000000133d2291d service_manager::Main(service_manager::MainParams const&) + 653 14:58:30.707 13646 34 libcontent.dylib 0x00000001118e1039 content::ContentMain(content::ContentMainParams const&) + 89 14:58:30.707 13646 35 Content Shell Framework 0x000000010b9bf060 ContentMain + 80 14:58:30.707 13646 36 Content Shell Helper 0x000000010b9b2f72 main + 34 14:58:30.707 13646 37 libdyld.dylib 0x00007fff8e8485ad start + 1
,
Mar 29 2017
,
Mar 30 2017
,
Apr 1 2017
Turns out, this is not a dup of 706357. This is fixed with https://codereview.chromium.org/2779903005/
,
Apr 4 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/94d7bbdbc5110011a16039c47afa60c4ee065687 commit 94d7bbdbc5110011a16039c47afa60c4ee065687 Author: sadrul <sadrul@chromium.org> Date: Tue Apr 04 08:11:15 2017 gpu: Add a couple of unit-tests for GpuService. Add a couple of unit-tests to verify that GpuService can be destroyed safely both after incoming GpuServiceRequest have been bound, or while they are scheduled to be bound. BUG= 706375 , 706357 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2787363003 Cr-Commit-Position: refs/heads/master@{#461658} [modify] https://crrev.com/94d7bbdbc5110011a16039c47afa60c4ee065687/gpu/ipc/service/gpu_watchdog_thread.cc [modify] https://crrev.com/94d7bbdbc5110011a16039c47afa60c4ee065687/gpu/ipc/service/gpu_watchdog_thread.h [modify] https://crrev.com/94d7bbdbc5110011a16039c47afa60c4ee065687/services/ui/gpu/BUILD.gn [add] https://crrev.com/94d7bbdbc5110011a16039c47afa60c4ee065687/services/ui/gpu/gpu_service_unittest.cc
,
Apr 20 2017
Verified tests are passing. Will remove expectations, which should have been done when the fix was landed.
,
Apr 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3182feed58c8d7838cf85f3f4b620606ea06f7a5 commit 3182feed58c8d7838cf85f3f4b620606ea06f7a5 Author: schenney <schenney@chromium.org> Date: Thu Apr 20 20:51:57 2017 Update TestExpectations and rebase some tests. Try reducing flakes for images/color-profile-reflection.html by switching to runAfterLayoutAndPaint. Rebaseline canvas drawing tests after path tesselation patch landed. Remove expectations for no-longer-failing images/color-profile-reflection.html and virtual/gpu/fast/canvas/canvas-ImageData-neutered-source.html TBR=junov@chromium.org BUG= 642376 , 706375 ,713049, 713462 Review-Url: https://codereview.chromium.org/2831953002 Cr-Commit-Position: refs/heads/master@{#466120} [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/images/color-profile-reflection.html [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png [add] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png [delete] https://crrev.com/e8227a0e1c5fc7f230fe575086e1816a4e9fa6ae/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-expected.png [add] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-arc-circumference-fill-expected.png [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-expected.png [modify] https://crrev.com/3182feed58c8d7838cf85f3f4b620606ea06f7a5/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill-expected.png |
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, Mar 29 2017