New issue
Advanced search Search tips

Issue 897731 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Chrome crash in setting page

Project Member Reported by penghuang@chromium.org, Oct 22

Issue description

Chrome Version: (copy from chrome://version)
OS: (e.g. Win10, MacOS 10.12, etc...)

What steps will reproduce the problem?
(1) Build chrome with dcheck_always_on = true
(2) launch chrome and go to setting page
(3) Click password item in the setting page

What is the expected result?

What happens instead?
Crash with log:

[241552:241566:1022/095650.134623:ERROR:render_surface_impl.cc(648)] Not implemented reached in void cc::RenderSurfaceImpl::TileMaskLayer(viz::RenderPass *, viz::SharedQuadState *, const gfx::Rect &)
[241552:241566:1022/095650.134905:ERROR:render_surface_impl.cc(648)] Not implemented reached in void cc::RenderSurfaceImpl::TileMaskLayer(viz::RenderPass *, viz::SharedQuadState *, const gfx::Rect &)
[241552:241566:1022/095650.135098:FATAL:render_surface_impl.cc(637)] Check failed: (((temp_color) >> 24) & 0xFF) == solid (100 vs. �)
#0 0x7fe12eadeaaf base::debug::StackTrace::StackTrace()
#1 0x7fe12ea07f3b logging::LogMessage::~LogMessage()
#2 0x7fe11e883591 cc::RenderSurfaceImpl::TileMaskLayer()
#3 0x7fe11e8827eb cc::RenderSurfaceImpl::AppendQuads()
#4 0x7fe11e91b9b8 cc::LayerTreeHostImpl::CalculateRenderPasses()
#5 0x7fe11e91e066 cc::LayerTreeHostImpl::PrepareToDraw()
#6 0x7fe11e963cd5 cc::ProxyImpl::DrawInternal()
#7 0x7fe11e963aa7 cc::ProxyImpl::ScheduledActionDrawIfPossible()
#8 0x7fe11e8b66e6 cc::Scheduler::DrawIfPossible()
#9 0x7fe11e8b2658 cc::Scheduler::ProcessScheduledActions()
#10 0x7fe11e8b6511 cc::Scheduler::OnBeginImplFrameDeadline()
#11 0x7fe11e8b6f1e _ZN4base8internal22CancelableCallbackImplINS_12OnceCallbackIFvvEEEE11ForwardOnceIJEEEvDpT_
#12 0x7fe11e8563d4 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc28ScrollbarAnimationControllerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#13 0x7fe12e9e8b12 base::debug::TaskAnnotator::RunTask()
#14 0x7fe12ea7bc08 base::sequence_manager::internal::ThreadControllerImpl::DoWork()
#15 0x7fe12ea7dd28 _ZN4base8internal7InvokerINS0_9BindStateIMNS_16sequence_manager8internal20ThreadControllerImplEFvNS5_8WorkTypeEEJNS_7WeakPtrIS5_EES6_EEEFvvEE3RunEPNS0_13BindStateBaseE
#16 0x7fe12e9e8b12 base::debug::TaskAnnotator::RunTask()
#17 0x7fe12ea15f4f base::MessageLoop::RunTask()
#18 0x7fe12ea163e2 base::MessageLoop::DoWork()
#19 0x7fe12ea19eb6 base::MessagePumpDefault::Run()
#20 0x7fe12ea15a21 base::MessageLoop::Run()
#21 0x7fe12ea49e76 base::RunLoop::Run()
#22 0x7fe12eaa70aa base::Thread::Run()
#23 0x7fe12eaa7655 base::Thread::ThreadMain()
#24 0x7fe12eaf52ff base::(anonymous namespace)::ThreadFunc()
#25 0x7fe122778494 start_thread
#26 0x7fe1206cba8f clone


 
Cc: yiyix@chromium.org enne@chromium.org
Labels: -Pri-1 Pri-2
The DCHECK is not really that the non-opaque quad would never happen, but more of a we don't really deal with non-opaque solid color quad here.

When we don't have a mask resource for render pass draw quad, the alpha information is basically lost.

We should either add alpha to RPDQ, or create new shared quad state with alpha for when it is solid color.
Status: Assigned (was: Untriaged)
I think creating/modifying the shared quad state to have the right alpha sounds like a good solution here.
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 23

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

commit 167a35300b4dbc76c2338fba9bbb0d7ac1520185
Author: Peng Huang <penghuang@chromium.org>
Date: Fri Nov 23 22:46:12 2018

Fix a checkerboad related crash.

For a mask layer, the color's alpha channel has to be 255, otherwise
a DCHECK() in cc::RenderSurfaceImpl::TileMaskLayer() will be triggered.

Bug: 897731
Change-Id: I9281ebdd1eccde58642297618051b2a1fb0a81e7
Reviewed-on: https://chromium-review.googlesource.com/c/1349454
Reviewed-by: weiliangc <weiliangc@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610681}
[modify] https://crrev.com/167a35300b4dbc76c2338fba9bbb0d7ac1520185/cc/layers/picture_layer_impl.cc

Sign in to add a comment