New issue
Advanced search Search tips

Issue 832072 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

[FATAL:layer_tree_host_impl.cc(1190)] Check failed: impl_thread_phase_ == ImplThreadPhase::INSIDE_IMPL_FRAME

Project Member Reported by arthurso...@chromium.org, Apr 12 2018

Issue description

Chrome Version: (trunk) M67 currently.
OS: Android

What steps will reproduce the problem?
(1) On Android, add an existing google account to the device.
(2) Fill user/password, confirm 

What is the expected result?
N/A

What happens instead?
[FATAL:layer_tree_host_impl.cc(1190)] Check failed: impl_thread_phase_ == ImplThreadPhase::INSIDE_IMPL_FRAME

It fails at line 4 of this function:
┌──┬────────────────────────────────────────────────────────────────────┐
│1 │void LayerTreeHostImpl::InvalidateContentOnImplSide() {             │
│2 │  DCHECK(!pending_tree_);                                           │
│3 │  // Invalidation should never be ran outside the impl frame.       │
│4 │  DCHECK_EQ(impl_thread_phase_, ImplThreadPhase::INSIDE_IMPL_FRAME);│
│5 │                                                                    │
│6 │  if (!CommitToActiveTree())                                        │
│7 │    CreatePendingTree();                                            │
│8 │                                                                    │
│9 │  UpdateSyncTreeAfterCommitOrImplSideInvalidation();                │
│10│}                                                                   │
└──┴────────────────────────────────────────────────────────────────────┘

[...]/libbase.cr.so (offset 0xfe000) (_ZN4base5debug13BreakDebuggerEv+40)
[...]/libbase.cr.so (offset 0xfe000) (_ZN7logging10LogMessageD1Ev+812)
[...]/libcc.cr.so (offset 0x165000) (_ZN2cc17LayerTreeHostImpl27InvalidateContentOnImplSideEv+160)
[...]/libcc.cr.so (offset 0x165000) (_ZN2cc9ProxyImpl42ScheduledActionPerformImplSideInvalidationEv+148)
[...]/libcc.cr.so (offset 0x165000) (_ZN2cc9Scheduler23ProcessScheduledActionsEv+632)
[...]/libcc.cr.so (offset 0x165000) (_ZN2cc9Scheduler27OnDrawForLayerTreeFrameSinkEb+268)
[...]/libcc.cr.so (offset 0x165000) (_ZN2cc9ProxyImpl27OnDrawForLayerTreeFrameSinkEb+112)
[...]/libcc.cr.so (offset 0x165000) (_ZN2cc17LayerTreeHostImpl6OnDrawERKN3gfx9TransformERKNS1_4RectEb+396)
[...]/libcontent.cr.so (offset 0xda3000)
[...]/libcontent.cr.so (offset 0xda3000)
[...]/libcontent.cr.so (offset 0xda3000)
[...]/libcontent.cr.so (offset 0xda3000)
[...]/libcontent.cr.so (offset 0xda3000) (_ZN7content5mojom33SynchronousCompositorStubDispatch6AcceptEPNS0_21SynchronousCompositorEPN4mojo7MessageE+560)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo23InterfaceEndpointClient22HandleValidatedMessageEPNS_7MessageE+752)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo11FilterChain6AcceptEPNS_7MessageE+164)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo23InterfaceEndpointClient21HandleIncomingMessageEPNS_7MessageE+116)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo8internal15MultiplexRouter22ProcessIncomingMessageEPNS1_14MessageWrapperENS1_18ClientCallBehaviorEPN4base19SequencedTaskRunnerE+652)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo8internal15MultiplexRouter6AcceptEPNS_7MessageE+304)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo11FilterChain6AcceptEPNS_7MessageE+164)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo9Connector17ReadSingleMessageEPj+340)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo9Connector24ReadAllAvailableMessagesEv+136)
[...]/libbindings.cr.so (offset 0x1b000) (_ZN4mojo9Connector21OnHandleReadyInternalEj+140)
[...]/libbindings.cr.so (offset 0x1b000)
[...]/libbindings.cr.so (offset 0x1b000)
[...]/libmojo_public_system_cpp.cr.so (offset 0xb000) (_ZN4mojo13SimpleWatcher13OnHandleReadyEijRKNS_18HandleSignalsStateE+220)
[...]/libbase.cr.so (offset 0xfe000)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base5debug13TaskAnnotator7RunTaskEPKcPNS_11PendingTaskE+204)
[...]/libblink_platform.cr.so (offset 0x461000) (_ZN5blink9scheduler8internal20ThreadControllerImpl6DoWorkENS1_19SequencedTaskSource8WorkTypeE+460)
[...]/libbase.cr.so (offset 0xfe000)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base5debug13TaskAnnotator7RunTaskEPKcPNS_11PendingTaskE+204)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base8internal17IncomingTaskQueue7RunTaskEPNS_11PendingTaskE+124)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base11MessageLoop7RunTaskEPNS_11PendingTaskE+272)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base11MessageLoop21DeferOrRunPendingTaskENS_11PendingTaskE+128)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base11MessageLoop13DoDelayedWorkEPNS_9TimeTicksE+256)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base18MessagePumpDefault3RunEPNS_11MessagePump8DelegateE+76)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base11MessageLoop3RunEb+140)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base7RunLoop3RunEv+248)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base6Thread3RunEPNS_7RunLoopE+180)
[...]/libbase.cr.so (offset 0xfe000) (_ZN4base6Thread10ThreadMainEv+556)
[...]/libbase.cr.so (offset 0xfe000)


+Owner: Yogi. This DCHECK has been introduced recently: https://chromium.googlesource.com/chromium/src/+/b208e554c9f82733d7cc1e9a5dca8272431ade75
Could you please take a look?
 

Comment 1 by yigu@chromium.org, Apr 19 2018

Cannot reproduce the bug on Pixel with Android 8.1 running chromium 67.0.3394.0.  arthursonzogni@, could you please double check whether it's still reproducible and provide the device && os info if so? Thanks!

Comment 2 by yigu@chromium.org, Jun 12 2018

arthursonzogni@, could you please double check whether it's still reproducible and provide the device && os info if so? Thanks!
I just checked today again, the DCHECK is still reachable.

Here are more info:
commit: 0429cc5427bad3ca73d5dbd8731fdfbd563e4b4f #566412 (12 Jun 2018)
Android version 7.1.2
Device model: Nexus 6P

What I am seeing:
1) Ask for email
2) Ask for password
3) Ask for 2 factor identification, and after 1 second, the DCHECK is reached.
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 14 2018

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

commit 7baddbd873187e58107543441f6bee943b35f1c4
Author: Yi Gu <yigu@chromium.org>
Date: Thu Jun 14 23:11:50 2018

Fix crash on android webview upon impl side invalidation

Previously we assume that LayerTreeHostImpl::InvalidatecontentOnImplSide
is called only when it's in the impl frame. Actually for devices with
synchronous compositor, e.g. Android Webview, that's not the case as it
may ask for a frame at any time. Updating the DCHECK to fix the crash.

Bug:  832072 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I96c88bf3589aa65eab02ff40bebb9a826cd0266b
Reviewed-on: https://chromium-review.googlesource.com/1101544
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567465}
[modify] https://crrev.com/7baddbd873187e58107543441f6bee943b35f1c4/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/7baddbd873187e58107543441f6bee943b35f1c4/cc/trees/layer_tree_host_impl_unittest.cc

Comment 5 by yigu@chromium.org, Jun 14 2018

Labels: -M-67
Status: Fixed (was: Assigned)

Comment 6 by yigu@chromium.org, Jun 26 2018

Components: Internals>Compositing>Animation

Sign in to add a comment