NEW297202
[WebDriver] REGRESSION(297613@main) Test suite deadlocks in call to `switchToBrowsingContext` in `switch_to_window/switch.py` dialog tests
https://bugs.webkit.org/show_bug.cgi?id=297202
Summary [WebDriver] REGRESSION(297613@main) Test suite deadlocks in call to `switchTo...
Lauro Moura
Reported 2025-08-10 20:29:50 PDT
Test case: imported/w3c/webdriver/tests/classic/switch_to_window/switch.py::test_finds_exising_user_prompt_after_tab_switch[alert] Test steps: * Creates a new window (but does not select it) - Works * Executes an alert in the current window - Works * Switches to the new window (asserts success) - Works * Checks if we raise `NoSuchAlertException` - Works * Closes new window - Works * Switches back to the original window (asserts success) - TIMEOUT * Accepts the dialog opened in the original window - Never reached Then, during teardown, we get another identical `switchToBrowsingContext` call to the one that timed out before. As we don't have a timeout here, the test run gets stuck and we deadlock. Checking the IPC, in these timing out calls, the `WebAutomationSessionProxy::FocusFrame` message never reaches its handler despite `WebAutomationSession` sending it. Still need to check the internals of `sendWithAsyncReplyToProcessContainingFrameWithoutDestinationIdentifier` to see where it's dropping it. It also might be alert-related, as removing the alert call skips the timeout and the teardown issue.
Attachments
Lauro Moura
Comment 1 2025-08-21 07:23:18 PDT
Per bug297670, which reverted 297613, this also affected other ports.
Lauro Moura
Comment 2 2025-08-21 07:23:56 PDT
(In reply to Lauro Moura from comment #1) > Per bug297670, which reverted 297613, this also affected other ports. I meant, it reverted 297613@main
Radar WebKit Bug Importer
Comment 3 2025-08-21 07:24:15 PDT
Note You need to log in before you can comment on or make changes to this bug.