REGRESSION: Flaky ASSERTION FAILED: !m_killed seen with http/tests/security/cross...
authoryouenn@apple.com <youenn@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Mar 2019 22:12:32 +0000 (22:12 +0000)
committeryouenn@apple.com <youenn@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Mar 2019 22:12:32 +0000 (22:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=196024
<rdar://problem/49117272>

Reviewed by Alexey Proskuryakov.

Do not proceed with opening the database if it is being closed.
Speculative fix, this should stop making test crashing on bots.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp

index ac4ee0a..65afeb7 100644 (file)
@@ -1,5 +1,19 @@
 2019-03-22  Youenn Fablet  <youenn@apple.com>
 
+        REGRESSION: Flaky ASSERTION FAILED: !m_killed seen with http/tests/security/cross-origin-worker-indexeddb.html
+        https://bugs.webkit.org/show_bug.cgi?id=196024
+        <rdar://problem/49117272>
+
+        Reviewed by Alexey Proskuryakov.
+
+        Do not proceed with opening the database if it is being closed.
+        Speculative fix, this should stop making test crashing on bots.
+
+        * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
+        (WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
+
+2019-03-22  Youenn Fablet  <youenn@apple.com>
+
         storage/indexeddb/closed-cursor-private.html is crashing on debug
         https://bugs.webkit.org/show_bug.cgi?id=196101
 
index 0961d9c..a62970a 100644 (file)
@@ -220,6 +220,9 @@ void UniqueIDBDatabase::performCurrentOpenOperation()
                 if (!weakThis)
                     return;
 
+                if (m_owningPointerForClose)
+                    return;
+
                 switch (decision) {
                 case StorageQuotaManager::Decision::Deny: {
                     auto result = IDBResultData::error(m_currentOpenDBRequest->requestData().requestIdentifier(), IDBError { QuotaExceededError, quotaErrorMessageName("openDatabase") });