Open Bug 1595848 Opened 5 years ago Updated 2 years ago

Intermittent COOP/COEP tests

Categories

(Core :: DOM: Networking, defect, P3)

defect

Tracking

()

People

(Reporter: CuveeHsu, Unassigned)

References

(Depends on 3 open bugs, Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

We have some constant timeout in COOP/COEP, which leads intermittent failures.

I suppose we could replace some of the timeouts in html/cross-origin-embedder-policy/require-corp.https.html by instead giving the target page also some kind of broadcast channel (and not use the generic blank page). Do you have a comprehensive list of problematic tests?

Here's the test involving timeout:

  1. testing/web-platform/tests/html/cross-origin-embedder-policy/none.https.html
    1.1. Bug 1586944 Intermittent /html/cross-origin-embedder-policy/none.https.html | "require-corp" top-level noopener popup: navigating to "none" should succeed - assert_true: expected true got false
    1.2. with SetTimeout in html/cross-origin-embedder-policy/resources/navigate-none.sub.html and html/cross-origin-embedder-policy/resources/navigate-require-corp.sub.html
  2. testing/web-platform/tests/html/cross-origin-embedder-policy/require-corp.https.html
    2.1. Bug 1576153 Intermittent /html/cross-origin-embedder-policy/require-corp.https.html | "require-corp" top-level: creating a "none" popup should succeed. - assert_equals: expected true but got false
    2.2. with SetTimeout in html/cross-origin-embedder-policy/resources/navigate-none.sub.html and html/cross-origin-embedder-policy/resources/navigate-require-corp.sub.html
  3. testing/web-platform/tests/html/cross-origin-opener-policy/coop-sandbox.https.html
  4. testing/web-platform/tests/html/cross-origin-opener-policy/no-https.html
  5. testing/web-platform/tests/html/cross-origin-opener-policy/popup-same-origin-non-initial-about-blank.https.html

After investigation, we don't suffer a lot at this moment, and I can fix Bug 1586944 and Bug 1576153.

FWIW, followings are other intermittent failures without constant timeout, and all of them are TIMEOUT FAILURE. Let's see whether enabling document channel ease them.

  1. Bug 1582111 Intermittent TEST-UNEXPECTED-TIMEOUT | /html/cross-origin-opener-policy/coep-navigate-popup.https.html | Popup navigating to same-site with no coop/no coep - Test timed out
  2. Bug 1587887 Intermittent TEST-UNEXPECTED-TIMEOUT | /html/cross-origin-opener-policy/coep-navigate-popup.https.html | Popup navigating to same-origin with coop unsafe-inherit/no coep - Test timed out
  3. Bug 1589465 Intermittent TEST-UNEXPECTED-TIMEOUT | /html/cross-origin-opener-policy/popup-redirect-cache.https.html | same-origin document opening popup redirect from https://not-web-platform.test:8443 to https://web-platform.test:8443 with redirectCache
  4. Bug 1592492 Intermittent TEST-UNEXPECTED-TIMEOUT | /html/cross-origin-opener-policy/popup-same-site.https.html | same-site document opening popup to https://not-web-platform.test:8443 with COOP: "same-site unsafe-allow-outgoing" - Test timed out

(In reply to Anne (:annevk) from comment #1)

I suppose we could replace some of the timeouts in html/cross-origin-embedder-policy/require-corp.https.html by instead giving the target page also some kind of broadcast channel (and not use the generic blank page). Do you have a comprehensive list of problematic tests?

This is also problematic and your suggestion might help.
https://searchfox.org/mozilla-central/rev/e7c61f4a68b974d5fecd216dc7407b631a24eb8f/testing/web-platform/tests/html/cross-origin-embedder-policy/require-corp.https.html#25-41

Depends on: 1605382
See Also: → 1609117
See Also: → 1609717
See Also: → 1582111
Blocks: resab
Depends on: 1609117
See Also: 1609117
Depends on: 1601168
No longer blocks: 1576153
Depends on: 1576153

A number of the issues here were due to https://github.com/web-platform-tests/wpt/pull/21265 (we spelled timeout=long wrong, effectively). In https://github.com/web-platform-tests/wpt/pull/21274 I have a patch we can use for any remaining cases where tests run too long even for timeout=long.

We need to go through all the COOP/COEP tests and check their .ini files. If any of those contain TIMEOUT it would be good to see if that can now be removed or otherwise add those to a list we apply the technique of the aforementioned patch to.

Summary: deterministic event order in COOP/COEP wpt → Intermittent COOP/COEP tests
Priority: P3 → P2
Depends on: 1580773
Depends on: 1610177
Blocks: 1613061
Blocks: 1613066

Okay to assign this to you?

Flags: needinfo?(valentin.gosu)
Assignee: nobody → valentin.gosu
Flags: needinfo?(valentin.gosu)
Depends on: 1611852
Depends on: 1641102
Depends on: 1640314
Depends on: 1641281

As of today, I see only recent (rare) failures on bug 1605382, bug 1611446, bug 1626250 and bug 1641859. All other failures are older than 20 days, at least.

No longer depends on: 1626425
Depends on: 1626425

Let's make this block the follow-up work.

Blocks: 1563480
No longer blocks: resab, 1613061, 1613066

Not actively working on this.

Assignee: valentin.gosu → nobody
Severity: normal → S3
Priority: P2 → P3
See Also: → 1756971
You need to log in before you can comment on or make changes to this bug.