Bug 297202
| Summary: | [WebDriver] REGRESSION(297613@main) Test suite deadlocks in call to `switchToBrowsingContext` in `switch_to_window/switch.py` dialog tests | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Lauro Moura <lmoura> |
| Component: | WebDriver | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | a_protyasha, bburg, bugs-noreply, lily_spiniolas, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=297670 https://bugs.webkit.org/show_bug.cgi?id=297723 |
||
Lauro Moura
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Lauro Moura
Per bug297670, which reverted 297613, this also affected other ports.
Lauro Moura
(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
<rdar://problem/158859509>