OffScreen Rendering GPU 2623

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

OffScreen Rendering GPU 2623

Postby amaitland » Thu Mar 17, 2016 10:25 pm

I've just upgraded the CefSharp project to 2623 and I'm seeing problems with offscreen rendering when the GPU is enabled.

I've tested with two different systems, one Windows 7 with Nvidia GPU, the other Windows 10 with ATI GPU. Both work fine with 2526 branch. I've updated the Windows 10 system to the latest ATI driver without success, haven't updated the Windows 7 yet.

The log file just keeps repeating:
Code: Select all
[0318/115339:ERROR:gles2_cmd_decoder.cc(12228)] Context lost because SwapBuffers failed.
[0318/115339:ERROR:gles2_cmd_decoder.cc(4471)] Error: 5 for Command kPostSubBufferCHROMIUM
[0318/115339:ERROR:gpu_command_buffer_stub.cc(1224)] Exiting GPU process because some drivers cannot recover from problems.
[0318/115340:ERROR:gpu_process_transport_factory.cc(652)] Lost UI shared context.


The problem reproduces with cefclient example (exact same error in the log file). Load google, click I'm, feeling lucky, wait for the screen to start flickering. Running with standard rendering and everything works fine.

`cefclient --multi-threaded-message-loop --off-screen-rendering-enabled --enable-gpu` (basically mirror the same params that I'm using for CefSharp)

Short term resolution is to --disable-gpu and everything works as expected.

Haven't tested on any OS other than Windows. Would appreciate if someone could take it for a spin and independently verify?
Maintainer of the CefSharp project.
amaitland
Virtuoso
 
Posts: 1292
Joined: Wed Jan 14, 2015 2:35 am

Re: OffScreen Rendering GPU 2623

Postby amaitland » Thu Mar 17, 2016 10:40 pm

Exact version is 3.2623.1395.g3034273
Maintainer of the CefSharp project.
amaitland
Virtuoso
 
Posts: 1292
Joined: Wed Jan 14, 2015 2:35 am

Re: OffScreen Rendering GPU 2623

Postby amaitland » Thu Mar 17, 2016 10:45 pm

If it doesn't start flickering straight away then moving the mouse of the different colors to see the doodles should reproduce the problem.
Maintainer of the CefSharp project.
amaitland
Virtuoso
 
Posts: 1292
Joined: Wed Jan 14, 2015 2:35 am

Re: OffScreen Rendering GPU 2623

Postby akjana » Fri Mar 18, 2016 5:02 pm

confirmed the flicker on ATI FirePro V graphics card Windows 10. Same error message logs as posted.
It started reproducing after the second attempt.
akjana
Techie
 
Posts: 39
Joined: Wed Feb 03, 2016 2:15 am

Re: OffScreen Rendering GPU 2623

Postby amaitland » Fri Mar 18, 2016 5:12 pm

Thanks for confirming.
Maintainer of the CefSharp project.
amaitland
Virtuoso
 
Posts: 1292
Joined: Wed Jan 14, 2015 2:35 am

Re: OffScreen Rendering GPU 2623

Postby magreenblatt » Fri Mar 18, 2016 8:21 pm

Is it only Windows or other platforms as well? Does the problem reproduce with non-ATI video cards?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: OffScreen Rendering GPU 2623

Postby fddima » Fri Mar 18, 2016 8:25 pm

magreenblatt wrote:Does the problem reproduce with non-ATI video cards?

Yep, same on my Intel HD4600 on Windows 10 (flickers).
And issue from CefGlue user https://bitbucket.org/xilium/xilium.cefglue/issues/130/wpf-osr-gpu-related-problems-with-upgrade, which report next error from log:
[0317/092803:ERROR:gpu_process_transport_factory.cc(652)] Lost UI shared context.
fddima
Master
 
Posts: 788
Joined: Tue Dec 07, 2010 6:10 am

Re: OffScreen Rendering GPU 2623

Postby magreenblatt » Fri Mar 18, 2016 10:59 pm

I wonder if the GPU process is crashing, which might explain the flickering. Can you try attaching a debugger to it (with symbols) and see if you get a stack trace?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: OffScreen Rendering GPU 2623

Postby fddima » Fri Mar 18, 2016 11:34 pm

magreenblatt wrote:I wonder if the GPU process is crashing, which might explain the flickering. Can you try attaching a debugger to it (with symbols) and see if you get a stack trace?

Yes, GPU process is crashing. This is not reproducible for me on master, only at 2623 branch.
I'm no have debug cefclient, but stacktrace looks valid even for release (with symbols). Feel free to ask, if you need everything else.
Also i'm use x64. Below stacktrace from crashdump.
I'm run `cefclient --off-screen-rendering-enabled --enable-gpu`, when you try to resize window GPU process usually crashes.

Code: Select all
> "c:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe" -y . -c ".ecxr;k30;q" -z cefclient.exe_160319_072320.dmp

Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [H:\ChromiumEmbedded\cef_binary_3.2623.1395.g3034273_windows64_client\Release\cefclient.exe_160319_072320.dmp]
Comment: '
*** "H:\bin\SysinternalsSuite\procdump.EXE" -mp -e -t 9412
*** Process termination'
User Mini Dump File: Only registers, stack and portions of memory are available


************* Symbol Path validation summary **************
Response                         Time (ms)     Location
OK                                             .
Deferred                                       SRV*h:\.symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: .;SRV*h:\.symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 10 Version 14279 MP (8 procs) Free x64
Product: WinNt, suite: SingleUserTS
Built by: 10.0.14279.1000 (rs1_release.160229-1700)
Machine Name:
Debug session time: Sat Mar 19 07:23:21.000 2016 (UTC + 3:00)
System Uptime: not available
Process Uptime: 0 days 0:00:44.000
................................................................
...........
Loading unloaded module list
.
ntdll!NtTerminateProcess+0x14:
00007fff`7e9b1d44 c3              ret
0:000> cdb: Reading initial command '.ecxr;k30;q'
Minidump doesn't have an exception context
Unable to get exception context, HRESULT 0x80004002
Child-SP          RetAddr           Call Site
000000ce`2ddbc8a8 00007fff`7e94e525 ntdll!NtTerminateProcess+0x14
000000ce`2ddbc8b0 00007fff`7e4cd46a ntdll!RtlExitUserProcess+0xe5
*** WARNING: Unable to verify checksum for libcef.dll
000000ce`2ddbc9a0 00007fff`4808d020 kernel32!ExitProcessImplementation+0xa
(Inline Function) --------`-------- libcef!__crtExitProcess+0x11
000000ce`2ddbc9d0 00007fff`48537305 libcef!doexit+0x17c
000000ce`2ddbca40 00007fff`48539d8c libcef!content::GpuCommandBufferStub::CheckContextLost+0x159
000000ce`2ddbcb90 00007fff`486ffd9e libcef!content::GpuCommandBufferStub::OnParseError+0x11c
(Inline Function) --------`-------- libcef!base::Callback<void __cdecl(void)>::Run+0x7
000000ce`2ddbcc10 00007fff`48733b02 libcef!gpu::CommandBufferService::SetParseError+0x1e
000000ce`2ddbcc40 00007fff`48537a9e libcef!gpu::GpuScheduler::PutChanged+0x2a6
000000ce`2ddbcf50 00007fff`485361bd libcef!content::GpuCommandBufferStub::OnAsyncFlush+0xfa
(Inline Function) --------`-------- libcef!base::DispatchToMethodImpl+0x2b
(Inline Function) --------`-------- libcef!base::DispatchToMethod+0x30
000000ce`2ddbd010 00007fff`48539409 libcef!GpuCommandBufferMsg_AsyncFlush::Dispatch<content::GpuCommandBufferStub,content::GpuCommandBufferStub,void,void (__cdecl content::GpuCommandBufferStub::*)(int,unsigned int,std::vector<ui::LatencyInfo,std::allocator<ui::LatencyInfo> > const & __ptr64) __ptr64>+0x5d
000000ce`2ddbd060 00007fff`4850c33f libcef!content::GpuCommandBufferStub::OnMessageReceived+0x365
000000ce`2ddbd7c0 00007fff`48533fc7 libcef!content::MessageRouter::RouteMessage+0x4f
000000ce`2ddbd7f0 00007fff`47567bd0 libcef!content::GpuChannel::HandleMessage+0xeb
(Inline Function) --------`-------- libcef!base::internal::RunnableAdapter<void (__cdecl content::IpcNetworkManager::*)(void)>::Run+0xc
(Inline Function) --------`-------- libcef!base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter<void (__cdecl content::IpcNetworkManager::*)(void)>,base::internal::TypeList<base::WeakPtr<content::IpcNetworkManager> const &> >::MakeItSo+0x3e
000000ce`2ddbd890 00007fff`459615f4 libcef!base::internal::Invoker<base::IndexSequence<0>,base::internal::BindState<base::internal::RunnableAdapter<void (__cdecl content::IpcNetworkManager::*)(void) __ptr64>,void __cdecl(content::IpcNetworkManager * __ptr64),base::WeakPtr<content::IpcNetworkManager> >,base::internal::TypeList<base::internal::UnwrapTraits<base::WeakPtr<content::IpcNetworkManager> > >,base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter<void (__cdecl content::IpcNetworkManager::*)(void) __ptr64>,base::internal::TypeList<base::WeakPtr<content::IpcNetworkManager> const & __ptr64> >,void __cdecl(void)>::Run+0x50
(Inline Function) --------`-------- libcef!base::Callback<void __cdecl(void)>::Run+0x8
000000ce`2ddbd8d0 00007fff`4590cbb3 libcef!base::debug::TaskAnnotator::RunTask+0x134
000000ce`2ddbd9b0 00007fff`4590d5b1 libcef!base::MessageLoop::RunTask+0x3f3
(Inline Function) --------`-------- libcef!base::MessageLoop::DeferOrRunPendingTask+0x138
000000ce`2ddbea90 00007fff`45960058 libcef!base::MessageLoop::DoWork+0x431
000000ce`2ddbeb50 00007fff`4595fb7b libcef!base::MessagePumpForUI::DoRunLoop+0x78
(Inline Function) --------`-------- libcef!base::MessagePumpWin::RunWithDispatcher+0x41
000000ce`2ddbebc0 00007fff`4590c62a libcef!base::MessagePumpWin::Run+0x4b
000000ce`2ddbec10 00007fff`4592fe0e libcef!base::MessageLoop::RunHandler+0xda
000000ce`2ddbec80 00007fff`4590be06 libcef!base::RunLoop::Run+0x6e
000000ce`2ddbecd0 00007fff`47c83e92 libcef!base::MessageLoop::Run+0x46
000000ce`2ddbed30 00007fff`47c8293d libcef!content::GpuMain+0x8b2
000000ce`2ddbf800 00007fff`47c82833 libcef!content::RunNamedProcessTypeMain+0xd5
000000ce`2ddbf850 00007fff`47c81f50 libcef!content::ContentMainRunnerImpl::Run+0x93
000000ce`2ddbf8e0 00007fff`46c69689 libcef!content::ContentMain+0x30
000000ce`2ddbf910 00007fff`46c32159 libcef!CefExecuteProcess+0x1cd
*** WARNING: Unable to verify checksum for cefclient.EXE
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for cefclient.EXE -
000000ce`2ddbfac0 00007ff7`5f64bb18 libcef!cef_execute_process+0x51
000000ce`2ddbfb10 00007ff7`5f62b0a7 cefclient!GetHandleVerifier+0x37f48
000000ce`2ddbfb40 00007ff7`5f695a0c cefclient!GetHandleVerifier+0x174d7
000000ce`2ddbfd70 00007fff`7e4bc902 cefclient!IsSandboxedProcess+0x21334
000000ce`2ddbfdb0 00007fff`7e95bf94 kernel32!BaseThreadInitThunk+0x22
000000ce`2ddbfde0 00000000`00000000 ntdll!RtlUserThreadStart+0x34
quit:
fddima
Master
 
Posts: 788
Joined: Tue Dec 07, 2010 6:10 am

Re: OffScreen Rendering GPU 2623

Postby ZorroHorro » Tue Mar 29, 2016 2:17 pm

The same thing on win10(vmware workstation)
ZorroHorro
Techie
 
Posts: 13
Joined: Fri Mar 25, 2016 2:33 am

Next

Return to Support Forum

Who is online

Users browsing this forum: Google [Bot] and 53 guests