<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>196445</bug_id>
          
          <creation_ts>2019-04-01 10:16:03 -0700</creation_ts>
          <short_desc>[ Mac Debug ] REGRESSION (r242975) Layout Test storage/indexeddb/modern/deletedatabase-2-private.html is a flaky failure</short_desc>
          <delta_ts>2019-06-07 18:30:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shawn Roberts">sroberts</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>lforschler</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1522934</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-04-01 10:16:03 -0700</bug_when>
    <thetext>The following layout test is flaky on Mac WK2 Debug

storage/indexeddb/modern/deletedatabase-2-private.html

Probable cause:

After changes made in https://trac.webkit.org/changeset/242975/webkit 

Test started to become a flaky failure on Mac Debug builds. It has shown up once on the iOS Simulator Release queue, and I could reproduce it locally, but only about 1 in 1000 iterations.

With Mac Debug it is failing on average 10 in 500 iterations, and I cannot get it to fail in r242974 or older.

Reproduced with:

run-webkit-tests storage/indexeddb/modern/deletedatabase-2-private.html --iterations 500 -f --debug

Flakiness Dashboard:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=storage%2Findexeddb%2Fmodern%2Fdeletedatabase-2-private.html

Diff:

--- /Volumes/Data/slave/mojave-debug-tests-wk2/build/layout-test-results/storage/indexeddb/modern/deletedatabase-2-private-expected.txt
+++ /Volumes/Data/slave/mojave-debug-tests-wk2/build/layout-test-results/storage/indexeddb/modern/deletedatabase-2-private-actual.txt
@@ -11,9 +11,9 @@
 Requesting deleteDatabase
 First connection received versionchange event: oldVersion 1, newVersion null
 First version change complete
-Open request error: AbortError
 Delete database success: oldVersion 1, newVersion null
 Recreating database to make sure it&apos;s new and empty
+Open request error: AbortError
 Second upgrade old version - 0 new version - 1
 Unable to get object store in second upgrade transaction (which is correct because it should not be there)
 Second database upgrade success</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522935</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-01 10:16:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/49483061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522936</commentid>
    <comment_count>2</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-04-01 10:23:05 -0700</bug_when>
    <thetext>Marked flaky in https://trac.webkit.org/changeset/243696/webkit while waiting for a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536289</commentid>
    <comment_count>3</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-05-14 15:56:06 -0700</bug_when>
    <thetext>When marking test as flaky in r243696 I did so on iOS, not on Mac.

Updated expectations properly in https://trac.webkit.org/changeset/245315/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542653</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-06-06 17:27:58 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542668</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-06-06 17:46:11 -0700</bug_when>
    <thetext>Some other observations:
- I failed running the test on Chrome (timeout) and Firefox (failing assertions)
- https://w3c.github.io/IndexedDB/#commit-a-transaction mentions enqueuing a task to fire a complete event. There is no description of enqueuing a request error/success event just after dispatching a complete event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542883</commentid>
    <comment_count>6</comment_count>
      <attachid>371601</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-06-07 11:11:00 -0700</bug_when>
    <thetext>Created attachment 371601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543036</commentid>
    <comment_count>7</comment_count>
      <attachid>371601</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-07 18:30:52 -0700</bug_when>
    <thetext>Comment on attachment 371601
Patch

Clearing flags on attachment: 371601

Committed r246227: &lt;https://trac.webkit.org/changeset/246227&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543037</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-07 18:30:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371601</attachid>
            <date>2019-06-07 11:11:00 -0700</date>
            <delta_ts>2019-06-07 18:30:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196445-20190607111059.patch</filename>
            <type>text/plain</type>
            <size>3197</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MTcwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2RlOThjMmNhZjRmZGVlMzBlZTg2
MDI2ZGFhNTkxZTJkMmMxOTYxNS4uNzIyNmY4YmYxNDk4NDQxNWYxNDcyNTM5NzdjMDIxYWJkMTJj
YWIxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA2LTA3ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbIE1hYyBEZWJ1ZyBdIFJFR1JFU1NJT04gKHIy
NDI5NzUpIExheW91dCBUZXN0IHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFz
ZS0yLXByaXZhdGUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjQ0NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDk0ODMwNjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVW5mbGFrZSB0aGUgdGVzdCBieSBtYWtpbmcgc3VyZSB0byB3YWl0IGZvciB0aGUgb25l
cnJvciBldmVudCBiZWZvcmUgY29udGludWluZyB0aGUgdGVzdC4KKworICAgICAgICAqIHBsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vcmVzb3VyY2VzL2RlbGV0ZWRhdGFiYXNlLTIuanM6CisgICAgICAgIChwcmVwYXJl
RGF0YWJhc2UuZXZlbnQudGFyZ2V0Lm9uZXJyb3IpOgorICAgICAgICAoY29udGludWVUZXN0MS5y
ZXF1ZXN0Lm9uc3VjY2Vzcyk6IERlbGV0ZWQuCisKIDIwMTktMDYtMDYgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIENhbGwgd2FzIG5lZ290aWF0ZWQgd2l0aCBI
MjY0IEJhc2UgUHJvZmlsZSA0MmUwMWYgYnV0IGVuY29kZWQgaW4gSGlnaCBQcm9maWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTEzZTky
ZDEyNGRmYTM5YjhhYTk0MzVhYzM5MWU5ZWExNTI3ZjM4MC4uNTQxNDI0MmFhYjVkNmQwYmEzNWUy
ZDBmNzAyMzA2YThiOTRlOTZhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtOTUwLDggKzk1MCw2IEBAIHdlYmtpdC5vcmcvYi8xOTcyODkg
WyBNb2phdmUgRGVidWcgXSB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9zdGF0ZS9nbC1vYmplY3Qt
Z2V0CiAKIHdlYmtpdC5vcmcvYi8xODk2NzIgWyBNb2phdmUgRGVidWcgXSB3ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZTIvdGV4dHVyZXMvbWlzYy90ZXgtbmV3LWZvcm1hdHMuaHRtbCBbIFNraXAgXQog
Ci13ZWJraXQub3JnL2IvMTk2NDQ1IFsgRGVidWcgXSBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
ZGVsZXRlZGF0YWJhc2UtMi1wcml2YXRlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3ZWJraXQu
b3JnL2IvMTk4MTk1IFsgUmVsZWFzZSBdIGZhc3QvY3NzL3N0aWNreS9zdGlja3ktbGVmdC1wZXJj
ZW50YWdlLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTg3
ODI4IFsgUmVsZWFzZSBdIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ZsZXgtY29udGVudC1zaXplZC1j
b2x1bW5zLXJlc2l6ZS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXNvdXJjZXMvZGVsZXRlZGF0
YWJhc2UtMi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXNvdXJj
ZXMvZGVsZXRlZGF0YWJhc2UtMi5qcwppbmRleCAzNzc4NTlkOGE4ZDgwMTcwN2UzZDEyYzJlMTFl
ZGU0OTc5NTRkNWNiLi4zMDUxNTIzY2U2YmZhOWY2Y2I0OTRmNTEyN2IzNjQwYTQ1OGE2MDA2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vcmVzb3VyY2Vz
L2RlbGV0ZWRhdGFiYXNlLTIuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL3Jlc291cmNlcy9kZWxldGVkYXRhYmFzZS0yLmpzCkBAIC0yMSwxMiArMjEsMTYgQEAg
ZnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrKCkKIH0KIAogdmFyIGRibmFtZTsKK3ZhciByZXNvbHZl
VHJhbnNhY3Rpb25Qcm9taXNlOwordmFyIHRyYW5zYWN0aW9uUHJvbWlzZSA9IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4gcmVzb2x2ZVRyYW5zYWN0aW9uUHJvbWlzZSA9IHJlc29sdmUpOworCiBmdW5j
dGlvbiBwcmVwYXJlRGF0YWJhc2UoZSkKIHsKICAgICBkZWJ1ZygiSW5pdGlhbCB1cGdyYWRlIG9s
ZCB2ZXJzaW9uIC0gIiArIGUub2xkVmVyc2lvbiArICIgbmV3IHZlcnNpb24gLSAiICsgZS5uZXdW
ZXJzaW9uKTsKICAgICAKICAgICBldmVudC50YXJnZXQub25lcnJvciA9IGZ1bmN0aW9uKGUpIHsK
ICAgICAgICAgZGVidWcoIk9wZW4gcmVxdWVzdCBlcnJvcjogIiArIGV2ZW50LnRhcmdldC5lcnJv
ci5uYW1lKTsKKyAgICAgICAgcmVzb2x2ZVRyYW5zYWN0aW9uUHJvbWlzZSgpOwogICAgIH0KIAog
ICAgIHZhciB2ZXJzaW9uVHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb247CkBA
IC03Niw4ICs4MCw5IEBAIGZ1bmN0aW9uIGNvbnRpbnVlVGVzdDEoKQogewogICAgIGRlYnVnKCJS
ZXF1ZXN0aW5nIGRlbGV0ZURhdGFiYXNlIik7CiAgICAgdmFyIHJlcXVlc3QgPSB3aW5kb3cuaW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSk7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbihlKQorICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYXN5bmMgZnVuY3Rpb24oZSkKICAg
ICB7CisgICAgICAgIGF3YWl0IHRyYW5zYWN0aW9uUHJvbWlzZTsKICAgICAgICAgZGVidWcoIkRl
bGV0ZSBkYXRhYmFzZSBzdWNjZXNzOiBvbGRWZXJzaW9uICIgKyBlLm9sZFZlcnNpb24gKyAiLCBu
ZXdWZXJzaW9uICIgKyBlLm5ld1ZlcnNpb24pOwogICAgICAgICBjb250aW51ZVRlc3QyKCk7CiAg
ICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>