<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] WebkitWebProcess crashes on exit on nvidia if threaded composting is enabled."
   href="https://bugs.webkit.org/show_bug.cgi?id=165522">165522</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[GTK] WebkitWebProcess crashes on exit on nvidia if threaded composting is enabled.
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>WebKit Gtk
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>me&#64;hussam.eu.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>bugs-noreply&#64;webkitgtk.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>As the summary says WebkitWebProcess crashes on exit on nvidia if threaded composting is enabled.
This is an issue in both 2.14.xx and 2.15.xx

[Thread debugging using libthread_db enabled]
Using host libthread_db library &quot;/usr/lib/libthread_db.so.1&quot;.
Core was generated by `/usr/lib/webkit2gtk-4.0/WebKitWebProcess 18'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f10b5501809 in glBindFramebuffer () from /usr/lib/libGLdispatch.so.0
[Current thread is 1 (Thread 0x7f10c44fb9c0 (LWP 12222))]
(gdb) bt full
#0  0x00007f10b5501809 in glBindFramebuffer () at /usr/lib/libGLdispatch.so.0
#1  0x00007f10c30e062b in WebCore::GLContextGLX::~GLContextGLX() (this=0x7f10af1a1b40, __in_chrg=&lt;optimized out&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:189
#2  0x00007f10c30e06a9 in WebCore::GLContextGLX::~GLContextGLX() (this=0x7f10af1a1b40, __in_chrg=&lt;optimized out&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:192
#3  0x00007f10c30f2719 in std::default_delete&lt;WebCore::GLContext&gt;::operator()(WebCore::GLContext*) const (this=&lt;optimized out&gt;, __ptr=&lt;optimized out&gt;)
    at /usr/include/c++/6.2.1/bits/unique_ptr.h:76
#4  0x00007f10c30f2719 in std::unique_ptr&lt;WebCore::GLContext, std::default_delete&lt;WebCore::GLContext&gt; &gt;::reset(WebCore::GLContext*) (__p=&lt;optimized out&gt;, this=0x7f10af1fdb50) at /usr/include/c++/6.2.1/bits/unique_ptr.h:347

#5  0x00007f10c30f2719 in std::unique_ptr&lt;WebCore::GLContext, std::default_delete&lt;WebCore::GLContext&gt; &gt;::operator=(decltype(nullptr)) (this=0x7f10af1fdb50)
    at /usr/include/c++/6.2.1/bits/unique_ptr.h:283
#6  0x00007f10c30f2719 in WebCore::PlatformDisplayX11::~PlatformDisplayX11() (this=0x7f10af1fdb40, __in_chrg=&lt;optimized out&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:61
#7  0x00007f10c30f2749 in WebCore::PlatformDisplayX11::~PlatformDisplayX11() (th---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
is=0x7f10af1fdb40, __in_chrg=&lt;optimized out&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:65
#8  0x00007f10b59ea890 in __run_exit_handlers () at /usr/lib/libc.so.6
#9  0x00007f10b59ea8ea in  () at /usr/lib/libc.so.6
#10 0x00007f10c1d77ba3 in IPC::Connection::didFailToSendSyncMessage() (this=this&#64;entry=0x7f10af1ea180)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/Connection.cpp:876
#11 0x00007f10c1d7c67e in IPC::Connection::sendSyncMessage(unsigned long, std::unique_ptr&lt;IPC::Encoder, std::default_delete&lt;IPC::Encoder&gt; &gt;, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) (this=this&#64;entry=0x7f10af1ea180, syncRequestID=8, encoder=std::unique_ptr&lt;IPC::Encoder&gt; containing 0x7f105c68cc80, timeout=..., timeout&#64;entry=..., sendSyncOptions=sendSyncOptions&#64;entry=...)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/Connection.cpp:509
        locker = {m_lockable = 0x7f10af1ea260}
        protect = &lt;optimized out&gt;
        reply = std::unique_ptr&lt;IPC::Decoder&gt; containing 0x1ea8600
#12 0x00007f10c1ec588a in IPC::Connection::sendSync&lt;Messages::WebProcessProxy::ShouldTerminate&gt;(Messages::WebProcessProxy::ShouldTerminate&amp;&amp;, Messages::WebProcessProxy::ShouldTerminate::Reply&amp;&amp;, unsigned long, WTF::Seconds, WTF::OptionSet&lt;IPC::SendSyncOption&gt;) (sendSyncOptions=..., timeout=..., destinationID=0, reply=&lt;---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
optimized out&gt;, message=&lt;optimized out&gt;, this=0x7f10af1ea180)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/Connection.h:384
        syncRequestID = 8
        encoder = std::unique_ptr&lt;IPC::Encoder&gt; containing 0x0
        replyDecoder = std::unique_ptr&lt;IPC::Decoder&gt; containing 0x7f10c16222e8 &lt;bmalloc::PerProcess&lt;bmalloc::Heap&gt;::s_mutex&gt;
        shouldTerminate = false
#13 0x00007f10c1ec588a in WebKit::WebProcess::shouldTerminate() (this=&lt;optimized out&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/WebProcess/WebProcess.cpp:608
        shouldTerminate = false
#14 0x00007f10c1d88dca in WebKit::ChildProcess::terminationTimerFired() (this=0x1d5b3c0)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Shared/ChildProcess.cpp:161
#15 0x00007f10c1f75b05 in WebKit::WebPage::close() (this=this&#64;entry=0x7f10af1ce000)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1077
        isRunningModal = false
#16 0x00007f10c21a95d5 in IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (Web---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
Kit::WebPage::*)(), std::tuple&lt;&gt;&gt;(WebKit::WebPage*, void (WebKit::WebPage::*)(), std::tuple&lt;&gt;&amp;&amp;, std::integer_sequence&lt;unsigned long&gt;) (args=&lt;optimized out&gt;, function=&lt;optimized out&gt;, object=0x7f10af1ce000)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/HandleMessage.h:40
#17 0x00007f10c21a95d5 in IPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::WebPage::*)(), std::tuple&lt;&gt;, std::integer_sequence&lt;unsigned long&gt; &gt;(std::tuple&lt;&gt;&amp;&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)()) (args=&lt;optimized out&gt;, function=&lt;optimized out&gt;, object=0x7f10af1ce000)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/HandleMessage.h:46

#18 0x00007f10c21a95d5 in IPC::handleMessage&lt;Messages::WebPage::Close, WebKit::WebPage, void (WebKit::WebPage::*)()&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)()) (decoder=..., function=&lt;optimized out&gt;, object=0x7f10af1ce000)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/HandleMessage.h:126
#19 0x00007f10c21a95d5 in WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (this=0x7f10af1ce000, connection=..., decoder=...)
    at /home/hussam/cache/webkit2gtk/src/build/DerivedSources/WebKit2/WebPageMessageReceiver.cpp:701
#20 0x00007f10c1d80a69 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (this=this&#64;entry=0x1d5b428, connection=..., decoder=...)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/MessageReceiverMap.cpp:123
        messageReceiver = &lt;optimized out&gt;
#21 0x00007f10c1ecaf76 in WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) (this=0x1d5b3c0, connection=..., decoder=...)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/WebProcess/WebProcess.cpp:641
#22 0x00007f10c1d7be4b in IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder, std::default_delete&lt;IPC::Decoder&gt; &gt;) (this=this&#64;entry=0x7f10af1ea180, message=std::unique_ptr&lt;IPC::Decoder&gt; containing 0x7f105c68e3c8)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/Connection.cpp:920
        oldDidReceiveInvalidMessage = false




#23 0x00007f10c1d7cb37 in IPC::Connection::dispatchOneMessage() (this=0x7f10af1ea180)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Platform/IPC/Connection.cpp:951
        message = std::unique_ptr&lt;IPC::Decoder&gt; containing 0x0

#24 0x00007f10c1388a2f in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WTF/wtf/Function.h:50
        function = 
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
          {m_callableWrapper = std::unique_ptr&lt;WTF::Function&lt;void()&gt;::CallableWrapperBase&gt; containing 0x7f10af1e1750}
        functionsToHandle = 1



#25 0x00007f10c1388a2f in WTF::RunLoop::performWork() (this=0x7f10af1f7000)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WTF/wtf/RunLoop.cpp:105

        function = 
          {m_callableWrapper = std::unique_ptr&lt;WTF::Function&lt;void()&gt;::CallableWrapperBase&gt; containing 0x7f10af1e1750}
        functionsToHandle = 1
#26 0x00007f10c13af6e9 in WTF::RunLoop::&lt;lambda(gpointer)&gt;::operator() (__closure=0x0, userData=&lt;optimized out&gt;)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WTF/wtf/glib/RunLoopGLib.cpp:66
#27 0x00007f10c13af6e9 in WTF::RunLoop::&lt;lambda(gpointer)&gt;::_FUN(gpointer) ()
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#28 0x00007f10ba83f39a in g_main_dispatch (context=0x1d10fd0) at gmain.c:3203
        dispatch = 
    0x7f10c13af700 &lt;WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::_FUN(GSource *, GSourceFunc, gpointer)&gt;
        prev_source = 0x0
        was_in_call = 0
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
        user_data = 0x7f10af1f7000
        callback = 0x7f10c13af6e0 &lt;WTF::RunLoop::&lt;lambda(gpointer)&gt;::_FUN(gpointer)&gt;
        cb_funcs = &lt;optimized out&gt;
        cb_data = 0x1d87d20
        need_destroy = &lt;optimized out&gt;

        source = 0x1d5eaa0
        current = 0x1d3b8c0
        i = 0
#29 0x00007f10ba83f39a in g_main_context_dispatch (context=context&#64;entry=0x1d10fd0) at gmain.c:3856
#30 0x00007f10ba83f750 in g_main_context_iterate (context=0x1d10fd0, block=block&#64;entry=1, dispatch=dispatch&#64;entry=1, self=&lt;optimized out&gt;) at gmain.c:3929
        max_priority = 2147483647
        timeout = 115
        some_ready = 1
        nfds = 4
        allocated_nfds = 4
        fds = &lt;optimized out&gt;
#31 0x00007f10ba83fa72 in g_main_loop_run (loop=0x1d5ea80) at gmain.c:4125

        __func__ = &quot;g_main_loop_run&quot;
#32 0x00007f10c13b0080 in WTF::RunLoop::run() ()
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WTF/wtf/glib/Ru---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
nLoopGLib.cpp:94
        runLoop = 
            &#64;0x7f10af1f7000: {&lt;WTF::FunctionDispatcher&gt; = {&lt;WTF::ThreadSafeRefCounted&lt;WTF::FunctionDispatcher&gt;&gt; = {&lt;WTF::ThreadSafeRefCountedBase&gt; = {m_refCount = {&lt;std::__atomic_base&lt;unsigned int&gt;&gt; = {static _S_alignment = 4, _M_i = 1}, &lt;No data fields&gt;}}, &lt;No data fields&gt;}, _vptr.FunctionDispatcher = 0x7f10c15ef650 &lt;vtable for WTF::RunLoop+16&gt;}, m_functionQueueLock = {m_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 512, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' &lt;repeats 17 times&gt;, &quot;\002&quot;, '\000' &lt;repeats 21 times&gt;, __align = 0}}, m_functionQueue = {m_start = 17, m_end = 19, m_buffer = {&lt;WTF::VectorBufferBase&lt;WTF::Function&lt;void()&gt; &gt;&gt; = {m_buffer = 0x7f10af1d70a8, m_capacity = 21, m_size = 0}, &lt;No data fields&gt;}}, m_mainContext = {m_ptr = 0x1d10fd0}, m_mainLoops = {&lt;WTF::VectorBuffer&lt;WTF::GRefPtr&lt;_G
        nestedMainLoop = &lt;optimized out&gt;
#33 0x00007f10c2143587 in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt;(int, char**) (argc=&lt;optimized out&gt;, argv=0x7ffc2b5786d8)
    at /home/hussam/cache/webkit2gtk/src/webkitgtk-2.15.2/Source/WebKit2/Shared/unix/ChildProcessMain.h:61
        childMain = 
                  {&lt;WebKit::ChildProcessMainBase&gt; = {_vptr.ChildProcessMainBase ---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
= 0x7f10c41f5a98 &lt;vtable for WebKit::WebProcessMain+16&gt;, m_parameters = {uiProcessName = {m_impl = {static isRefPtr = &lt;optimized out&gt;, m_ptr = 0x0}}, clientIdentifier = {m_impl = {static isRefPtr = &lt;optimized out&gt;, m_ptr = 0x0}}, connectionIdentifier = 18, extraInitializationData = {m_impl = {static m_maxLoad = 2, static m_minLoad = 6, m_table = 0x0, m_tableSize = 0, m_tableSizeMask = 0, m_keyCount = 0, m_deletedCount = 0}}}}, &lt;No data fields&gt;}
#34 0x00007f10b59d5291 in __libc_start_main () at /usr/lib/libc.so.6
#35 0x0000000000400b1a in _start ()</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>