[Webkit-unassigned] [Bug 196445] [ Mac Debug ] REGRESSION (r242975) Layout Test storage/indexeddb/modern/deletedatabase-2-private.html is a flaky failure

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jun 6 17:27:58 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=196445

--- Comment #4 from youenn fablet <youennf at gmail.com> ---
I debugged a bit.
>From IPC we receive first from NetworkProcess to WebProcess:
1. A notification that a transaction is committed
2. A notification that a database is deleted
The order is always the same.

The first IPC message triggers synchronously the enqueuing of a complete event in IDBTransaction::fireOnComplete.
The second IPC message triggers synchronously the enqueuing of a success event in IDBOpenDBRequest::onDeleteDatabaseSuccess.

After the complete event is fired, a third event (an error event) is enqueued in IDBTransaction::dispatchEvent.

There is a race condition between the second event and the third event.
For this race to be visible, there is a need for the second IPC message to happen quickly enough after the first one so that the first event is not yet dispatched.

I guess that this is more the case with private browsing mode where deleting the database is in memory so very quick and does not require hopping to background threads.
This also explains why this flakiness happens more on debug mode where the enqueueing might be slower.


It is not clear to me whether the spec mandates the order.
I guess we could rewrite the test to unflake it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190607/ccfa51e0/attachment.html>


More information about the webkit-unassigned mailing list