New issue
Advanced search Search tips

Issue 912687 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug


Participants' hotlists:
Harmony-Cast-Dialog


Sign in to add a comment

DCHECK fail when using new Harmony MR Dialog

Project Member Reported by m...@chromium.org, Dec 6

Issue description

This has been an issue for a few months, but I haven't had a chance to report it. When clicking on a receiver to cast a tab using the new Harmony Media Router Dialog, a DCHECK() triggers in the compositing code (pasted below). I've confirmed that the crash does not occur when using the old MR dialog, or any other custom code using the extension APIs. Meaning, it's not tab-capture related.


Speculation: It seems there's something about the Harmony dialog closing that's causing the DCHECK() to trigger? Also, note that if I comment out the DCHECK() statement, the crash goes away and nothing bad seems to happen because of it.


Repro steps:

1. Build Chromium from ToT on Linux (also confirmed on CrOS, not sure about Win/Mac) with the following GN args: "is_component_build=true is_chrome_branded = false is_debug=false dcheck_always_on = true" (the last two are the only relevant ones, but I'm providing the others just in case).

2. Run chrome with additional command-line args: --no-proxy-server --load-media-router-component-extension=1

3. Right click within new tab page, click "Cast..."

4. Click on a receiver to start tab mirroring. At this point, the crash will occur.


Crash message and stack:

[73644:73644:1206/124314.511413:FATAL:layer.cc(1344)] Check failed: bounds().ToString() == mask_layer()->bounds().ToString() (0x0 vs. 305x56)
#0 0x7f4f9aecbecf base::debug::StackTrace::StackTrace()
#1 0x7f4f9adf113b logging::LogMessage::~LogMessage()
#2 0x7f4f8a94bf43 cc::Layer::PushPropertiesTo()
#3 0x7f4f8a95c5dc cc::PictureLayer::PushPropertiesTo()
#4 0x7f4f8aa55720 cc::TreeSynchronizer::PushLayerProperties()
#5 0x7f4f8a9efbec cc::LayerTreeHost::FinishCommitOnImplThread()
#6 0x7f4f8aa4f1f0 cc::SingleThreadProxy::DoCommit()
#7 0x7f4f8aa52a6c cc::SingleThreadProxy::ScheduledActionCommit()
#8 0x7f4f8a998622 cc::Scheduler::ProcessScheduledActions()
#9 0x7f4f8a999093 cc::Scheduler::NotifyReadyToCommit()
#10 0x7f4f8aa523f5 cc::SingleThreadProxy::BeginMainFrame()
#11 0x7f4f8aa5318d _ZN4base8internal7InvokerINS0_9BindStateIMN2cc17SingleThreadProxyEFvRKN3viz14BeginFrameArgsEEJNS_7WeakPtrIS4_EES6_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#12 0x7f4f9add1bff base::debug::TaskAnnotator::RunTask()
#13 0x7f4f9ae0080f base::MessageLoopImpl::RunTask()
#14 0x7f4f9ae00de2 base::MessageLoopImpl::DoWork()
#15 0x7f4f9ae03449 base::MessagePumpGlib::Run()
#16 0x7f4f9ae002e5 base::MessageLoopImpl::Run()
#17 0x7f4f9ae33806 base::RunLoop::Run()
#18 0x55ed3a64f685 ChromeBrowserMainParts::MainMessageLoopRun()
#19 0x7f4f980c3c57 content::BrowserMainLoop::RunMainMessageLoopParts()
#20 0x7f4f980c6b13 content::BrowserMainRunnerImpl::Run()
#21 0x7f4f980c0252 content::BrowserMain()
#22 0x7f4f98c1141b content::ContentMainRunnerImpl::Run()
#23 0x7f4f8a44947a service_manager::Main()
#24 0x7f4f98c0f4b1 content::ContentMain()
#25 0x55ed39e2f1b3 ChromeMain
#26 0x7f4f8c8db2b1 __libc_start_main
#27 0x55ed39e2f02a _start

 
Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 10

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

commit 96194512880cbc7b31e928a7ae5007e60c86655b
Author: Takumi Fujimoto <takumif@chromium.org>
Date: Mon Dec 10 22:33:54 2018

Resolve a DCHECK failure in Views Cast dialog

The DCHECK failure was being caused by having an unnecessary InkDrop /
mask layer.

Bug:  912687 
Change-Id: Ie19d26aacb1118c8aa80b47baa7c10f1e1e296af
Reviewed-on: https://chromium-review.googlesource.com/c/1368767
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Commit-Queue: Takumi Fujimoto <takumif@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615285}
[modify] https://crrev.com/96194512880cbc7b31e928a7ae5007e60c86655b/chrome/browser/ui/views/media_router/cast_dialog_sink_button.cc

Status: Fixed (was: Started)

Sign in to add a comment