Record desktop extension causes chrome crash |
||||
Issue descriptionRepro steps: Using `Screencastify - Screen Video Recorder extension` to record desktop and then it will hit a crash: [70933:70933:0403/152632.053440:FATAL:window_parenting_client.cc(44)] Check failed: context. #0 0x7f0f3686bd7c base::debug::StackTrace::StackTrace() #1 0x7f0f36892acb logging::LogMessage::~LogMessage() #2 0x7f0f321b1680 aura::client::ParentWindowWithContext() #3 0x7f0f31168dd2 views::NativeWidgetAura::InitNativeWidget() #4 0x7f0f31149588 views::Widget::Init() #5 0x7f0f311533f4 views::DialogDelegate::CreateDialogWidget() #6 0x560aff9ac59e DesktopMediaPickerDialogView::DesktopMediaPickerDialogView() #7 0x560aff9addca DesktopMediaPickerViews::Show() #8 0x560b002327f8 extensions::DesktopCaptureChooseDesktopMediaFunctionBase::Execute() #9 0x560b00231c19 extensions::DesktopCaptureChooseDesktopMediaFunction::RunAsync() #10 0x560afef6bb5f ChromeAsyncExtensionFunction::Run() #11 0x560afdc4fba2 ExtensionFunction::RunWithValidation() #12 0x560afdc522bb extensions::ExtensionFunctionDispatcher::DispatchWithCallbackInternal() #13 0x560afdc51e5f extensions::ExtensionFunctionDispatcher::Dispatch() #14 0x560afdc7699a extensions::ExtensionWebContentsObserver::OnRequest() #15 0x560afdc76819 _ZN3IPC8MessageTI29ExtensionHostMsg_Request_MetaNSt3__15tupleIJ31ExtensionHostMsg_Request_ParamsEEEvE8DispatchIN10extensions28ExtensionWebContentsObserverES9_N7content15RenderFrameHostEMS9_FvPSB_RKS4_EEEbPKNS_7MessageEP$ _PT0_PT1_T2_ #16 0x560afdc76762 extensions::ExtensionWebContentsObserver::OnMessageReceived() #17 0x560afef6c551 extensions::ChromeExtensionWebContentsObserver::OnMessageReceived() #18 0x7f0f33f20492 content::WebContentsImpl::OnMessageReceived() #19 0x7f0f33bee7a4 content::RenderFrameHostImpl::OnMessageReceived() #20 0x7f0f33dea12b content::RenderProcessHostImpl::OnMessageReceived() #21 0x7f0f35a22641 IPC::ChannelProxy::Context::OnDispatchMessage() #22 0x7f0f35a2516b _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE3RunEPNS0_13BindStateBaseE #23 0x7f0f3686c654 base::debug::TaskAnnotator::RunTask() #24 0x7f0f3689ecb9 base::internal::IncomingTaskQueue::RunTask() #25 0x7f0f368a280b base::MessageLoop::RunTask() #26 0x7f0f368a2baa base::MessageLoop::DeferOrRunPendingTask() #27 0x7f0f368a2e0c base::MessageLoop::DoWork() #28 0x7f0f368a5239 base::MessagePumpLibevent::Run() #29 0x7f0f368a2139 base::MessageLoop::Run() #30 0x7f0f368d8e59 base::RunLoop::Run() #31 0x560afe652aea ChromeBrowserMainParts::MainMessageLoopRun() #32 0x7f0f33a91a37 content::BrowserMainLoop::RunMainMessageLoopParts() #33 0x7f0f33a94b36 content::BrowserMainRunnerImpl::Run() #34 0x7f0f33a8dcc9 content::BrowserMain() #35 0x7f0f3446cd3d content::ContentMainRunnerImpl::Run() #36 0x7f0f36dac322 service_manager::Main() #37 0x7f0f3446b3b4 content::ContentMain() #38 0x560afdadc1e3 ChromeMain #39 0x7f0f296932b1 __libc_start_main #40 0x560afdadc05a _start Marking this as P1 since it prevents developers to record video demos...
,
Apr 3 2018
,
Apr 3 2018
James, related to recent context changes?
,
Apr 4 2018
Yes, this is almost certainly due to my changes for issue 826569
,
Apr 4 2018
Fix is in the CQ https://chromium-review.googlesource.com/c/chromium/src/+/994461
,
Apr 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e8e14cfcf77917f8ff21553421c01f0a85831af2 commit e8e14cfcf77917f8ff21553421c01f0a85831af2 Author: James Cook <jamescook@chromium.org> Date: Wed Apr 04 04:13:58 2018 cros: Fix crash when using screen casting extension In crrev.com/547515 I removed this block of code from ChromeViewsDelegate::CreateNativeWidget: if (params->context) params->context = params->context->GetRootWindow(); The Screencastify extension uses DesktopMediaPickerDialogView, which apparently supplies a context window with no parent. We were relying on the code above to make params->context null so it would trigger a fallback code path. It's not clear why that code was added in the first place. It appeared in https://crrev.com/230793 as part of a revert of some RLZ refactoring. However, we depend on the code now, and I cannot guarantee that all browser code supplies a context with a valid root window, so put it back. TBR=oshima@chromium.org Bug: 828626 , 311339 Test: none Change-Id: I70b9a884fdf471d34d626237b72b92325cba5df8 Reviewed-on: https://chromium-review.googlesource.com/994461 Reviewed-by: James Cook <jamescook@chromium.org> Commit-Queue: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#547978} [modify] https://crrev.com/e8e14cfcf77917f8ff21553421c01f0a85831af2/chrome/browser/ui/views/chrome_views_delegate_chromeos.cc
,
Apr 4 2018
Fixed. I filed issue 828919 with what I know about the screen capture UI's use of Widget context, which might be wrong. |
||||
►
Sign in to add a comment |
||||
Comment 1 by warx@chromium.org
, Apr 3 2018