Closed Bug 1761751 Opened 2 years ago Closed 1 year ago

Document required Firefox preferences when WebDriver is used with CDP enabled

Categories

(Testing :: geckodriver, task, P1)

Default
task
Points:
1

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: whimboo, Assigned: whimboo)

References

Details

(Whiteboard: [webdriver:m6])

Attachments

(1 file)

Right now geckodriver always disables Fission when starting Firefox if the moz:debuggerAddress capability has been set:

https://searchfox.org/mozilla-central/rev/b671b6390e88672543b9b7c82132be655bd98856/testing/geckodriver/src/capabilities.rs#496-504

But since bug 1601245 has been fixed (Firefox 95) there is no actual need to enforce that anymore. So why not just removing the code that sets the fission.autostart pref to false?

Given that we cannot easily add a version check right now (see bug 1751369) we would have to remove it completely and add documentation in how to use the CDP implementation? If not we would have to wait for bug 1751369 getting fixed or seeing the ESR91 release unsupported which will still take a while.

As discussed there is no good solution at the moment. As best we should wait until Selenium has moved away from using CDP and instead implements the logging feature by utilizing WebDriver BiDi.

Also note that when were are going to remove the Fission preference now we would have to set the preferences for fission.bfcacheInParent and fission.webContentIsolationStrategy instead.

Depends on: 1753991
Priority: -- → P3

This removal actually took place via bug 1813981.

(In reply to Henrik Skupin [:whimboo][⌚️UTC+1] from comment #1)

Also note that when were are going to remove the Fission preference now we would have to set the preferences for fission.bfcacheInParent and fission.webContentIsolationStrategy instead.

Yes, this is still a question and we may have to discuss about it. As it looks like at least the Ruby binding for Selenium seems to require CDP's navigation events. Per se I would suggest that no binding should use anything else than logging at most. As long that's not done the binding might have to set the fission.autostart preference to false. Or better set the two preferences from above if that helps as well.

Lets discuss in the triage meeting.

Whiteboard: [webdriver:triage]
Depends on: 1813981

As discussed we are not planning to disable Fission again for our WebDriver implementation. Instead clients using CDP should set the following preferences:

  • fission.bfcacheInParent to false
  • fission.webContentIsolationStrategy to 0

We will have to mention that as a known issue in the geckodriver release notes. Clients should definitely not forget to remove this preferences once CDP support has been removed.

Summary: Remove enforcing Fission disabled for CDP in geckodriver → Document required Firefox preferences when WebDriver is used with CDP enabled
Whiteboard: [webdriver:triage]
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Points: --- → 1
Priority: P3 → P1

Also it would be good to know why it's failing. Therefor I've asked the Selenium team for a test case. Once I got that I'll get started on this bug.

Whiteboard: [webdriver:m6]
Depends on: 1819965

I actually forgot to update the bug with the latest findings. I actually got a simplified testcase from the Selenium project, and was able to reproduce the hang. As result I filed bug 1819965 which now has fixed the broken message manager handling in executeInChild() which basically affected all domains.

As further discussed with the Selenium maintainers they are going to deprecate the usage of CDP for Firefox in steps. The deprecation for the Java bindings already got landed because it was heavily affected by this hang.

It might still be good to update the geckodriver release notes for the 0.32.1 and 0.32.2 releases to inform our users of this side-effect and in case they are affected that the following preferences need to be set:

// Temporarily force disable BFCache in parent (https://bit.ly/bug-1732263)
'fission.bfcacheInParent': false,

// Force all web content to use a single content process
'fission.webContentIsolationStrategy': 0,
No longer depends on: 1751369

Going to block given that the added information should be in the release notes.

Blocks: 1814050

Marking as leave-open for an upstream update as well.

Keywords: leave-open
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/eacb1eb51d60
[geckodriver] Update release notes for known site-isolation issues with CDP. r=webdriver-reviewers,jgraham DONTBUILD

I've updated the upstream release notes for 0.32.2 and 0.32.1 but not the CHANGES.md yet. This will be done together with the upcoming doc changes for bug 1819377.

Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Keywords: leave-open
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: