[Webkit-unassigned] [Bug 186364] [WinCairo] Enable coordinated graphics

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 26 20:41:58 PST 2019


https://bugs.webkit.org/show_bug.cgi?id=186364

--- Comment #9 from Fujii Hironori <Hironori.Fujii at sony.com> ---
The crash occured in eglMakeCurrent.
It seems that the previous context was already destructed.

> libGLESv2.dll!gl::ResourceMap<gl::Framebuffer>::assign(unsigned int handle, gl::Framebuffer * resource) Line 169	C++
> libGLESv2.dll!gl::FramebufferManager::setDefaultFramebuffer(gl::Framebuffer * framebuffer) Line 443	C++
> libGLESv2.dll!gl::Context::releaseSurface(const egl::Display * display) Line 574	C++
> libGLESv2.dll!egl::MakeCurrent(void * dpy, void * draw, void * read, void * ctx) Line 518	C++
> libEGL.dll!eglMakeCurrent(void * dpy, void * draw, void * read, void * ctx) Line 93	C++
> WebKit2.dll!WebCore::GLContextEGL::makeContextCurrent() Line 424	C++
> WebKit2.dll!WebKit::ThreadedCompositor::createGLContext() Line 94	C++
> WebKit2.dll!WebKit::ThreadedCompositor::{ctor}::__l2::<lambda>() Line 77	C++
> WebKit2.dll!WTF::Function<void __cdecl(void)>::CallableWrapper<void <lambda>(void) >::call() Line 102	C++
> WebKit2.dll!WTF::Function<void __cdecl(void)>::operator()() Line 58	C++
> WebKit2.dll!WebKit::CompositingRunLoop::performTaskSync::__l2::<lambda>() Line 126	C++
> WebKit2.dll!WTF::Function<void __cdecl(void)>::CallableWrapper<void <lambda>(void) >::call() Line 102	C++
> WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 58	C++
> WTF.dll!WTF::WorkQueue::performWorkOnRegisteredWorkThread() Line 62	C++
> WTF.dll!WTF::WorkQueue::workThreadCallback(void * context) Line 44	C++
> [External Code]	

Windows port WorkQueue is using CreateTimerQueueTimer with WT_EXECUTEINTIMERTHREAD.
So, WorkQueue jobs are dispatched in random timer threads.

There are two possible solutions.
1. Execute all CompositingRunLoop jobs in a single thread
2. Clear current context by invoking eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT) every time the end of jobs.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190227/2c4e8a3c/attachment-0001.html>


More information about the webkit-unassigned mailing list