Issue metadata
Sign in to add a comment
|
[canvas_resource_provider.cc(303)] Check failed: SharedGpuContext::IsGpuCompositingEnabled() |
||||||||||||||||||||||||
Issue descriptionChrome Version: 68.0.3440.0 (Developer Build) (64-bit) OS: Linux What steps will reproduce the problem? (1) Open any website (say wikipedia.org) (2) Open DevTools, go to performance tab, start capturing. (3) Open Task manager, kill GPU process three times to fall back to software compositing. What is the expected result? DevTools shouldn't crash. What happens instead? DevTools crashes and disappears. Crash log: [184621:184621:0524/171130.042016:ERROR:viz_process_transport_factory.cc(379)] Switching to software compositing. [1:9:0524/171130.053333:ERROR:command_buffer_proxy_impl.cc(113)] ContextResult::kFatalFailure: Shared memory handle is not valid [1:9:0524/171130.053654:ERROR:context_provider_command_buffer.cc(235)] GpuChannelHost failed to create command buffer. [1:9:0524/171130.062965:ERROR:command_buffer_proxy_impl.cc(113)] ContextResult::kFatalFailure: Shared memory handle is not valid [1:9:0524/171130.063146:ERROR:context_provider_command_buffer.cc(235)] GpuChannelHost failed to create command buffer. [1:9:0524/171130.129792:ERROR:texture_layer_impl.cc(85)] Software compositor has gpu resource in TextureLayer [1:9:0524/171130.186864:ERROR:texture_layer_impl.cc(85)] Software compositor has gpu resource in TextureLayer [1:1:0524/171130.579320:FATAL:canvas_resource_provider.cc(303)] Check failed: SharedGpuContext::IsGpuCompositingEnabled(). #0 0x55bb8fc2f00c base::debug::StackTrace::StackTrace() #1 0x55bb8fb958ab logging::LogMessage::~LogMessage() #2 0x55bb929c82be blink::CanvasResourceProvider::Create() #3 0x55bb9344c648 blink::Canvas2DLayerBridge::Restore() #4 0x55bb9455b0bb blink::CanvasRenderingContext2D::TryRestoreContextEvent() #5 0x55bb92a81543 blink::TimerBase::RunInternal() #6 0x55bb8d705b44 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #7 0x55bb8f5b6ee0 WTF::ThreadCheckingCallbackWrapper<>::Run() #8 0x55bb8fb7c010 base::debug::TaskAnnotator::RunTask() #9 0x55bb8f61ab8d base::sequence_manager::internal::ThreadControllerImpl::DoWork() #10 0x55bb8d8d94f8 _ZN4base8internal7InvokerINS0_9BindStateIMN5media26AudioDebugRecordingManagerEFvjEJNS_7WeakPtrIS4_EEjEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #11 0x55bb8d8fea6c _ZN4base8internal22CancelableCallbackImplINS_17RepeatingCallbackIFvvEEEE16ForwardRepeatingIJEEEvDpT_ #12 0x55bb8d705b44 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #13 0x55bb8fb7c010 base::debug::TaskAnnotator::RunTask() #14 0x55bb8fb9e5a6 base::internal::IncomingTaskQueue::RunTask() #15 0x55bb8fb9cc07 base::MessageLoop::RunTask() #16 0x55bb8fb9d01a base::MessageLoop::DeferOrRunPendingTask() #17 0x55bb8fb9d5b2 base::MessageLoop::DoDelayedWork() #18 0x55bb8fba187c base::MessagePumpDefault::Run() #19 0x55bb8fb9c531 base::MessageLoop::Run() #20 0x55bb8fbc8f46 base::RunLoop::Run() #21 0x55bb94ac06b9 content::RendererMain() #22 0x55bb8f7cae95 content::RunZygote() #23 0x55bb8f7cb7f0 content::RunOtherNamedProcessTypeMain() #24 0x55bb8f7cc503 content::ContentMainRunnerImpl::Run() #25 0x55bb8f7d825f service_manager::Main() #26 0x55bb8f7ca324 content::ContentMain() #27 0x55bb8d2441b3 ChromeMain #28 0x7f0fd2b8b2b1 __libc_start_main #29 0x55bb8d24402a _start Received signal 6 #0 0x55bb8fc2f00c base::debug::StackTrace::StackTrace() #1 0x55bb8fc2eae1 base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7f0fd88f90c0 <unknown> #3 0x7f0fd2b9dfcf gsignal #4 0x7f0fd2b9f3fa abort #5 0x55bb8fc2d8e5 base::debug::BreakDebugger() #6 0x55bb8fb95cb1 logging::LogMessage::~LogMessage() #7 0x55bb929c82be blink::CanvasResourceProvider::Create() #8 0x55bb9344c648 blink::Canvas2DLayerBridge::Restore() #9 0x55bb9455b0bb blink::CanvasRenderingContext2D::TryRestoreContextEvent() #10 0x55bb92a81543 blink::TimerBase::RunInternal() #11 0x55bb8d705b44 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #12 0x55bb8f5b6ee0 WTF::ThreadCheckingCallbackWrapper<>::Run() #13 0x55bb8fb7c010 base::debug::TaskAnnotator::RunTask() #14 0x55bb8f61ab8d base::sequence_manager::internal::ThreadControllerImpl::DoWork() #15 0x55bb8d8d94f8 _ZN4base8internal7InvokerINS0_9BindStateIMN5media26AudioDebugRecordingManagerEFvjEJNS_7WeakPtrIS4_EEjEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #16 0x55bb8d8fea6c _ZN4base8internal22CancelableCallbackImplINS_17RepeatingCallbackIFvvEEEE16ForwardRepeatingIJEEEvDpT_ #17 0x55bb8d705b44 _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #18 0x55bb8fb7c010 base::debug::TaskAnnotator::RunTask() #19 0x55bb8fb9e5a6 base::internal::IncomingTaskQueue::RunTask() #20 0x55bb8fb9cc07 base::MessageLoop::RunTask() #21 0x55bb8fb9d01a base::MessageLoop::DeferOrRunPendingTask() #22 0x55bb8fb9d5b2 base::MessageLoop::DoDelayedWork() #23 0x55bb8fba187c base::MessagePumpDefault::Run() #24 0x55bb8fb9c531 base::MessageLoop::Run() #25 0x55bb8fbc8f46 base::RunLoop::Run() #26 0x55bb94ac06b9 content::RendererMain() #27 0x55bb8f7cae95 content::RunZygote() #28 0x55bb8f7cb7f0 content::RunOtherNamedProcessTypeMain() #29 0x55bb8f7cc503 content::ContentMainRunnerImpl::Run() #30 0x55bb8f7d825f service_manager::Main() #31 0x55bb8f7ca324 content::ContentMain() #32 0x55bb8d2441b3 ChromeMain #33 0x7f0fd2b8b2b1 __libc_start_main #34 0x55bb8d24402a _start r8: 0000000000000000 r9: 00007ffd2b913280 r10: 0000000000000008 r11: 0000000000000246 r12: 00007ffd2b9139f8 r13: 00007ffd2b9139e8 r14: 00007ffd2b9139f0 r15: 00007ffd2b913519 di: 0000000000000002 si: 00007ffd2b913280 bp: 00007ffd2b9134c0 bx: 0000000000000006 dx: 0000000000000000 ax: 0000000000000000 cx: 00007f0fd2b9dfcf sp: 00007ffd2b9132f8 ip: 00007f0fd2b9dfcf efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Calling _exit(1). Core file will not be generated.
,
May 24 2018
Looks like the CanvasResourceProvider is being created with a gpu-compositing usage when it's not enabled.
std::unique_ptr<CanvasResourceProvider> CanvasResourceProvider::Create(
const IntSize& size,
ResourceUsage usage,
base::WeakPtr<WebGraphicsContext3DProviderWrapper> context_provider_wrapper,
unsigned msaa_sample_count,
const CanvasColorParams& colorParams) {
const ResourceType* resource_type_fallback_list = nullptr;
size_t list_length = 0;
switch (usage) {
case kSoftwareResourceUsage:
resource_type_fallback_list = kSoftwareFallbackList;
list_length = arraysize(kSoftwareFallbackList);
break;
case kSoftwareCompositedResourceUsage:
resource_type_fallback_list = kSoftwareCompositedFallbackList;
list_length = arraysize(kSoftwareCompositedFallbackList);
break;
case kAcceleratedResourceUsage:
resource_type_fallback_list = kAcceleratedFallbackList;
list_length = arraysize(kAcceleratedFallbackList);
break;
case kAcceleratedCompositedResourceUsage:
resource_type_fallback_list = kAcceleratedCompositedFallbackList;
list_length = arraysize(kAcceleratedCompositedFallbackList);
break;
}
std::unique_ptr<CanvasResourceProvider> provider;
for (size_t i = 0; i < list_length; ++i) {
switch (resource_type_fallback_list[i]) {
case kTextureGpuMemoryBufferResourceType:
DCHECK(SharedGpuContext::IsGpuCompositingEnabled());
,
May 24 2018
It must be getting |usage|=kAcceleratedCompositedResourceUsage, as kAcceleratedCompositedFallbackList is the only one with kTextureGpuMemoryBufferResourceType
,
May 24 2018
Canvas2DLayerBridge::Restore() doesn't seem to check with SharedGpuContext::IsGpuCompositingEnabled() after calling SharedGpuContext::ContextProviderWrapper().
,
Jul 25
,
Jul 25
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by samans@chromium.org
, May 24 2018