Bug 134939 - IDB transaction requests may get discarded if a request is currently being processed
Summary: IDB transaction requests may get discarded if a request is currently being pr...
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Vicki Pfau
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-07-15 13:57 PDT by Vicki Pfau
Modified: 2014-08-06 12:50 PDT (History)
1 user (show)

See Also:


Attachments
WIP patch (27.08 KB, patch)
2014-07-15 13:59 PDT, Vicki Pfau
no flags Details | Formatted Diff | Diff
WIP patch v2 (14.15 KB, patch)
2014-07-22 17:19 PDT, Vicki Pfau
no flags Details | Formatted Diff | Diff
Patch v3 (14.02 KB, patch)
2014-08-06 12:50 PDT, Vicki Pfau
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vicki Pfau 2014-07-15 13:57:24 PDT
With the WebKit2 UniqueIDBDatabase backing, transaction requests may be discarded if another request for the same transaction is currently in progress. This can cause serious problems, depending on the request that gets discarded.

<rdar://problem/17356958>
Comment 1 Vicki Pfau 2014-07-15 13:59:45 PDT
Created attachment 234948 [details]
WIP patch

Attached a WIP patch that can cause several layout tests to regress, with what appear to be race condition-based failures.
Comment 2 Vicki Pfau 2014-07-22 17:19:19 PDT
Created attachment 235329 [details]
WIP patch v2

As it turns out, almost all of the operations are already queued within the web process. This version of the patch queues up the few remaining tasks, but there are some issues caused by this that aren't yet fixed, so this patch isn't ready for review.
Comment 3 Vicki Pfau 2014-08-06 12:50:50 PDT
Created attachment 236126 [details]
Patch v3

Here's a newer version of the patch. It still causes 4 layout tests to fail, and is getting increasingly more detailed in how it works, but I think I'm getting closer to a proper fix.