WebKit Bugzilla
Attachment 372279 Details for
Bug 198935
: Crash at com.apple.WebKit: WebKit::WebsiteDataStore::processPools const
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198935-20190617153158.patch (text/plain), 1.84 KB, created by
Sihui Liu
on 2019-06-17 15:31:59 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Sihui Liu
Created:
2019-06-17 15:31:59 PDT
Size:
1.84 KB
patch
obsolete
>Subversion Revision: 246497 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 6e8c6a0b0793b2f46db0999bb70efb01300cb7e9..d691031f1c3584d4a41505653d0b9f4c0a04d685 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,17 @@ >+2019-06-17 Sihui Liu <sihui_liu@apple.com> >+ >+ Crash at com.apple.WebKit: WebKit::WebsiteDataStore::processPools const >+ https://bugs.webkit.org/show_bug.cgi?id=198935 >+ <rdar://problem/51549308> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ When WebProcessProxy is pre-warmed or in process cache, it does not hold strong reference to its WebProcessPool, >+ so it is not safe to deference at that time. >+ >+ * UIProcess/WebsiteData/WebsiteDataStore.cpp: >+ (WebKit::WebsiteDataStore::processPools const): >+ > 2019-06-17 Ludovico de Nittis <ludovico.denittis@collabora.com> > > [GTK] Stop accessing GdkEvent fields when possible >diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp >index c28a640f7773d40e2089094db68ca13ba76e3f52..0328e3de33f0911645edef31e30af32143c68f67 100644 >--- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp >+++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp >@@ -1747,8 +1747,11 @@ bool WebsiteDataStore::isAssociatedProcessPool(WebProcessPool& processPool) cons > HashSet<RefPtr<WebProcessPool>> WebsiteDataStore::processPools(size_t count, bool ensureAPoolExists) const > { > HashSet<RefPtr<WebProcessPool>> processPools; >- for (auto& process : processes()) >+ for (auto& process : processes()) { >+ if (process->isInProcessCache() || process->isPrewarmed()) >+ continue; > processPools.add(&process->processPool()); >+ } > > if (processPools.isEmpty()) { > // Check if we're one of the legacy data stores.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198935
:
372279
|
372413