New issue
Advanced search Search tips

Issue 780577 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

get active frame index when there's no active frame data yet

Project Member Reported by riajiang@chromium.org, Nov 1 2017

Issue description

Encountered this when trying to get the active frame index in SurfaceAggregator and HitTestManager in --mash.

stacktrace:

[70267:70296:1031/172235.852446:FATAL:optional.h(177)] Check failed: !storage_.is_null_. 
#0 0x7f08b5473d9c base::debug::StackTrace::StackTrace()
#1 0x7f08b549a36c logging::LogMessage::~LogMessage()
#2 0x7f08af9a61aa base::Optional<>::operator->()
#3 0x7f08af9d5324 viz::SurfaceAggregator::PrewalkTree()
#4 0x7f08af9d66e2 viz::SurfaceAggregator::PrewalkTree()
#5 0x7f08af9d66e2 viz::SurfaceAggregator::PrewalkTree()
#6 0x7f08af9d764d viz::SurfaceAggregator::Aggregate()
#7 0x7f08af9a4011 viz::Display::DrawAndSwap()
#8 0x7f08af9a7e5a viz::DisplayScheduler::DrawAndSwap()
#9 0x7f08af9a751f viz::DisplayScheduler::AttemptDrawAndSwap()
#10 0x7f08af9a6e16 viz::DisplayScheduler::OnBeginFrameDeadline()
#11 0x7f08af9a9ac7 _ZN4base8internal7InvokerINS0_9BindStateIMN3viz16DisplaySchedulerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#12 0x7f08af9a9d3f _ZN4base8internal22CancelableCallbackImplINS_17RepeatingCallbackIFvvEEEE16ForwardRepeatingIJEEEvDpT_
#13 0x7f08af9a9ac7 _ZN4base8internal7InvokerINS0_9BindStateIMN3viz16DisplaySchedulerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#14 0x7f08b5474675 base::debug::TaskAnnotator::RunTask()
#15 0x7f08b54a5709 base::internal::IncomingTaskQueue::RunTask()
#16 0x7f08b54a92c8 base::MessageLoop::RunTask()
#17 0x7f08b54a962a base::MessageLoop::DeferOrRunPendingTask()
#18 0x7f08b54a9b87 base::MessageLoop::DoDelayedWork()
#19 0x7f08b54aadcd base::MessagePumpDefault::Run()
#20 0x7f08b54a8c19 base::MessageLoop::Run()
#21 0x7f08b54dd1e8 base::RunLoop::Run()
#22 0x7f08b551cb47 base::Thread::Run()
#23 0x7f08b551d0fc base::Thread::ThreadMain()
#24 0x7f08b5513e8f base::(anonymous namespace)::ThreadFunc()
#25 0x7f08b55f0184 start_thread
#26 0x7f08a9353ffd clone

Received signal 6
#0 0x7f08b5473d9c base::debug::StackTrace::StackTrace()
#1 0x7f08b5473881 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f08b55f8330 <unknown>
#3 0x7f08a928cc37 gsignal
#4 0x7f08a9290028 abort
#5 0x7f08b5471795 base::debug::BreakDebugger()
#6 0x7f08b549a720 logging::LogMessage::~LogMessage()
#7 0x7f08af9a61aa base::Optional<>::operator->()
#8 0x7f08af9d5324 viz::SurfaceAggregator::PrewalkTree()
#9 0x7f08af9d66e2 viz::SurfaceAggregator::PrewalkTree()
#10 0x7f08af9d66e2 viz::SurfaceAggregator::PrewalkTree()
#11 0x7f08af9d764d viz::SurfaceAggregator::Aggregate()
#12 0x7f08af9a4011 viz::Display::DrawAndSwap()
#13 0x7f08af9a7e5a viz::DisplayScheduler::DrawAndSwap()
#14 0x7f08af9a751f viz::DisplayScheduler::AttemptDrawAndSwap()
#15 0x7f08af9a6e16 viz::DisplayScheduler::OnBeginFrameDeadline()
#16 0x7f08af9a9ac7 _ZN4base8internal7InvokerINS0_9BindStateIMN3viz16DisplaySchedulerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#17 0x7f08af9a9d3f _ZN4base8internal22CancelableCallbackImplINS_17RepeatingCallbackIFvvEEEE16ForwardRepeatingIJEEEvDpT_
#18 0x7f08af9a9ac7 _ZN4base8internal7InvokerINS0_9BindStateIMN3viz16DisplaySchedulerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#19 0x7f08b5474675 base::debug::TaskAnnotator::RunTask()
#20 0x7f08b54a5709 base::internal::IncomingTaskQueue::RunTask()
#21 0x7f08b54a92c8 base::MessageLoop::RunTask()
#22 0x7f08b54a962a base::MessageLoop::DeferOrRunPendingTask()
#23 0x7f08b54a9b87 base::MessageLoop::DoDelayedWork()
#24 0x7f08b54aadcd base::MessagePumpDefault::Run()
#25 0x7f08b54a8c19 base::MessageLoop::Run()
#26 0x7f08b54dd1e8 base::RunLoop::Run()
#27 0x7f08b551cb47 base::Thread::Run()
#28 0x7f08b551d0fc base::Thread::ThreadMain()
#29 0x7f08b5513e8f base::(anonymous namespace)::ThreadFunc()
#30 0x7f08b55f0184 start_thread
#31 0x7f08a9353ffd clone
  r8: ffffbf8c6255c430  r9: ffffbf8c6255c420 r10: 0000000000000008 r11: 0000000000000206
 r12: 00007f089b1095a8 r13: 00007f089b109598 r14: 00007f089b1095a0 r15: 00007f089b1090f0
  di: 000000000001127b  si: 0000000000011298  bp: 00007f089b1090e0  bx: 00007f089b1090f0
  dx: 0000000000000006  ax: 0000000000000000  cx: 00007f08a928cc37  sp: 00007f089b108fa8
  ip: 00007f08a928cc37 efl: 0000000000000206 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 2 2017

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

commit 73ab384354cd969c9bee3509ba728a634e08abfe
Author: Ria Jiang <riajiang@chromium.org>
Date: Thu Nov 02 02:16:19 2017

Check if we have active frame data before returning the active index.

Encountered this when trying to get the active frame index in
SurfaceAggregator and HitTestManager in mash. This CL returns 0 as the
active frame index when there's no active frame data yet.

Bug:  780577 
Test: viz_unittests
Change-Id: Ia81792e92507ca47a8db67fe502017f572c92443
Reviewed-on: https://chromium-review.googlesource.com/749643
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513378}
[modify] https://crrev.com/73ab384354cd969c9bee3509ba728a634e08abfe/components/viz/service/frame_sinks/surface_synchronization_unittest.cc
[modify] https://crrev.com/73ab384354cd969c9bee3509ba728a634e08abfe/components/viz/service/surfaces/surface.h

Status: Fixed (was: Started)

Comment 3 by laforge@google.com, Nov 8 2017

Components: -Internals>Viz Internals>Services>Viz
Migrating from Internals>Viz to Internals>Services>Viz.

Sign in to add a comment