Bug 202552

Summary: ASSERTION FAILED: m_transactionOperationsInProgressQueue.first() == &operation in IDBTransaction::operationCompletedOnClient
Product: WebKit Reporter: Sihui Liu <sihui_liu>
Component: New BugsAssignee: Sihui Liu <sihui_liu>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, alecflett, beidson, commit-queue, ews-watchlist, jsbell, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch for landing none

Description Sihui Liu 2019-10-03 17:46:05 PDT
If there is quota error for some request, we send back an error response immediately without dispatching a task to database thread and waiting for result from database thread. However, web process expects to receive results for request in the order of requests being sent.
One simple solution is to dispatch a task with the quota error to the background thread, to make sure requests are handled in order on the background thread.
Comment 1 Sihui Liu 2019-10-03 17:55:34 PDT
Created attachment 380172 [details]
Patch
Comment 2 Alex Christensen 2019-10-03 20:09:41 PDT
Code change looks good.  Test needs some polish.
Comment 3 Sihui Liu 2019-10-03 23:26:06 PDT
Created attachment 380189 [details]
Patch
Comment 4 Sihui Liu 2019-10-04 10:43:11 PDT
Created attachment 380226 [details]
Patch
Comment 5 Sihui Liu 2019-10-07 14:58:32 PDT
Created attachment 380365 [details]
Patch for landing
Comment 6 WebKit Commit Bot 2019-10-07 15:36:54 PDT
Comment on attachment 380365 [details]
Patch for landing

Clearing flags on attachment: 380365

Committed r250800: <https://trac.webkit.org/changeset/250800>
Comment 7 WebKit Commit Bot 2019-10-07 15:36:56 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 Radar WebKit Bug Importer 2019-10-07 15:37:16 PDT
<rdar://problem/56053633>