Title: [286132] trunk/Source/WebKit
Revision
286132
Author
[email protected]
Date
2021-11-23 05:20:27 -0800 (Tue, 23 Nov 2021)

Log Message

[GTK] Many network process crashes when running WPT tests
https://bugs.webkit.org/show_bug.cgi?id=232629

Reviewed by Martin Robinson.

For some reason there's a runtime critical warning coming from GLib under flatpak when trying to inherit the
current thread scheduler settings in newly created ones. As a workaround we don't use QOS::Background for
network cache background IO queue when running under flatpak.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::qosForBackgroundIOQueue):
(WebKit::NetworkCache::Storage::Storage):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (286131 => 286132)


--- trunk/Source/WebKit/ChangeLog	2021-11-23 12:20:14 UTC (rev 286131)
+++ trunk/Source/WebKit/ChangeLog	2021-11-23 13:20:27 UTC (rev 286132)
@@ -1,5 +1,20 @@
 2021-11-23  Carlos Garcia Campos  <[email protected]>
 
+        [GTK] Many network process crashes when running WPT tests
+        https://bugs.webkit.org/show_bug.cgi?id=232629
+
+        Reviewed by Martin Robinson.
+
+        For some reason there's a runtime critical warning coming from GLib under flatpak when trying to inherit the
+        current thread scheduler settings in newly created ones. As a workaround we don't use QOS::Background for
+        network cache background IO queue when running under flatpak.
+
+        * NetworkProcess/cache/NetworkCacheStorage.cpp:
+        (WebKit::NetworkCache::qosForBackgroundIOQueue):
+        (WebKit::NetworkCache::Storage::Storage):
+
+2021-11-23  Carlos Garcia Campos  <[email protected]>
+
         [GTK] Change hardware-acceleration-policy setting default value to always
         https://bugs.webkit.org/show_bug.cgi?id=233418
 

Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp (286131 => 286132)


--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp	2021-11-23 12:20:14 UTC (rev 286131)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp	2021-11-23 13:20:27 UTC (rev 286132)
@@ -42,6 +42,10 @@
 #include <wtf/text/StringConcatenateNumbers.h>
 #include <wtf/text/StringToIntegerConversion.h>
 
+#if USE(GLIB)
+#include <wtf/glib/Sandbox.h>
+#endif
+
 namespace WebKit {
 namespace NetworkCache {
 
@@ -261,6 +265,17 @@
     });
 }
 
+static WorkQueue::QOS qosForBackgroundIOQueue()
+{
+#if USE(GLIB)
+    // FIXME: for some reason there's a runtime critical warning coming from GLib under flatpak when trying to
+    // inherit the current thread scheduler settings in newly created ones. See https://bugs.webkit.org/show_bug.cgi?id=232629.
+    if (isInsideFlatpak())
+        return WorkQueue::QOS::Default;
+#endif
+    return WorkQueue::QOS::Background;
+}
+
 Storage::Storage(const String& baseDirectoryPath, Mode mode, Salt salt, size_t capacity)
     : m_basePath(baseDirectoryPath)
     , m_recordsPath(makeRecordsDirectoryPath(baseDirectoryPath))
@@ -270,7 +285,7 @@
     , m_readOperationTimeoutTimer(*this, &Storage::cancelAllReadOperations)
     , m_writeOperationDispatchTimer(*this, &Storage::dispatchPendingWriteOperations)
     , m_ioQueue(ConcurrentWorkQueue::create("com.apple.WebKit.Cache.Storage"))
-    , m_backgroundIOQueue(ConcurrentWorkQueue::create("com.apple.WebKit.Cache.Storage.background", WorkQueue::QOS::Background))
+    , m_backgroundIOQueue(ConcurrentWorkQueue::create("com.apple.WebKit.Cache.Storage.background", qosForBackgroundIOQueue()))
     , m_serialBackgroundIOQueue(WorkQueue::create("com.apple.WebKit.Cache.Storage.serialBackground", WorkQueue::QOS::Background))
     , m_blobStorage(makeBlobDirectoryPath(baseDirectoryPath), m_salt)
 {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to