[webkit-changes] [WebKit/WebKit] a04bd3: REGRESSION(2.45.1/2.45.2): [GTK] UI process crash ...

Carlos Garcia Campos noreply at github.com
Thu May 30 03:23:20 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a04bd30787a23ce52d90bba8c0acb4f4cd5ab5d5
      https://github.com/WebKit/WebKit/commit/a04bd30787a23ce52d90bba8c0acb4f4cd5ab5d5
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-05-30 (Thu, 30 May 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp
    M Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp

  Log Message:
  -----------
  REGRESSION(2.45.1/2.45.2): [GTK] UI process crash in Nicosia::AcceleratedBuffer::~AcceleratedBuffer: Couldn't find current GLX or EGL context
https://bugs.webkit.org/show_bug.cgi?id=274389

Reviewed by Miguel Gomez.

The problem is that the scrolling thread is invalidated when the page is
destroyed after the SkiaAcceleratedBufferPool is destroyed. So, the
CompositeLayers of the scroling tree nodes can have a reference of a
Nicosia::AcceleratedBuffer that is destroyed in the async scrolling thread
with no current GL context. In SkiaAcceleratedBufferPool we make sure to
make the skia GL context current before destroying the buffers, but
buffers are only destroyed there if it's the last reference. We should make
sure that Nicosia::AcceleratedBuffer GL recources are freed in the main
thread with the skia GL context current on destruction.

* Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp:
(Nicosia::AcceleratedBuffer::~AcceleratedBuffer):
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp:
(WebCore::SkiaAcceleratedBufferPool::releaseUnusedBuffersTimerFired):
(WebCore::SkiaAcceleratedBufferPool::~SkiaAcceleratedBufferPool): Deleted.

Canonical link: https://commits.webkit.org/279507@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list