RESOLVED FIXED301776
New-Test(302373@main): ASSERTION FAILED: !(blobSize % sizeof(T)) on TestWebKitAPI.IndexedDB.OpenDatabaseWithMismatchedMetadataVersionAndName
https://bugs.webkit.org/show_bug.cgi?id=301776
Summary New-Test(302373@main): ASSERTION FAILED: !(blobSize % sizeof(T)) on TestWebKi...
Robert Jenner
Reported 2025-10-31 14:14:47 PDT
TestWebKitAPI.IndexedDB.OpenDatabaseWithMismatchedMetadataVersionAndName is a constant failure on all debug platforms. It is a newly introduced test that has been failing on Debug since introduction at https://commits.webkit.org/302373@main HISTORY: https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.IndexedDB.OpenDatabaseWithMismatchedMetadataVersionAndName FAILURE TEXT: "name": "TestWebKitAPI.IndexedDB.OpenDatabaseWithMismatchedMetadataVersionAndName" "output": "2025-10-31 13:03:24.374 TestWebKitAPI[48337:2657121] NSEventConcurrentProcessingEnabled=NO\nASSERTION FAILED: !(blobSize % sizeof(T))\n/Volumes/Data/worker/Apple-Tahoe-Debug-Build/build/Source/WebCore/platform/sql/SQLiteExtras.h(81) : std::span<const T> WebCore::sqliteColumnBlob(sqlite3_stmt *, int) [T = char16_t]\n1 0x1478d4928 std::__1::span<char16_t const, 18446744073709551615ul> WebCore::sqliteColumnBlob<char16_t>(sqlite3_stmt*, int)\n2 0x1478d480c WebCore::SQLiteStatement::columnBlobAsString(int)\n3 0x14412905c WebCore::IDBServer::databaseNameFromDatabase(WebCore::SQLiteDatabase&, unsigned long long)\n4 0x1441075ac WebCore::IDBServer::databaseMetadataVersionAndNameFromDatabase(WebCore::SQLiteDatabase&)\n5 0x144105f54 WebCore::IDBServer::migrateIDBDatabaseInfoTableIfNecessary(WebCore::SQLiteDatabase&, WTF::String const&)\n6 0x144104ee8 WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo()\n7 0x144107ca4 WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo(WebCore::IDBDatabaseInfo&)\n8 0x144160158 WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperationAfterSpaceCheck(bool)\n9 0x144185020 WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation()::$_0::operator()(bool)\n10 0x144184e50 WTF::Detail::CallableWrapper<WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation()::$_0, void, bool>::call(bool)\n11 0x12bc914c0 WTF::Function<void (bool)>::operator()(bool) const\n12 0x12bc7e498 WTF::CompletionHandler<void (bool)>::operator()(bool)\n13 0x12e8b621c auto WebKit::OriginStorageManager::idbStorageManager(WebKit::IDBStorageRegistry&)::$_0::operator()(unsigned long long, WTF::CompletionHandler<void (bool)>&&)::'lambda'(auto)::operator()<WebKit::OriginQuotaManager::Decision>(auto)\n14 0x12e8b6160 WTF::Detail::CallableWrapper<WebKit::OriginStorageManager::idbStorageManager(WebKit::IDBStorageRegistry&)::$_0::operator()(unsigned long long, WTF::CompletionHandler<void (bool)>&&)::'lambda'(auto), void, WebKit::OriginQuotaManager::Decision>::call(WebKit::OriginQuotaManager::Decision)\n15 0x12e884218 WTF::Function<void (WebKit::OriginQuotaManager::Decision)>::operator()(WebKit::OriginQuotaManager::Decision) const\n16 0x12e8098dc WTF::CompletionHandler<void (WebKit::OriginQuotaManager::Decision)>::operator()(WebKit::OriginQuotaManager::Decision)\n17 0x12e809444 WebKit::OriginQuotaManager::handleRequests()\n18 0x12e809288 WebKit::OriginQuotaManager::requestSpace(unsigned long long, WTF::CompletionHandler<void (WebKit::OriginQuotaManager::Decision)>&&)\n19 0x12e8b5db4 WebKit::OriginStorageManager::idbStorageManager(WebKit::IDBStorageRegistry&)::$_0::operator()(unsigned long long, WTF::CompletionHandler<void (bool)>&&)\n20 0x12e8b5c7c WTF::Detail::CallableWrapper<WebKit::OriginStorageManager::idbStorageManager(WebKit::IDBStorageRegistry&)::$_0, void, unsigned long long, WTF::CompletionHandler<void (bool)>&&>::call(unsigned long long, WTF::CompletionHandler<void (bool)>&&)\n21 0x12e6ad408 WTF::Function<void (unsigned long long, WTF::CompletionHandler<void (bool)>&&)>::operator()(unsigned long long, WTF::CompletionHandler<void (bool)>&&) const\n22 0x12e7f1aa0 WebKit::IDBStorageManager::requestSpace(WebCore::ClientOrigin const&, unsigned long long, WTF::CompletionHandler<void (bool)>&&)\n23 0x14415febc WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation()\n24 0x14416266c WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation()\n25 0x14415fb78 WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations()\n26 0x14415f8a4 WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection(WebCore::IDBServer::IDBConnectionToClient&, WebCore::IDBOpenRequestData const&)\n27 0x12e7f0a50 WebKit::IDBStorageManager::openDatabase(WebCore::IDBServer::IDBConnectionToClient&, WebCore::IDBOpenRequestData const&)\n28 0x12e803d94 WebKit::NetworkStorageManager::openDatabase(IPC::Connection&, WebCore::IDBOpenRequestData const&)\n29 0x12d366c3c auto void IPC::callMemberFunction<WebKit::NetworkStorageManager, WebKit::NetworkStorageManager, void (IPC::Connection&, WebCore::IDBOpenRequestData const&), std::__1::tuple<WebCore::IDBOpenRequestData>>(WebKit::NetworkStorageManager*, void (WebKit::NetworkStorageManager::*)(IPC::Connection&, WebCore::IDBOpenRequestData const&), IPC::Connection&, std::__1::tuple<WebCore::IDBOpenRequestData>&&)::'lambda'(auto&&...)::operator()<WebCore::IDBOpenRequestData>(auto&&...) const\n30 0x12d366b7c decltype(std::declval<WebKit::NetworkStorageManager>()(std::declval<WebCore::IDBOpenRequestData>())) std::__1::__invoke[abi:sn200100]<void IPC::callMemberFunction<WebKit::NetworkStorageManager, WebKit::NetworkStorageManager, void (IPC::Connection&, WebCore::IDBOpenRequestData const&), std::__1::tuple<WebCore::IDBOpenRequestData>>(WebKit::NetworkStorageManager*, void (WebKit::NetworkStorageManager::*)(IPC::Connection&, WebCore::IDBOpenRequestData const&), IPC::Connection&, std::__1::tuple<WebCore::IDBOpenRequestData>&&)::'lambda'(auto&&...), WebCore::IDBOpenRequestData>(WebKit::NetworkStorageManager&&, WebCore::IDBOpenRequestData&&)\n31 0x12d366b50 decltype(auto) std::__1::__apply_tuple_impl[abi:sn200100]<void IPC::callMemberFunction<WebKit::NetworkStorageManager, WebKit::NetworkStorageManager, void (IPC::Connection&, WebCore::IDBOpenRequestData const&), std::__1::tuple<WebCore::IDBOpenRequestData>>(WebKit::NetworkStorageManager*, void (WebKit::NetworkStorageManager::*)(IPC::Connection&, WebCore::IDBOpenRequestData const&), IPC::Connection&, std::__1::tuple<WebCore::IDBOpenRequestData>&&)::'lambda'(auto&&...), std::__1::tuple<WebCore::IDBOpenRequestData>, 0ul>(WebKit::NetworkStorageManager&&, WebKit::NetworkStorageManager&&, std::__1::__tuple_indices<0ul>)\n\n/Volumes/Data/worker/Apple-Tahoe-Debug-Build/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:354\nExpected equality of these values:\n @\"Success\"\n Which is: \"Success\"\n string.get()\n Which is: \"Error\""
Attachments
Radar WebKit Bug Importer
Comment 1 2025-10-31 14:15:59 PDT
EWS
Comment 2 2025-10-31 14:27:00 PDT
Test gardening commit 302405@main (6b378970e9dd): <https://commits.webkit.org/302405@main> Reviewed commits have been landed. Closing PR #53275 and removing active labels.
Robert Jenner
Comment 3 2025-10-31 14:29:42 PDT
I was able to reproduce the failure at Tahoe Debug ToT running the test as follows: run-api-tests --debug TestWebKitAPI.IndexedDB.OpenDatabaseWithMismatchedMetadataVersionAndName The history is clear that this test has been failing since introduction.
Chris Dumez
Comment 4 2026-01-13 23:19:23 PST
EWS
Comment 5 2026-01-14 13:47:30 PST
Committed 305603@main (9035d2c04f37): <https://commits.webkit.org/305603@main> Reviewed commits have been landed. Closing PR #56545 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.