From 1952311dee88b8053c815e8dd289e226a3d9f3fb Mon Sep 17 00:00:00 2001 From: Glib Novodran Date: Mon, 20 May 2024 16:20:05 +0200 Subject: [PATCH 1/2] Workaround for the race condition in bmalloc's BMScavenger caused by WebKitBrowser implementation unloading --- WebKitBrowser/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/WebKitBrowser/CMakeLists.txt b/WebKitBrowser/CMakeLists.txt index 8d0ecf5b5c..3c1eba085e 100644 --- a/WebKitBrowser/CMakeLists.txt +++ b/WebKitBrowser/CMakeLists.txt @@ -254,6 +254,8 @@ if(NOT WEBKIT_GLIB_API) target_sources(${PLUGIN_WEBKITBROWSER_IMPLEMENTATION} PRIVATE InjectedBundle/Utils.cpp) endif() +target_link_options(${PLUGIN_WEBKITBROWSER_IMPLEMENTATION} PRIVATE "-Wl,-z,nodelete") + target_link_libraries(${PLUGIN_WEBKITBROWSER_IMPLEMENTATION} PRIVATE ${NAMESPACE}Plugins::${NAMESPACE}Plugins From 4f5c480ce39436aca029e6d5f3cc5df2c51c850f Mon Sep 17 00:00:00 2001 From: Glib Novodran Date: Fri, 24 May 2024 16:54:13 +0200 Subject: [PATCH 2/2] Comment in CMakeList.txt for the Webkit browser plugin 'nodelete' workaround --- WebKitBrowser/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/WebKitBrowser/CMakeLists.txt b/WebKitBrowser/CMakeLists.txt index 3c1eba085e..e6ff8f7a36 100644 --- a/WebKitBrowser/CMakeLists.txt +++ b/WebKitBrowser/CMakeLists.txt @@ -254,6 +254,8 @@ if(NOT WEBKIT_GLIB_API) target_sources(${PLUGIN_WEBKITBROWSER_IMPLEMENTATION} PRIVATE InjectedBundle/Utils.cpp) endif() +# This is a temporary solution. Normally we should leave this to the framework. +# Do not replicate for other plugins. target_link_options(${PLUGIN_WEBKITBROWSER_IMPLEMENTATION} PRIVATE "-Wl,-z,nodelete") target_link_libraries(${PLUGIN_WEBKITBROWSER_IMPLEMENTATION}