Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8414bf071128e3595500bf190a4d6d43f37beb65
https://github.com/WebKit/WebKit/commit/8414bf071128e3595500bf190a4d6d43f37beb65
Author: Sihui Liu <[email protected]>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
Log Message:
-----------
ASSERTION FAILED: checkedPtrCountWithoutThreadCheck() in SQLiteStorageArea::
createAndPopulateInitialDatabaseInfo
rdar://162891393
https://bugs.webkit.org/show_bug.cgi?id=301007
Reviewed by Per Arne Vollan and Chris Dumez.
I got the assertion faliure when running API test
IndexedDB.IndexedDBFileHashCollision on debug build. The cause is that
SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo sets m_database to
null (with closeSQLiteDB after
m_database is captured in a local CheckedPtr variable sqliteDB. When the
CheckedPtr variable is destroyed at function
exit, the assertion will be hit as the SQLiteDatabase object is already gone.
To fix this, avoid resetting m_database by removing closeSQLiteDB() calls in
createAndPopulateInitialDatabaseInfo. This
is viable because the only caller of createAndPopulateInitialDatabaseInfo (i.e.
getOrEstablishDatabaseInfo) will invoke
closeSQLiteDB when createAndPopulateInitialDatabaseInfo returns nullptr.
* Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
Canonical link: https://commits.webkit.org/301758@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes