⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 243401 in webkit


Ignore:
Timestamp:
Mar 22, 2019, 3:11:41 PM (7 years ago)
Author:
youenn@apple.com
Message:

storage/indexeddb/closed-cursor-private.html is crashing on debug
https://bugs.webkit.org/show_bug.cgi?id=196101

Reviewed by Alex Christensen.

In case of immediate close for user delete, the transaction might be deleted.
If the request for space is pending, it will be executed with an error as parameter.
In that case, the call to didCommitTransaction will not find any existing transaction.
Speculative fix, test should no longer crash.

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::didCommitTransaction):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r243400 r243401  
     12019-03-22  Youenn Fablet  <youenn@apple.com>
     2
     3        storage/indexeddb/closed-cursor-private.html is crashing on debug
     4        https://bugs.webkit.org/show_bug.cgi?id=196101
     5
     6        Reviewed by Alex Christensen.
     7
     8        In case of immediate close for user delete, the transaction might be deleted.
     9        If the request for space is pending, it will be executed with an error as parameter.
     10        In that case, the call to didCommitTransaction will not find any existing transaction.
     11        Speculative fix, test should no longer crash.
     12
     13        * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
     14        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCommitTransaction):
     15
    1162019-03-22  Devin Rousso  <drousso@apple.com>
    217
  • trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp

    r243270 r243401  
    182182    auto transactionIdentifier = transaction.info().identifier();
    183183
    184     ASSERT(m_transactionMap.contains(transactionIdentifier));
     184    ASSERT(m_transactionMap.contains(transactionIdentifier) || !error.isNull());
    185185    m_transactionMap.remove(transactionIdentifier);
    186186
Note: See TracChangeset for help on using the changeset viewer.