fast/loader/stateobjects/popstate-does-not-fire-with-page-cache.html is a flaky failure on iOS 16, BigSur and later platforms. HISTORY: https://results.webkit.org/?suite=layout-tests&test=fast%2Floader%2Fstateobjects%2Fpopstate-does-not-fire-with-page-cache.html&limit=10000 Crash Log is attached. CRASH LOG TEXT: @@ -10,8 +10,7 @@ pageshow fired - persisted=false PASS testWindowPopstateFireCount is 0 going back to page 1 in initial state -popstate fired with state null -PASS testWindowPopstateFireCount is 1 +FAIL testWindowPopstateFireCount should be 1. Was 0. PASS successfullyParsed is true
<rdar://problem/104775065>
I was able to reproduce this failure on iOS 16 Release ToT as follows: run-webkit-test --ios-simulator fast/loader/stateobjects/popstate-does-not-fire-with-page-cache.html --iteration 100 With the iterations, I was able to reproduce 22 failures. I was able to reproduce this failure on Ventura Release ToT as follows: run-webkit-test fast/loader/stateobjects/popstate-does-not-fire-with-page-cache.html --iteration 100 With the iterations, I was able to reproduce 4 failures of 100.
Created attachment 464699 [details] text diff
Pull request: https://github.com/WebKit/WebKit/pull/9279
Test gardening commit 259561@main (df3d1454d73d): <https://commits.webkit.org/259561@main> Reviewed commits have been landed. Closing PR #9279 and removing active labels.
Pull request: https://github.com/WebKit/WebKit/pull/9334
Test gardening commit 259581@main (bda96a710d73): <https://commits.webkit.org/259581@main> Reviewed commits have been landed. Closing PR #9334 and removing active labels.
Pull request: https://github.com/WebKit/WebKit/pull/9355
Committed 259649@main (67c6a041f39c): <https://commits.webkit.org/259649@main> Reviewed commits have been landed. Closing PR #9355 and removing active labels.
Due to test still failing, reopening. Will mark expectations for macOS while this is being investigated.
Pull request: https://github.com/WebKit/WebKit/pull/9548
Test gardening commit 259774@main (c3714cf7be45): <https://commits.webkit.org/259774@main> Reviewed commits have been landed. Closing PR #9548 and removing active labels.
This is the part that is flaky: ``` function onTestWindowPageShow(event) { debug("pageshow fired - persisted=" + event.persisted); setTimeout(() => { // Should not have fired a popstate event since the navigation wasn't within the same document. shouldBe("testWindowPopstateFireCount", "0"); debug('going back to page 1 in initial state'); setTimeout(function() {testWindow.history.back();}, 0); }, 10); } ``` It seems sometimes `testWindow.history.back()` doesn't cause a back navigation here and the 10ms delay is what makes it flaky. If we don't use a 10ms delay, then it consistently fails.
Pull request: https://github.com/WebKit/WebKit/pull/9637
Committed 259873@main (9b11ab322031): <https://commits.webkit.org/259873@main> Reviewed commits have been landed. Closing PR #9637 and removing active labels.
Committed 259548.431@safari-7615-branch (d4a83e5b2618): <https://commits.webkit.org/259548.431@safari-7615-branch> Reviewed commits have been landed. Closing PR #468 and removing active labels.