Bug 237066

Summary: REGRESSION (r289474): [iOS] ASSERTION FAILED: isMainThread() under WebCore::IDBServer::UniqueIDBDatabase::abortActiveTransactions()
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: Website StorageAssignee: Sihui Liu <sihui_liu>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, beidson, cdumez, ews-watchlist, jsbell, sihui_liu, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=234925
Attachments:
Description Flags
Patch none

Description Ryan Haddad 2022-02-22 16:53:57 PST
Several API tests are failing an assertion on iOS debug bots after https://commits.webkit.org/247017@main landed

TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently
TestWebKitAPI.WebKit.WebsiteDataStoreCustomPathsWithPrewarming
TestWebKitAPI.WebKit.WebsiteDataStoreCustomPathsWithoutPrewarming

        ASSERTION FAILED: isMainThread()
        ./Modules/indexeddb/server/UniqueIDBDatabase.cpp(1478) : void WebCore::IDBServer::UniqueIDBDatabase::abortActiveTransactions()
        1   0x1490967e9 WTFCrash
        2   0x170a2b8bb WTFCrashWithInfo(int, char const*, char const*, int)
        3   0x17308678d WebCore::IDBServer::UniqueIDBDatabase::abortActiveTransactions()
        4   0x12d0ca83d WebKit::IDBStorageManager::stopDatabaseActivitiesForSuspend()
        5   0x12d1423e9 WebKit::NetworkStorageManager::suspend(WTF::CompletionHandler<void ()>&&)::$_12::operator()() const
        6   0x12d142239 WTF::Detail::CallableWrapper<WebKit::NetworkStorageManager::suspend(WTF::CompletionHandler<void ()>&&)::$_12, void>::call()
        7   0x1490c3992 WTF::Function<void ()>::operator()() const
        8   0x149183898 WTF::SuspendableWorkQueue::suspendIfNeeded()
        9   0x1491858f8 WTF::SuspendableWorkQueue::suspend(WTF::Function<void ()>&&, WTF::CompletionHandler<void ()>&&)::$_0::operator()() const
        10  0x149185899 WTF::Detail::CallableWrapper<WTF::SuspendableWorkQueue::suspend(WTF::Function<void ()>&&, WTF::CompletionHandler<void ()>&&)::$_0, void>::call()
        11  0x1490c3992 WTF::Function<void ()>::operator()() const
        12  0x1491ff959 WTF::(anonymous namespace)::DispatchWorkItem::operator()()
        13  0x1491fe03d void WTF::dispatchWorkItem<WTF::(anonymous namespace)::DispatchWorkItem>(void*)
        14  0x10b76aa56 _dispatch_client_callout
        15  0x10b77108b _dispatch_lane_serial_drain
        16  0x10b771c31 _dispatch_lane_invoke
        17  0x10b77c6de _dispatch_workloop_worker_thread
        18  0x10bc2445d _pthread_wqthread
        19  0x10bc2342f start_wqthread
        LEAK: 1 WebProcessPool
        
        /Volumes/Data/worker/ios-simulator-15-debug/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:63
        Expected equality of these values:
          expectedResult
            Which is: "Expected Success After Resume"
          string.get()
            Which is: "Unexpected Abort"


https://results.webkit.org/?suite=api-tests&suite=api-tests&suite=api-tests&test=TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently&test=TestWebKitAPI.WebKit.WebsiteDataStoreCustomPathsWithPrewarming&test=TestWebKitAPI.WebKit.WebsiteDataStoreCustomPathsWithoutPrewarming
Comment 1 Radar WebKit Bug Importer 2022-02-22 16:54:11 PST
<rdar://problem/89324810>
Comment 2 Sihui Liu 2022-02-22 17:21:03 PST
Created attachment 452924 [details]
Patch
Comment 3 EWS 2022-02-23 00:51:28 PST
Committed r290357 (247675@main): <https://commits.webkit.org/247675@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452924 [details].