Description
openedon Sep 6, 2024
PR where we were trying to bump chrome on windows, where failures were discovered: #107259
- log from CI:
[wasm test-browser] [16:57:13] info: Closing 1 browser tabs before setting the main tab to config page and quitting.
[wasm test-browser] [16:57:13] fail: [out of order message from the driver]: Timed out receiving message from renderer: 300.000
[wasm test-browser]
[wasm test-browser] [16:57:13] fail: [out of order message from the driver]: Timed out receiving message from renderer: 300.000
[wasm test-browser]
[wasm test-browser] [16:57:30] crit: OpenQA.Selenium.WebDriverTimeoutException: timeout: Timed out receiving message from renderer: 300.000
[wasm test-browser] (Session info: chrome=128.0.6613.0)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteWebDriver.set_Url(String value)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteNavigator.GoToUrl(String url)
[wasm test-browser] at Microsoft.DotNet.XHarness.CLI.Commands.Wasm.WasmBrowserTestRunner.RunTestsWithWebDriver(DriverService driverService, IWebDriver driver) in /_/src/Microsoft.DotNet.XHarness.CLI/Commands/WASM/Browser/WasmBrowserTestRunner.cs:line 78
[wasm test-browser] at Microsoft.DotNet.XHarness.CLI.Commands.Wasm.WasmTestBrowserCommand.InvokeInternal(ILogger logger) in /_/src/Microsoft.DotNet.XHarness.CLI/Commands/WASM/Browser/WasmTestBrowserCommand.cs:line 81
[wasm test-browser] at Microsoft.DotNet.XHarness.CLI.Commands.XHarnessCommand`1.Invoke(IEnumerable`1 arguments) in /_/src/Microsoft.DotNet.XHarness.CLI/Commands/XHarnessCommand.cs:line 145
[wasm test-browser] XHarness exit code: 71 (GENERAL_FAILURE)
Reason:
not know yet
- Log from a local run (different place in the code):
[wasm test-browser] info: Closing 2 browser tabs before setting the main tab to config page and quitting.
[wasm test-browser] fail: Error while closing browser: OpenQA.Selenium.NoSuchWindowException: no such window: target window already closed
[wasm test-browser] from unknown error: web view not found
[wasm test-browser] (Session info: chrome=128.0.6613.120)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteWebDriver.set_Url(String value)
[wasm test-browser] at OpenQA.Selenium.Remote.RemoteNavigator.GoToUrl(String url)
[wasm test-browser] at Microsoft.DotNet.XHarness.CLI.Commands.Wasm.WasmTestBrowserCommand.InvokeInternal(ILogger logger) in /_/src/Microsoft.DotNet.XHarness.CLI/Commands/WASM/Browser/WasmTestBrowserCommand.cs:line 134
we're trying to open
https://github.com/dotnet/xharness/blob/9e5f5af88fbb456a13f644b5a3d438f407562e89/src/Microsoft.DotNet.XHarness.CLI/Commands/WASM/Browser/WasmTestBrowserCommand.cs#L134
This would be fixed by dotnet/xharness#1265.
- [SOLVED] log from local run (different place in the code):
[wasm test-browser] info: Closing 2 browser tabs before setting the main tab to config page and quitting.
[wasm test-browser] fail: Error while closing browser: System.InvalidOperationException: Sequence contains no elements
[wasm test-browser] at System.Linq.ThrowHelper.ThrowNoElementsException()
[wasm test-browser] at Microsoft.DotNet.XHarness.CLI.Commands.Wasm.WasmTestBrowserCommand.InvokeInternal(ILogger logger)
[wasm test-browser] XHarness exit code: 0
Reason:
The offending code was added in dotnet/xharness#1221 but we did not hit this problem till now. New version of chrome might introduce a race, causing WindowHandles
to vary between the entrance to the loop and actual switching to it. The fix will be made on xharness side.
Fixed by: dotnet/xharness#1261 - it might also fix the other issue (if we were not closing the tabs properly, after a few tests were run it might have caused timeouts) but not necessarily.