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

Issue 736127 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Flake in LayerTreeHostContextTestDontUseLostResources.RunMultiThread_DelegatingRenderer

Project Member Reported by vmp...@chromium.org, Jun 22 2017

Issue description

While running all of the unittests, I got the following crash:

[ RUN      ] LayerTreeHostContextTestDontUseLostResources.RunMultiThread_DelegatingRenderer
Received signal 11 SEGV_MAPERR 000000000020
#0 0x7f95d17b556b base::debug::StackTrace::StackTrace()
#1 0x7f95d17b426c base::debug::StackTrace::StackTrace()
#2 0x7f95d17b507f base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f95d4e2a330 <unknown>
#4 0x7f95d2197105 std::unique_ptr<>::get()
#5 0x7f95d2197075 std::unique_ptr<>::operator bool()
#6 0x7f95d2242889 _ZSteqI8SkCanvasSt14default_deleteIS0_EEbDnRKSt10unique_ptrIT_T0_E
#7 0x7f95d224262a SkSurface_Base::getCachedCanvas()
#8 0x7f95d22421fd SkSurface::getCanvas()
#9 0x7f95d47cf4c1 cc::HeadsUpDisplayLayerImpl::UpdateHudTexture()
#10 0x7f95d4a90b31 cc::LayerTreeHostImpl::DrawLayers()
#11 0x0000011d30c7 cc::LayerTreeHostImplForTesting::DrawLayers()
#12 0x7f95d4b450ba cc::ProxyImpl::DrawInternal()
#13 0x7f95d4b44d13 cc::ProxyImpl::ScheduledActionDrawIfPossible()
#14 0x7f95d4990de6 cc::Scheduler::DrawIfPossible()
#15 0x7f95d498c44f cc::Scheduler::ProcessScheduledActions()
#16 0x7f95d498c032 cc::Scheduler::OnBeginImplFrameDeadline()
#17 0x7f95d47c963f _ZN4base8internal13FunctorTraitsIMN2cc28ScrollbarAnimationControllerEFvvEvE6InvokeIRKNS_7WeakPtrIS3_EEJEEEvS5_OT_DpOT0_
#18 0x7f95d4993b4a _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN2cc9SchedulerEFvvERKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_
#19 0x7f95d4993ad2 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9SchedulerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#20 0x7f95d4993a1c _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9SchedulerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#21 0x7f95d47c99bd _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
#22 0x7f95d47c9369 base::CancelableCallback<>::Forward()
#23 0x7f95d47c963f _ZN4base8internal13FunctorTraitsIMN2cc28ScrollbarAnimationControllerEFvvEvE6InvokeIRKNS_7WeakPtrIS3_EEJEEEvS5_OT_DpOT0_
#24 0x7f95d47c959a _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMNS_18CancelableCallbackIFvvEEEKFvvERKNS_7WeakPtrIS6_EEJEEEvOT_OT0_DpOT1_
#25 0x7f95d47c9522
...

Can't reproduce again, but maybe there's enough information there for someone to spot the problem. FWIW, there were some recent changes in the HUD layer, so maybe that's to blame?
 

Comment 1 by danakj@chromium.org, Jun 23 2017

Owner: sohanjg@chromium.org
Status: Assigned (was: Available)
Sorry for the delay.
Yes, this looks to be the same context lost issue while we got earlier, and had to change the timing of the test a little bit.

So if a context loss cb executes during updatehudtexture in
multi-threaded mode, the gr resource cache will be abandoned.

https://cs.chromium.org/chromium/src/cc/test/test_context_provider.cc?q=test_context_pro+package:%5Echromium$&l=182

And most likely, the SkSurface returned by ScopedSkSurfaceProvider, will be invalid.

I will check, if simply returning on that case is good enough.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 22 2017

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

commit 5f3480305411ab8bd094a2f7f82245c4997a10b9
Author: sohan <sohan.jyoti@huawei.com>
Date: Sat Jul 22 01:33:28 2017

cc: HUD handle context lost in Gpu raster.

This returns the resource id in case the HUD canvas
is invalid, because of context loss while SkSurface
creation. The resource is subsequently evicted from
quad list.

BUG= 736127 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

patch from issue 2961633002 at patchset 160001 (http://crrev.com/2961633002#ps160001)

Change-Id: I8d04dfed24ec9cd7e2b520d20988b7a70efcacc3
Reviewed-on: https://chromium-review.googlesource.com/571821
Reviewed-by: Eric Karl <ericrk@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Sohan Jyoti Ghosh <sohan.jyoti@huawei.com>
Commit-Queue: Sohan Jyoti Ghosh <sohan.jyoti@huawei.com>
Cr-Commit-Position: refs/heads/master@{#488827}
[modify] https://crrev.com/5f3480305411ab8bd094a2f7f82245c4997a10b9/cc/layers/heads_up_display_layer_impl.cc
[modify] https://crrev.com/5f3480305411ab8bd094a2f7f82245c4997a10b9/cc/layers/heads_up_display_layer_impl.h
[modify] https://crrev.com/5f3480305411ab8bd094a2f7f82245c4997a10b9/cc/layers/heads_up_display_layer_impl_unittest.cc
[modify] https://crrev.com/5f3480305411ab8bd094a2f7f82245c4997a10b9/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/5f3480305411ab8bd094a2f7f82245c4997a10b9/cc/trees/layer_tree_host_unittest_context.cc

Status: Fixed (was: Assigned)

Sign in to add a comment