Bug 260926 - [ wk2 ] imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit-button-click.html is a flaky failure
Summary: [ wk2 ] imported/w3c/web-platform-tests/html/browsers/browsing-the-web/naviga...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Forms (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-08-30 14:36 PDT by Ben Schwartz
Modified: 2023-08-30 14:51 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Schwartz 2023-08-30 14:36:25 PDT
imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit-button-click.html

This test is a flaky failure on wk2.

HISTORY:

https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fbrowsers%2Fbrowsing-the-web%2Fnavigating-across-documents%2Freplace-before-load%2Fform-submit-button-click.html

TEXT DIFF:

-PASS Replace before load, triggered by submitButton.click()
+FAIL Replace before load, triggered by submitButton.click() assert_equals: expected "http://localhost:8800/common/blank.html?thereplacement=" but got "http://localhost:8800/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&code=%0A%20%20%20%20const%20form%20%3D%20document.createElement(%22form%22)%3B%0A%20%20%20%20form.action%20%3D%20%22%2Fcommon%2Fblank.html%22%3B%0A%0A%20%20%20%20const%20input%20%3D%20document.createElement(%22input%22)%3B%0A%20%20%20%20input.type%20%3D%20%22hidden%22%3B%0A%20%20%20%20input.name%20%3D%20%22thereplacement%22%3B%0A%20%20%20%20form.append(input)%3B%0A%0A%20%20%20%20const%20button%20%3D%20document.createElement(%22button%22)%3B%0A%20%20%20%20button.type%20%3D%20%22submit%22%3B%0A%20%20%20%20form.append(button)%3B%0A%0A%20%20%20%20document.currentScript.before(form)%3B%0A%20%20%20%20button.click()%3B%0A%20%20"

DIFF URL:

https://build.webkit.org/results/Apple-Ventura-Release-AppleSilicon-WK2-Tests/267458@main%20(4705)/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit-button-click-pretty-diff.html

REPRODUCTION:

I was able to reproduce this bug on macOS Ventura (13.5, 22G74/arm64) using the following command:

run-webkit-tests --clobber-old-results --verbose imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit-button-click.html --iterations 1000 --child-processes 10 -f --exit-after-n-failures 1

REGRESSION/NOTES:

I was unable to bisect a regression point. It appears that the problem may be caused by an async issue (events firing out of intended order, or before a promise is completed).
Comment 1 Radar WebKit Bug Importer 2023-08-30 14:36:36 PDT
<rdar://problem/114723634>
Comment 2 Ben Schwartz 2023-08-30 14:38:20 PDT
URL-DECODED TEXT DIFF:

FAIL Replace before load, triggered by submitButton.click() assert_equals: expected "http://localhost:8800/common/blank.html?thereplacement=" but got "http://localhost:8800/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&code=
    const form = document.createElement("form");
    form.action = "/common/blank.html";

    const input = document.createElement("input");
    input.type = "hidden";
    input.name = "thereplacement";
    form.append(input);

    const button = document.createElement("button");
    button.type = "submit";
    form.append(button);

    document.currentScript.before(form);
    button.click();
  "
Comment 3 Ben Schwartz 2023-08-30 14:39:40 PDT
NOTE: this test fails on wk2, which includes gpuprocess.
Comment 4 EWS 2023-08-30 14:51:45 PDT
Test gardening commit 267467@main (fe37cf063898): <https://commits.webkit.org/267467@main>

Reviewed commits have been landed. Closing PR #17248 and removing active labels.