WebKit Bugzilla
Attachment 338983 Details for
Bug 184040
: [GTK] WebProcess from WebKitGtk+ 2.19.92 SIGSEVs in WebCore::TextureMapperGL::~TextureMapperGL
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
wk2-threaded-compositor-invalidate-context.diff (text/plain), 2.31 KB, created by
Carlos Garcia Campos
on 2018-04-27 05:07:12 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Carlos Garcia Campos
Created:
2018-04-27 05:07:12 PDT
Size:
2.31 KB
patch
obsolete
>diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 6b349792a7c..93f92bbe22b 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,21 @@ >+2018-04-27 Carlos Garcia Campos <cgarcia@igalia.com> >+ >+ [GTK] WebProcess from WebKitGtk+ 2.19.92 SIGSEVs in WebCore::TextureMapperGL::~TextureMapperGL >+ https://bugs.webkit.org/show_bug.cgi?id=184040 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This can happen when using single shared process model or when the process limit is reached in multiple process >+ model. In this case, all pages in the same web process with accelerated compositing enabled share the same >+ compositing thread. Every page sets its GL context as current when rendering a frame, but not when invalidating >+ the threaded compositor when the page is closed. So, if a hidden tab is closed, the threaded compositor is >+ invalidated and the GL resources of the current context (the visible page) are destroyed. This is also causing >+ the blank pages issue when closing a tab related to another one, the current one stops rendering anyting because >+ its GL context has been released. We should make the threaded compositor context current when invalidating it. >+ >+ * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: >+ (WebKit::ThreadedCompositor::invalidate): >+ > 2018-04-27 Carlos Garcia Campos <cgarcia@igalia.com> > > REGRESSION(r230812): [WPE][GTK] WebKitWebViewSessionState.cpp throws away encoded BackForwardList identifier >diff --git a/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp b/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp >index 3098df72b2a..e721000a040 100644 >--- a/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp >+++ b/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp >@@ -106,6 +106,8 @@ void ThreadedCompositor::invalidate() > m_displayRefreshMonitor->invalidate(); > #endif > m_compositingRunLoop->performTaskSync([this, protectedThis = makeRef(*this)] { >+ if (!m_context || !m_context->makeContextCurrent()) >+ return; > m_scene->purgeGLResources(); > m_context = nullptr; > m_client.didDestroyGLContext();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 184040
:
336584
|
338983
|
338984