WebKit Bugzilla
Attachment 370081 Details for
Bug 197741
: ASSERTION FAILED: !m_backingStore in WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore(uint64_t)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197741-20190516155738.patch (text/plain), 2.73 KB, created by
Sihui Liu
on 2019-05-16 15:57:38 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Sihui Liu
Created:
2019-05-16 15:57:38 PDT
Size:
2.73 KB
patch
obsolete
>Subversion Revision: 245337 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 44db6ae85ba3c10cdab90d6609c2d38296eb15e0..a65a4e9fb800c8b39df643f785cac8170bd8faa4 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2019-05-16 Sihui Liu <sihui_liu@apple.com> >+ >+ ASSERTION FAILED: !m_backingStore in WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore(uint64_t) >+ https://bugs.webkit.org/show_bug.cgi?id=197741 >+ <rdar://problem/50625006> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ If an open request is made before a delete request, open task should be performed before delete task on the >+ database thread. After r242911, open request needs to wait decision of StorageQuotaManager before posting task >+ to database thread, while delete request needs not. This makes deletion happen before open. >+ >+ We need to make sure tasks are in correct order by not starting next open or delete request when database is in >+ the middle of open or deletion. >+ >+ * Modules/indexeddb/server/UniqueIDBDatabase.cpp: >+ (WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation): >+ (WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations): >+ > 2019-05-15 Youenn Fablet <youenn@apple.com> > > getUserMedia sandbox extensions should not be revoked when a getUserMedia allowed request is being processed >diff --git a/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp b/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp >index 4b54d9c2df239cfbded61bd00d9093ccacaf52c2..b94b82cb11591097d5de752926ccc1df0a1f21b1 100644 >--- a/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp >+++ b/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp >@@ -228,6 +228,7 @@ void UniqueIDBDatabase::performCurrentOpenOperation() > auto result = IDBResultData::error(m_currentOpenDBRequest->requestData().requestIdentifier(), IDBError { QuotaExceededError, quotaErrorMessageName("openDatabase") }); > m_currentOpenDBRequest->connection().didOpenDatabase(result); > m_currentOpenDBRequest = nullptr; >+ m_isOpeningBackingStore = false; > break; > } > case StorageQuotaManager::Decision::Grant: >@@ -460,7 +461,7 @@ void UniqueIDBDatabase::handleDatabaseOperations() > LOG(IndexedDB, "(main) UniqueIDBDatabase::handleDatabaseOperations - There are %u pending", m_pendingOpenDBRequests.size()); > ASSERT(!m_hardClosedForUserDelete); > >- if (m_deleteBackingStoreInProgress) >+ if (m_deleteBackingStoreInProgress || m_isOpeningBackingStore) > return; > > clearStalePendingOpenDBRequests();
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 197741
: 370081