<?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>202736</bug_id>
          
          <creation_ts>2019-10-09 02:19:23 -0700</creation_ts>
          <short_desc>[GTK][WPE] Several appcache and cache-storage tests are failing or flaky</short_desc>
          <delta_ts>2020-10-22 20:01:26 -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>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>dpino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1578161</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2019-10-09 02:19:23 -0700</bug_when>
    <thetext>All of these tests are now flaky

http/tests/appcache/document-cookie-http-only.php [ Failure Pass ]
http/tests/appcache/history-test.html [ Failure Pass ]
http/tests/appcache/remove-cache.html [ Timeout Pass ]
http/tests/cache-storage/cache-clearing-all.https.html [ Failure Pass ]
http/tests/cache-storage/cache-clearing-origin.https.html [ Failure Pass ]
http/tests/cache-storage/cache-origins.https.html [ Failure Pass ]
http/tests/cache-storage/cache-persistency.https.html [ Failure Pass ]
http/wpt/cache-storage/quota-third-party.https.html [ Failure Timeout Pass ]
http/wpt/cache-storage/cache-quota-add.any.html [ Failure ]

All of them were passing reliably until the changes that came in these 2 revisions
- r249614: Deprecate WKContextGetWebsiteDataStore
- r249619: Remove calls to WKContextGetWebsiteDataStore missed in r249614


Here are the diffs for some of the tests when they fail:

http/tests/appcache/document-cookie-http-only.php [ Failure Pass ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/appcache/document-cookie-http-only-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/appcache/document-cookie-http-only-actual.txt
@@ -1,6 +1,6 @@
 CONSOLE MESSAGE: line 1: ApplicationCache is deprecated. Please use ServiceWorkers instead.
 This tests that HttpOnly cookies set on the main document are used when accessing resources in the manifest.
 This also tests that cookies used by appcache resource loading are scoped properly.
-PASSED: Some cookies should not be visible from JavaScript.
+FAILED: Some cookies should not be visible from JavaScript.
 PASSED: Script Cookie is set to &apos;script&apos;
 PASSED: Cookie is set to &apos;bar&apos;


http/tests/appcache/history-test.html [ Failure Pass ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/appcache/history-test-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/appcache/history-test-actual.txt
@@ -1,4 +1,3 @@
-CONSOLE MESSAGE: line 1: ApplicationCache is deprecated. Please use ServiceWorkers instead.
 CONSOLE MESSAGE: line 1: ApplicationCache is deprecated. Please use ServiceWorkers instead.
 Test whether window.history.back() is supported in application cache.
 

http/tests/cache-storage/cache-clearing-all.https.html [ Failure Pass ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-clearing-all.https-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-clearing-all.https-actual.txt
@@ -1,4 +1,4 @@
 
 PASS Cleaning existing caches 
-PASS Clearing all disk cache 
+FAIL Clearing all disk cache assert_equals: keys should be empty expected 0 but got 1
 

http/tests/cache-storage/cache-clearing-origin.https.html [ Failure Pass ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-clearing-origin.https-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-clearing-origin.https-actual.txt
@@ -1,7 +1,7 @@
 
 
 PASS Create a cache storage from localhost and clear it 
-PASS Clearing disk cache of a given origin 
+FAIL Clearing disk cache of a given origin assert_true: hasDOMCache with actual origin expected true got false
 PASS Validating cache representation before clearing 
-PASS Validating cache representation after clearing 
+FAIL Validating cache representation after clearing assert_array_equals: lengths differ, expected 0 got 1
 

http/tests/cache-storage/cache-origins.https.html [ Failure Pass ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-origins.https-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-origins.https-actual.txt
@@ -1,7 +1,7 @@
   
 
 PASS Create a cache storage and look at the representation 
-PASS Verifying that two caches are created on two different client origins 
+FAIL Verifying that two caches are created on two different client origins assert_array_equals: lengths differ, expected 1 got 2
 PASS Verifying that caches are clustered per client origin. 
-PASS Verifying that clearing caches for an origin will clear both top origin and client origin caches. 
+FAIL Verifying that clearing caches for an origin will clear both top origin and client origin caches. assert_array_equals: lengths differ, expected 0 got 2
 

http/tests/cache-storage/cache-persistency.https.html [ Failure Pass ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-persistency.https-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/cache-storage/cache-persistency.https-actual.txt
@@ -1,8 +1,8 @@
 
 
 PASS Cleaning existing caches 
-PASS Clear memory representation but keep disk persistency 
+FAIL Clear memory representation but keep disk persistency assert_true: A cache object should be found expected true got false
 PASS Cleaning added caches from previous test 
-PASS Adding/Removing caches and clearing in memory representation at various times 
+FAIL Adding/Removing caches and clearing in memory representation at various times assert_array_equals: lengths differ, expected 2 got 3
 PASS Cleaning added caches</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578172</commentid>
    <comment_count>1</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2019-10-09 02:56:15 -0700</bug_when>
    <thetext>We have more tests failing due to r249614:

http/tests/IndexedDB/storage-limit-2.https.html [ Failure ]
http/tests/IndexedDB/storage-limit.https.html [ Failure ]
storage/indexeddb/storage-limit.html [ Failure ]
storage/indexeddb/modern/handle-user-delete.html [ Timeout ]
storage/indexeddb/modern/new-database-after-user-delete.html [ Timeout ]

and these are the diffs for the non timeout cases:

http/tests/IndexedDB/storage-limit-2.https.html [ Failure ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/IndexedDB/storage-limit-2.https-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/IndexedDB/storage-limit-2.https-actual.txt
@@ -1,4 +1,3 @@
-CONSOLE MESSAGE: Cache API operation failed: Quota exceeded
 This test makes sure that storage of indexedDB and Cache API do not grow unboundedly.
 
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
@@ -14,8 +13,9 @@
 store = db.transaction(&apos;store&apos;, &apos;readwrite&apos;).objectStore(&apos;store&apos;)
 request = store.add(new Uint8Array(204800), &apos;key&apos;)
 finished idb processing
-Cache API store operation failed: QuotaExceededError: Quota exceeded
+FAIL Cache API store operation succeeded
 PASS successfullyParsed is true
+Some tests failed.
 
 TEST COMPLETE
 


http/tests/IndexedDB/storage-limit.https.html [ Failure ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/IndexedDB/storage-limit.https-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/http/tests/IndexedDB/storage-limit.https-actual.txt
@@ -12,10 +12,9 @@
 db = event.target.result
 store = db.transaction(&apos;store&apos;, &apos;readwrite&apos;).objectStore(&apos;store&apos;)
 request = store.add(new Uint8Array(204800), &apos;key&apos;)
-PASS &apos;error&apos; in request is true
-PASS request.error.code is DOMException.QUOTA_EXCEEDED_ERR
-PASS request.error.name is &quot;QuotaExceededError&quot;
+FAIL Add operation should fail because storage limit is reached, but succeeded.
 PASS successfullyParsed is true
+Some tests failed.
 
 TEST COMPLETE
 


storage/indexeddb/storage-limit.html [ Failure ]
--- /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/storage/indexeddb/storage-limit-expected.txt
+++ /home/buildbot/wpe/wpe-linux-64-release-tests/build/layout-test-results/storage/indexeddb/storage-limit-actual.txt
@@ -27,11 +27,9 @@
 store.add(new Uint8Array(1), 9).onsuccess = ()=&gt; { ++addCount; }
 store.add(new Uint8Array(1), 10).onsuccess = ()=&gt; { ++addCount; }
 request = store.add(new Uint8Array(409601), 0)
-PASS addCount is 10
-PASS &apos;error&apos; in request is true
-PASS request.error.code is DOMException.QUOTA_EXCEEDED_ERR
-PASS request.error.name is &quot;QuotaExceededError&quot;
+FAIL Add operation should fail because storage limit is reached, but succeeded.
 PASS successfullyParsed is true
+Some tests failed.
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578330</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-09 12:14:50 -0700</bug_when>
    <thetext>Are they only flaky on GTK?  I looked on https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html and found most of them show no flakiness.

When I&apos;ve looked into similar issues, it was found that running a test after a certain other test (usually one that calls terminateNetworkProcess) caused the failures to be deterministic.

I think the solution will be to migrate from anything that uses WebProcessPool::websiteDataStore, deprecating API along the way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606334</commentid>
    <comment_count>3</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-01-14 03:44:56 -0800</bug_when>
    <thetext>There two tests are failing in GTK:

  * http/tests/appcache/remove-cache.html [ Failure Timeout Pass ]
  * http/wpt/cache-storage/quota-third-party.https.html [ Failure Timeout Pass]

The tests started to consistently time out at:

  r249529                       NOERROR
  [r249530-r249619]             UNKNOWN
  r249620                       TIMEOUT TEXT (Expected: PASS)

Likely due to r249614 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606338</commentid>
    <comment_count>4</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-01-14 03:45:29 -0800</bug_when>
    <thetext>*** Bug 206222 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644728</commentid>
    <comment_count>5</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-04-23 02:42:25 -0700</bug_when>
    <thetext>A few tests are passing since r259705:

storage/indexeddb/modern/handle-user-delete.html
storage/indexeddb/modern/new-database-after-user-delete.html

Updated test expectations in r260563.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649989</commentid>
    <comment_count>6</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-05-07 00:38:09 -0700</bug_when>
    <thetext>Many of these tests have been consistently passing since r259705. Updated test expectations in r261272. New expectations look like this (both for GTK and WPE):

  webkit.org/b/202736 http/tests/appcache/remove-cache.html [ Failure ]
  webkit.org/b/202736 http/wpt/cache-storage/quota-third-party.https.html [ Slow ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700910</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-10-22 20:01:26 -0700</bug_when>
    <thetext>http/wpt/cache-storage/quota-third-party.https.html is flaky and gives timeouts. On the last 4000 runs on the gtk-release test bot it timed out 1022 times.

Setting slow to it is not enough as it continues to give timeouts.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>