New issue
Advanced search Search tips

Issue 659897 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Assertion failure in LayerTreeHostImpl::SetTreeLayerOpacityMutated when MemoryCoordinator is enabled

Project Member Reported by bashi@chromium.org, Oct 27 2016

Issue description

Version: ToT
OS: Linux

What steps will reproduce the problem?
(1) launch chrome with --enable-features=MemoryCoordinator
(2) visit http://edition.cnn.com/
(3) Consume a lot of memory (e.g. running `stress --vm-bytes XXG --vm-keep -m1`) until memory coordinator changes the global memory state to THROTTLE/SUSPENDED

What is the expected output?
No crash is observed.

What do you see instead?
An assertion failure. Here is a stack trace.

[1:3:1027/141312:FATAL:layer_tree_host_impl.cc(3894)] Check failed: tree->property_trees()->IsInIdToIndexMap( PropertyTrees::TreeType::EFFECT, layer_id). 
#0 0x7fe2e7a19a8e base::debug::StackTrace::StackTrace()
#1 0x7fe2e7a3d36b logging::LogMessage::~LogMessage()
#2 0x7fe2e4399968 cc::LayerTreeHostImpl::SetTreeLayerOpacityMutated()
#3 0x7fe2e4399e63 cc::LayerTreeHostImpl::SetElementOpacityMutated()
#4 0x7fe2e4279ad6 cc::ElementAnimations::OnOpacityAnimated()
#5 0x7fe2e4274ac3 cc::AnimationPlayer::TickAnimations()
#6 0x7fe2e42784a3 cc::ElementAnimations::Animate()
#7 0x7fe2e426fccc cc::AnimationHost::AnimateLayers()
#8 0x7fe2e43983f6 cc::LayerTreeHostImpl::AnimateLayers()
#9 0x7fe2e438c25f cc::LayerTreeHostImpl::AnimateInternal()
#10 0x7fe2e438baf4 cc::LayerTreeHostImpl::CommitComplete()
#11 0x7fe2e43cd924 cc::ProxyImpl::ScheduledActionCommit()
#12 0x7fe2e434a71d cc::Scheduler::ProcessScheduledActions()
#13 0x7fe2e434b1d1 cc::Scheduler::NotifyReadyToCommit()
#14 0x7fe2e43cad81 cc::ProxyImpl::NotifyReadyToCommitOnImpl()
#15 0x7fe2e7a1a5c6 base::debug::TaskAnnotator::RunTask()
#16 0x7fe2e7a4911d base::MessageLoop::RunTask()
#17 0x7fe2e7a494a8 base::MessageLoop::DeferOrRunPendingTask()
#18 0x7fe2e7a498bb base::MessageLoop::DoWork()
#19 0x7fe2e7a4afbe base::MessagePumpDefault::Run()
#20 0x7fe2e7a48e01 base::MessageLoop::RunHandler()
#21 0x7fe2e7a76c60 base::RunLoop::Run()
#22 0x7fe2e7ab00df base::Thread::Run()
#23 0x7fe2e7ab05b4 base::Thread::ThreadMain()
#24 0x7fe2e7aa86bc base::(anonymous namespace)::ThreadFunc()
#25 0x7fe2e7b70184 start_thread
#26 0x7fe2de79637d clone
 

Comment 1 by bashi@chromium.org, Oct 27 2016

Owner: ericrk@chromium.org
ericrk@: Could you help me fix this assertion failure? Maybe some logic in OnMemoryStateChange() in cc/ break something?

Unfortunately there is no easy way to enter THROTTLED/SUSPENDED state. You will need to consume actual memory to enter THROTTLED/SUSPENDED state by using tools like `stress`. I wanted to fix this by myself but I'm not familiar with cc/...

Comment 2 by ericrk@chromium.org, Oct 27 2016

Sure, I'll take a look today.

Assuming I trigger THROTTLED/SUSPENDED, is this very reproducible?

Comment 3 by bashi@chromium.org, Oct 27 2016

Yes, it occured every time when I tested. Let me know if it's not reproducible. I'll create a CL which forces THROTTED state.
Project Member

Comment 4 by sheriffbot@chromium.org, Oct 30 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: -Blink>Compositing Internals>Compositing
Status: Assigned (was: Untriaged)

Sign in to add a comment