service_manager DCHECK for MediaStreamDeviceObserver when stopping screen share |
||||||||
Issue descriptionOn tip of trunk (66.0.3354.0): 1. Sign into a Google account 2. Start a hangout at hangouts.google.com 3. On the Hangouts page, click the 3-dot menu => Share screen => Share 4. Click "Stop sharing" on the popup at the bottom of the screen [111499:111508:0227/211319.271998:FATAL:service_manager.cc(154)] Check failed: false. The Service Manager prevented service "content_browser" from binding interface "content::mojom::MediaStreamDeviceObserver" in target service "content_renderer". You probably need to update one or more service manifests to ensure that "content_renderer" exposes "content::mojom::MediaStreamDeviceObserver" through a capability and that "content_browser" requires that capability from the "content_renderer" service. #0 0x7f5c9e73049c base::debug::StackTrace::StackTrace() #1 0x7f5c9e75a30c logging::LogMessage::~LogMessage() #2 0x7f5c9bb0176c service_manager::(anonymous namespace)::ReportBlockedInterface() #3 0x7f5c9bb010e2 service_manager::(anonymous namespace)::AllowsInterface() #4 0x7f5c9bb05d20 service_manager::ServiceManager::Instance::InterfaceProviderImpl::GetInterface() #5 0x7f5c9aae8459 service_manager::mojom::InterfaceProviderStubDispatch::Accept() #6 0x7f5c9d93d342 mojo::InterfaceEndpointClient::HandleValidatedMessage() #7 0x7f5c9d93cc36 mojo::FilterChain::Accept() #8 0x7f5c9d93e802 mojo::InterfaceEndpointClient::HandleIncomingMessage() #9 0x7f5c9d9456ed mojo::internal::MultiplexRouter::ProcessIncomingMessage() #10 0x7f5c9d944a83 mojo::internal::MultiplexRouter::Accept() #11 0x7f5c9d93cc36 mojo::FilterChain::Accept() #12 0x7f5c9d93743d mojo::Connector::ReadSingleMessage() #13 0x7f5c9d938014 mojo::Connector::ReadAllAvailableMessages() #14 0x7f5c9d937e76 mojo::Connector::OnHandleReadyInternal() #15 0x7f5c9d938844 mojo::SimpleWatcher::DiscardReadyState() #16 0x7f5c9d8f7a95 mojo::SimpleWatcher::OnHandleReady() #17 0x7f5c9d8f801e _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE #18 0x7f5c9e730dba base::debug::TaskAnnotator::RunTask() #19 0x7f5c9e764dd6 base::internal::IncomingTaskQueue::RunTask() #20 0x7f5c9e769007 base::MessageLoop::RunTask() #21 0x7f5c9e76942a base::MessageLoop::DeferOrRunPendingTask() #22 0x7f5c9e7696be base::MessageLoop::DoWork() #23 0x7f5c9e76c369 base::MessagePumpLibevent::Run() #24 0x7f5c9e76887c base::MessageLoop::Run() #25 0x7f5c9e7a10f6 base::RunLoop::Run() #26 0x7f5c9e7e202a base::Thread::Run() #27 0x7f5c9bc787e8 content::BrowserThreadImpl::IOThreadRun() #28 0x7f5c9bc78961 content::BrowserThreadImpl::Run() #29 0x7f5c9e7e2623 base::Thread::ThreadMain() #30 0x7f5c9e7de17f base::(anonymous namespace)::ThreadFunc() #31 0x7f5c9e87c494 start_thread #32 0x7f5c92373a8f clone
,
Feb 28 2018
I forgot to rename MediaStreamDispatcher to MediaStreamDeviceObserver at https://cs.chromium.org/chromium/src/content/public/app/mojo/content_renderer_manifest.json?type=cs&q=MediaStreamDispatcher+json&l=60 :(
,
Feb 28 2018
No problem. I can take care of that patch.
,
Feb 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cade37d88fabb3a74b89ecdbe8398cb035c5599e commit cade37d88fabb3a74b89ecdbe8398cb035c5599e Author: Guido Urdaneta <guidou@chromium.org> Date: Wed Feb 28 17:47:45 2018 Fix MediaStreamDeviceObserver name in content_renderer_manifest.json This was renamed from MediaStreamDispatcher in https://crrev.com/c/786593. Bug: 817214 Change-Id: If3aac97652afbcf08c2ece7beb81a22534d58501 Reviewed-on: https://chromium-review.googlesource.com/941204 Commit-Queue: Guido Urdaneta <guidou@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#539872} [modify] https://crrev.com/cade37d88fabb3a74b89ecdbe8398cb035c5599e/content/public/app/mojo/content_renderer_manifest.json
,
Feb 28 2018
,
Mar 1 2018
,
Mar 1 2018
This bug requires manual review: We are only 4 days from stable. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 1 2018
Tested the issue on ubuntu 17.10 using chrome reported version #66.0.3354.0 but could not reproduce the issue as after clicking "Stop sharing" on the popup at the bottom of the screen as per comment #0 did not generate error service_manager DCHECK anywhere. Tried verifying the issue on ubuntu 17.10 using chrome version #66.0.3358.0 as per comment #0. Did not observe any error. Attaching the screen cast for reference. guidou@ - Could you please check the attached screen cast and please confirm the fix. Thanks...!!
,
Mar 1 2018
I couldn't reproduce the issue using screen sharing. It is a lot easier to reproduce it by using any page that invokes getUserMedia() with a USB webcam or mic, and, while the stream is active, unplug the USB device. https://webrtc.github.io/samples/src/content/devices/input-output/ should work for verification. Note that in release builds, DCHECKs are disabled. In that case, the patch can be verified by looking at an error message that is logged without the patch.
,
Mar 1 2018
Before we approve merge to M65, could you pls confirm followings? Is this M65 regression and critical to merge? Is the change well baked/verified in Canary, having enough automation tests coverage and safe to merge? Any other imp details to justify the merge. Please note M65 is VERY close to Stable promotion so merge bar is very high. Thank you.
,
Mar 1 2018
This is a M64 regression, but I think it should be merged to M65. My arguments are: 1. This might be causing bugs that are difficult to diagnose in Hangouts and other similar applications (see that this bug started with a DCHECK hit during a screen share in Hangouts). 2. The fix is totally safe to merge and super simple. Just a string change in a configuration file. No C++ changes. 3. It's verified on the latest Canary (66.0.3358.0).
,
Mar 1 2018
Approving merge to M65 branch based on comment #11 and per chat with guidou@, string doesn't need to be translated. Pls merge ASAP. Thank you.
,
Mar 1 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/627118ea9db43bbeb15495bbe2a2ed875c511339 commit 627118ea9db43bbeb15495bbe2a2ed875c511339 Author: Guido Urdaneta <guidou@chromium.org> Date: Thu Mar 01 17:14:39 2018 Fix MediaStreamDeviceObserver name in content_renderer_manifest.json This was renamed from MediaStreamDispatcher in https://crrev.com/c/786593. Bug: 817214 Change-Id: If3aac97652afbcf08c2ece7beb81a22534d58501 Reviewed-on: https://chromium-review.googlesource.com/941204 Commit-Queue: Guido Urdaneta <guidou@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#539872}(cherry picked from commit cade37d88fabb3a74b89ecdbe8398cb035c5599e) Reviewed-on: https://chromium-review.googlesource.com/943641 Reviewed-by: Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/branch-heads/3325@{#639} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369} [modify] https://crrev.com/627118ea9db43bbeb15495bbe2a2ed875c511339/content/public/app/mojo/content_renderer_manifest.json
,
Mar 6 2018
Able to reproduce the issue on Ubuntu 17.10 using chrome reported version #66.0.3354.0 Verified the fix on Ubuntu 17.10 using Chrome version #65.0.3325.146 as per the comment #9. Attaching screen cast for reference. Observed that after unplugging the USB device, no error was observed in the terminal. Hence, the fix is working as expected. Adding the verified labels. Thanks...!! |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by guidou@chromium.org
, Feb 28 2018Status: Assigned (was: Untriaged)