Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f839b59e79d49d8c8ba2f1b62ad07ea518b23ab4
      
https://github.com/WebKit/WebKit/commit/f839b59e79d49d8c8ba2f1b62ad07ea518b23ab4
  Author: Adrian Perez de Castro <[email protected]>
  Date:   2025-11-13 (Thu, 13 Nov 2025)

  Changed paths:
    M Source/WebCore/platform/sql/SQLiteDatabase.cpp

  Log Message:
  -----------
  REGRESSION(302916@main): [GTK][WPE] UIProcess stuck during SQLite 
initialization
https://bugs.webkit.org/show_bug.cgi?id=302452

Reviewed by Carlos Garcia Campos.

In 302916@main a workaround was added to do arrange calling
sqlite3_initialize() in the main thread but this causes issues
with the WPE (less often) and GTK ports (almost always) because
there are some public API functions that may result in initializing
databases while the main loop is not yet running, resulting in UI
process lockups waiting for initialization to complete.

The workaround is needed on Darwin because sqlite3_initialize() ends
up calling confstr() to determine a temporary directory, which will
access (and even write) to environment variables, which is notoriously
not thread-safe. But on supported non-Darwin systems, confstr() is
either unavailable or MT-safe, so we can wrap the workaround inside
an OS(DARWIN) guard.

* Source/WebCore/platform/sql/SQLiteDatabase.cpp:
(WebCore::initializeSQLiteIfNecessary):

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



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

Reply via email to