Random list of resolved IP addresses causes Remote Agent to start WebSocket on IPv6 instead of IPv4
Categories
(Remote Protocol :: CDP, defect, P1)
Tracking
(firefox-esr102 unaffected, firefox105 wontfix, firefox106 wontfix, firefox107 fixed)
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox105 | --- | wontfix |
firefox106 | --- | wontfix |
firefox107 | --- | fixed |
People
(Reporter: christopher.graham, Assigned: whimboo)
References
(Regression)
Details
(Keywords: regression, Whiteboard: [webdriver:m5])
Attachments
(3 files)
154.92 KB,
text/plain
|
Details | |
37.38 KB,
text/plain
|
Details | |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta-
|
Details | Review |
Steps to reproduce:
See detailed steps and logging in this Cypress.io Github bug: https://github.com/cypress-io/cypress/issues/23897
Close Cypress
Update to Firefox 105 (latest at the time I write this)
Open Cypress
Choose E2E
Select Firefox v105
Click Start E2E Testing in Firefox
Observe FF physically opens but the page is empty
Actual results:
FF physically opens but the page is empty
Expected results:
FF physically opens, Cypress is connected and Cypress UI is presented
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Reporter, which host is Cypress trying to connect to? Is it for Marionette or CDP? I assume the latter protocol? Note that there is bug 1769994 that got fixed for Firefox 105. Maybe you can provide a trace log by setting the following Firefox preference: remote.log.level=Trace
?
Comment 2•2 years ago
|
||
Looking at this, few things I noticed.
1 - from the logs at https://github.com/cypress-io/cypress/issues/23897 , we can see the following:
DevTools listening on ws://[::1]:51498/devtools/browser/c88abee1-0348-45c3-b4f1-a4ac971aa68b
2 - cypress forces network.proxy.allow_hijacking_localhost
to true and sets various proxy options
So as hinted by Henrik, it's quite possible that bug 1769994 regressed the behavior for cypress.
Assignee | ||
Comment 3•2 years ago
|
||
DevTools listening on ws://[::1]:51498/devtools/browser/c88abee1-0348-45c3-b4f1-a4ac971aa68b
This is interesting. Does Cypress only offer IPv6 on their platforms? Our WebSocket server is only spun up on [::1]
if no IPv4 is available. It would also be good to know to which IP address localhost
actually resolves on these hosts. If Cypress tries to connect to 127.0.0.1
it might cause problems because with IPv6 we do not have a dual-stack support yet.
Comment 4•2 years ago
|
||
Any update on this? Can we expect fix from FF, or we need to notify Cypress to make some refactor?
Assignee | ||
Comment 5•2 years ago
|
||
We are still missing details that we were asking for. If you could provide these (including your trace logs) that would be great.
Assignee | ||
Comment 6•2 years ago
|
||
I wonder if that's related to bug 1792647 and the required origins aren't allowed?
Zach, do you still watch Bugzilla and could help?
Hello All, let me paste may log from component tests execution. Everything is working fine for other browser ```
Reporter | ||
Comment 8•2 years ago
|
||
@Henrik I have set the log level but cannot locate whatever logs it is creating. Can you provide specific instructions on how to locate the resulting log files? "Maybe you can provide a trace log by setting the following Firefox preference: remote.log.level=Trace?"
Assignee | ||
Comment 9•2 years ago
|
||
Thank you for the log! Lets see:
So WebDriver BiDi is listening on stderr: WebDriver BiDi listening on ws://[::1]:56390
which is a IPv6 address and would also mean that no IPv4 is available. Ed, can you verify that? Do you have the capability to run with IPv4 enabled?
Later I can see a lot of the following output:
TCPConnectWrap.afterConnect [as oncomplete] (node:net:11
57:16) { errno: -4078, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 56390 } } +0ms
The client is trying to connect to the IPv4 local IP address which won't work given that we do not have dual-stack support yet. I assume that Cypress doesn't fetch the address from stderr nor the WebDriverActivePort
file in the Firefox profile.
I can see some solutions:
- Cypress should not only try on
127.0.0.1
but also on[::1]
or evenlocalhost
if no connection is possible on IPv4 with BiDi - Enable IPv4 in your CI environment to get Firefox to run its BiDi server on IPv4
- Add a preference to Firefox to force a specific network interface eg. IPv4 or IPv6 until we have dual-stack support
Note that the last option is not something that we can do for Firefox 105. It's something we can do as earliest for Firefox 106 if we agree on it.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 10•2 years ago
|
||
(In reply to christopher.graham from comment #8)
@Henrik I have set the log level but cannot locate whatever logs it is creating. Can you provide specific instructions on how to locate the resulting log files? "Maybe you can provide a trace log by setting the following Firefox preference: remote.log.level=Trace?"
Sorry, but I don't know Cypress and as such I cannot help. But I assume that you might have the same issue as Ed.
Reporter | ||
Comment 11•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #10)
(In reply to christopher.graham from comment #8)
@Henrik I have set the log level but cannot locate whatever logs it is creating. Can you provide specific instructions on how to locate the resulting log files? "Maybe you can provide a trace log by setting the following Firefox preference: remote.log.level=Trace?"
Sorry, but I don't know Cypress and as such I cannot help. But I assume that you might have the same issue as Ed.
Ahhh, I thought you were requesting FIREFOX logs which explains my confusion.
Assignee | ||
Comment 12•2 years ago
|
||
Over on bug 1792875 I'm working on a patch to store the WebSocket connection details in the Firefox user profile as WebDriverBiDi.json
. Maybe this could be a way for Cypress to read the host and port and connect to the right address.
Reporter | ||
Comment 13•2 years ago
|
||
Pertinent Cypress debug logging for starting Firefox 105 ```
Comment 14•2 years ago
|
||
So WebDriver BiDi is listening on stderr: WebDriver BiDi listening on ws://[::1]:56390 which is a IPv6 address and would also mean that no IPv4 is available. Ed, can you verify that? Do you have the capability to run with IPv4 enabled?
@whimboo I think this user actually does have both IPv4 and IPv6 enabled. Cypress assumes that it can use IPv4, and uses a hard-coded 127.0.0.1
in all of the places it connects to localhost
.
Given that this user was able to use Cypress with Firefox 104, and only on Firefox 105 do they see this issue, it seems like there could be a bug in Firefox 105 causing it to listen on [::1] even though 127.0.0.1 is available. bug 1769994 does sound like it could be the related change.
Furthermore, multiple developers on our team have been able to reproduce this issue locally by following https://github.com/cypress-io/cypress/issues/23897, and they definitely have IPv4 on their systems.
On our end, we'll look in using WebDriverActivePort, failing that we'll work around this by trying to connect on [::1] as a fallback.
Assignee | ||
Comment 15•2 years ago
|
||
(In reply to Zach Bloomquist from comment #14)
@whimboo I think this user actually does have both IPv4 and IPv6 enabled. Cypress assumes that it can use IPv4, and uses a hard-coded
127.0.0.1
in all of the places it connects tolocalhost
.
Ok, so I wonder if in some cases the order of the resolved local IP addresses might be in a reversed order and it's the IPv6 address which is reported first. Given that we use the first resolved IP address this might be the reason. And given that dual-stack is not supported yet the 127.0.0.1
address cannot be used at all.
Given that this user was able to use Cypress with Firefox 104, and only on Firefox 105 do they see this issue, it seems like there could be a bug in Firefox 105 causing it to listen on [::1] even though 127.0.0.1 is available. bug 1769994 does sound like it could be the related change.
Furthermore, multiple developers on our team have been able to reproduce this issue locally by following https://github.com/cypress-io/cypress/issues/23897, and they definitely have IPv4 on their systems.
Do you see this all on a given platform or across platforms?
On our end, we'll look in using WebDriverActivePort, failing that we'll work around this by trying to connect on [::1] as a fallback.
Please also see bug 1792875. Without the host information included the file won't help right now. So you will most likely have to wait or parse the stderr output for now to fetch the used host.
Assignee | ||
Comment 16•2 years ago
|
||
I've checked back with the network team and our DNS resolution is based on platform APIs. The results that we get back are actually random and we do not sort them.
I would suggest that we explicitly check for IPv4 (127.0.0.1) and use it if present. We should still be able to get this fix into the 106 release.
Assignee | ||
Comment 17•2 years ago
•
|
||
I've generated some try builds with a patch which will prefer IPv4 over IPv6. Could you please see if that works? Just click the green Ba
job for your platform and check the lower pane that will open for the target.zip
or target.tar.gz
file.
It would be great to also get an excerpt from the trace log so that we can make sure the order of resolved IP addresses is reversed. On all of our systems it looks like:
[task 2022-10-04T10:49:55.584Z] 10:49:55 INFO - GECKO(1632) | 1664880595583 RemoteAgent TRACE Found local addresses: 127.0.0.1,[::1].
[task 2022-10-04T10:49:55.592Z] 10:49:55 INFO - GECKO(1632) | WebDriver BiDi listening on ws://127.0.0.1:9222
Assignee | ||
Comment 18•2 years ago
|
||
Comment 19•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #17)
I've tried running the try build on MacOS, but it gives me a "'Firefox Nightly.app' is damaged and can’t be opened. You should move it to the Trash." error. Is that a common issue with try builds that has a workaround or is it possible the build is broken?
Assignee | ||
Comment 20•2 years ago
|
||
Given that all the CI test jobs are passing I don't see that something is broken with those builds. But the jobs in CI run on x86_64 machines and not M1. I assume that you have an M1? I do myself and indeed can see the process crashing. I'll file a bug for that - thanks for informing us!
I submitted a new try build now which is doing a full build of Firefox. This will take a bit but it will be available here in max 60 minutes:
https://treeherder.mozilla.org/jobs?repo=try&revision=3a992fd1ec955929f4d69f8246c35786cf0c35c3
Reporter | ||
Comment 21•2 years ago
|
||
(In reply to Chris Breiding from comment #19)
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #17)
I've tried running the try build on MacOS, but it gives me a "'Firefox Nightly.app' is damaged and can’t be opened. You should move it to the Trash." error. Is that a common issue with try builds that has a workaround or is it possible the build is broken?
The nightly app is unsigned so you need to press-and-hold the option
key, then right-click to open and be trusting.
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #17)
I've generated some try builds with a patch which will prefer IPv4 over IPv6. Could you please see if that works? Just click the green
Ba
job for your platform and check the lower pane that will open for thetarget.zip
ortarget.tar.gz
file.It would be great to also get an excerpt from the trace log so that we can make sure the order of resolved IP addresses is reversed. On all of our systems it looks like:
[task 2022-10-04T10:49:55.584Z] 10:49:55 INFO - GECKO(1632) | 1664880595583 RemoteAgent TRACE Found local addresses: 127.0.0.1,[::1]. [task 2022-10-04T10:49:55.592Z] 10:49:55 INFO - GECKO(1632) | WebDriver BiDi listening on ws://127.0.0.1:9222
Confirmed that Cypress UI 10.7.0 on Mac can successfully open the FF 107 Nightly build and execute tests.
Assignee | ||
Comment 22•2 years ago
|
||
(In reply to christopher.graham from comment #21)
Confirmed that Cypress UI 10.7.0 on Mac can successfully open the FF 107 Nightly build and execute tests.
Thanks! Good to know. Would you mind attaching the trace log as well or just the two lines that you get similar to mine above?
Comment 23•2 years ago
|
||
Confirmed that Cypress launches the Firefox Nightly full build successfully on my M1. Here are the trace log lines:
2022-10-04T14:24:00.957Z cypress:launcher:browsers firefox stdout: 1664893440956 RemoteAgent TRACE Found local addresses: [::1],127.0.0.1.
2022-10-04T14:24:00.959Z cypress:launcher:browsers firefox stderr: WebDriver BiDi listening on ws://127.0.0.1:50406
Reporter | ||
Comment 24•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #22)
(In reply to christopher.graham from comment #21)
Confirmed that Cypress UI 10.7.0 on Mac can successfully open the FF 107 Nightly build and execute tests.
Thanks! Good to know. Would you mind attaching the trace log as well or just the two lines that you get similar to mine above?
Here is the Firefox 107 Nighty related logging available via the Cypress logs. If this isn't what you're looking for please provide specific directions on how to get whatever it is you need.
cypress:server:browsers:firefox launch in firefox {
'/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive'
cypress:launcher:browsers launching browser { browser: { name: 'firefox', family: 'firefox', channel: 'nightly', displayName: 'Firefox Nightly', version: '107.0a1', path: '/Applications/Firefox Nightly.app/Contents/MacOS/firefox', minSupportedVersion: 86, majorVersion: '107', isHeaded: true, isHeadless: false }, url: 'about:blank' } +0ms
cypress:launcher:browsers spawning browser with args { args: [ 'about:blank', '-marionette', '-new-instance', '-foreground', '-start-debugger-server', '-no-remote', '--remote-debugging-port=49208', '-profile', '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive' ] } +0ms
cypress:launcher:browsers firefox stdout: 1664896673238 RemoteAgent DEBUG WebDriver BiDi enabled
cypress:launcher:browsers firefox stdout: 1664896673239 RemoteAgent DEBUG Setting recommended pref datareporting.policy.dataSubmissionPolicyAccepted to false +1ms
cypress:launcher:browsers firefox stdout: 1664896673330 Marionette INFO Listening on port 49210
cypress:launcher:browsers firefox stdout: Started devtools server on 49209 +24ms
cypress:launcher:browsers firefox stderr: 2022-10-04 11:17:53.399 plugin-container[25802:271295] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stderr: 2022-10-04 11:17:53.405 plugin-container[25802:271295] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stderr: 2022-10-04 11:17:53.406 plugin-container[25802:271315] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:server:browsers:firefox-util firefox: navigating page with webdriver +0ms
cypress:launcher:browsers firefox stderr: WebDriver BiDi listening on ws://127.0.0.1:49208 +255ms
cypress:launcher:browsers firefox stdout: 1664896673662 CDP DEBUG Waiting for initial application window +1ms
cypress:launcher:browsers firefox stdout: 1664896673671 Marionette DEBUG Accepted connection 0 from 127.0.0.1:49224 +9ms
cypress:launcher:browsers firefox stdout: 1664896673672 Marionette DEBUG Accepted connection 1 from 127.0.0.1:49227 +2ms
cypress:launcher:browsers firefox stdout: 1664896673804 Marionette DEBUG Closed connection 0 +134ms
cypress:launcher:browsers firefox stdout: 1664896673840 Marionette DEBUG 1 -> [0,1,"WebDriver:NewSession",{"acceptInsecureCerts":true}] +33ms
cypress:launcher:browsers firefox stdout: 1664896673841 RemoteAgent WARN TLS certificate errors will be ignored for this session +1ms
cypress:launcher:browsers firefox stdout: 1664896673841 Marionette DEBUG Waiting for initial application window +0ms
cypress:launcher:browsers firefox stderr: [2022-10-04T15:17:53Z ERROR xulstore::statics] error migrating data: JSON error: invalid type: integer `1280`, expected a string at line 1 column 71 +90ms
cypress:launcher:browsers firefox stderr: DevTools listening on ws://127.0.0.1:49208/devtools/browser/d4c4eb9e-ff99-49d9-9aa3-625a2107b145 +1s
cypress:launcher:browsers firefox stdout: 1664896675302 Marionette DEBUG 1 <- [1,1,null,{"sessionId":"0e243669-6bc2-46d7-91ba-5a21279aadae","capabilities":{"browserName":"firefox","browserVersion":"107.0a1","platformName":"mac","acceptInsecureCerts":true,"pageLoadStrategy":"normal","setWindowRect":true,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"strictFileInteractability":false,"unhandledPromptBehavior":"dismiss and notify","moz:accessibilityChecks":false,"moz:buildID":"20221004040915","moz:debuggerAddress":"127.0.0.1:49208","moz:headless":false,"moz:platformVersion":"21.6.0","moz:processID":25799,"moz:profile":"/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}] +5ms
cypress:launcher:browsers firefox stdout: 1664896675308 Marionette DEBUG 1 -> [0,2,"Addon:Install",{"path":"/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressExtension","temporary":true}] +7ms
cypress:launcher:browsers firefox stdout: 1664896675344 RemoteAgent INFO Perform WebSocket upgrade for incoming connection from 127.0.0.1:49237 +35ms
cypress:launcher:browsers firefox stdout: 1664896675345 RemoteAgent DEBUG CDPConnection 1b79cc21-8861-4490-965c-01d8465cf0b3 accepted
cypress:launcher:browsers firefox stdout: 1664896675364 RemoteAgent INFO Perform WebSocket upgrade for incoming connection from 127.0.0.1:49239
cypress:launcher:browsers firefox stderr: JavaScript warning: moz-extension://ea169fd5-d2ae-4d36-adb3-cf05415cf954/background.js, line 5566: unreachable code after return statement +37ms
cypress:launcher:browsers firefox stdout: 1664896675427 Marionette DEBUG 1 <- [1,2,null,{"value":"automation-extension@cypress.io"}] +25ms
cypress:launcher:browsers firefox stdout: 1664896675433 Marionette DEBUG 1 -> [0,3,"WebDriver:Navigate",{"url":"https://staging.rstudioacademy.com/__/"}] +6ms
Assignee | ||
Comment 25•2 years ago
|
||
(In reply to Chris Breiding from comment #23)
2022-10-04T14:24:00.957Z cypress:launcher:browsers firefox stdout: 1664893440956 RemoteAgent TRACE Found local addresses: [::1],127.0.0.1. 2022-10-04T14:24:00.959Z cypress:launcher:browsers firefox stderr: WebDriver BiDi listening on ws://127.0.0.1:50406
That's exactly what I needed and confirms my theory. I'll have to update my patch once more today but I believe that with one of the Nightly builds tomorrow we should have it fixed.
Assignee | ||
Comment 26•2 years ago
|
||
Christopher, if you could do a final check with the following try build I would appreciate. Thanks!
Comment 27•2 years ago
|
||
Hi Henrik. Do you have a point value for this bug?
Reporter | ||
Comment 28•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #26)
Christopher, if you could do a final check with the following try build I would appreciate. Thanks!
Confirmed that build works.
cypress:server:browsers:firefox firefox directories { path: '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive', cacheDir: '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressCache', extensionDest: '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressExtension' } +93ms
cypress:server:browsers:firefox launch in firefox {
'/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive'
cypress:launcher:browsers launching browser { browser: { name: 'firefox', family: 'firefox', channel: 'nightly', displayName: 'Firefox Nightly', version: '107.0a1', path: '/Applications/Firefox Nightly.app/Contents/MacOS/firefox', minSupportedVersion: 86, majorVersion: '107', isHeaded: true, isHeadless: false }, url: 'about:blank' } +0ms
cypress:launcher:browsers spawning browser with args { args: [ 'about:blank', '-marionette', '-new-instance', '-foreground', '-start-debugger-server', '-no-remote', '--remote-debugging-port=59880', '-profile', '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive' ] } +1ms
cypress:launcher:browsers firefox stderr: 2022-10-04 16:30:22.522 plugin-container[36759:381472] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stderr: 2022-10-04 16:30:22.532 plugin-container[36759:381472] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stderr: 2022-10-04 16:30:22.534 plugin-container[36759:381481] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stdout: 1664915422603 RemoteAgent DEBUG WebDriver BiDi enabled +70ms
cypress:launcher:browsers firefox stdout: 1664915422604 RemoteAgent DEBUG CDP enabled +0ms
cypress:launcher:browsers firefox stdout: 1664915422604 Marionette INFO Marionette enabled +0ms
cypress:launcher:browsers firefox stdout: 1664915422606 RemoteAgent DEBUG Setting recommended pref datareporting.policy.dataSubmissionPolicyAccepted to false +3ms
cypress:launcher:browsers firefox stdout: 1664915422644 Marionette INFO Listening on port 59882
cypress:launcher:browsers firefox stdout: Started devtools server on 59881 +83ms
cypress:server:browsers:firefox-util firefox: navigating page with webdriver +0ms
cypress:launcher:browsers firefox stderr: WebDriver BiDi listening on ws://127.0.0.1:59880 +302ms
cypress:launcher:browsers firefox stdout: 1664915423032 CDP DEBUG Waiting for initial application window +0ms
cypress:launcher:browsers firefox stdout: 1664915423077 Marionette DEBUG Accepted connection 0 from 127.0.0.1:59908 +45ms
cypress:launcher:browsers firefox stdout: 1664915423080 Marionette DEBUG Accepted connection 1 from 127.0.0.1:59911 +3ms
cypress:launcher:browsers firefox stdout: 1664915423084 Marionette DEBUG Closed connection 0 +5ms
cypress:launcher:browsers firefox stdout: 1664915423135 Marionette DEBUG 1 -> [0,1,"WebDriver:NewSession",{"acceptInsecureCerts":true}] +50ms
cypress:launcher:browsers firefox stdout: 1664915423138 RemoteAgent WARN TLS certificate errors will be ignored for this session +4ms
cypress:launcher:browsers firefox stdout: 1664915423139 Marionette DEBUG Waiting for initial application window +0ms
cypress:launcher:browsers firefox stderr: [2022-10-04T20:30:23Z ERROR xulstore::statics] error migrating data: JSON error: invalid type: integer `1280`, expected a string at line 1 column 71 +147ms
cypress:launcher:browsers firefox stderr: DevTools listening on ws://127.0.0.1:59880/devtools/browser/7020a778-02a8-4a14-b755-171d0f8a083e +2s
cypress:launcher:browsers firefox stdout: 1664915424801 Marionette DEBUG 1 <- [1,1,null,{"sessionId":"eae01b4a-fff0-4943-94a6-66adb2695767","capabilities":{"browserName":"firefox","browserVersion":"107.0a1","platformName":"mac","acceptInsecureCerts":true,"pageLoadStrategy":"normal","setWindowRect":true,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"strictFileInteractability":false,"unhandledPromptBehavior":"dismiss and notify","moz:accessibilityChecks":false,"moz:buildID":"20221004194042","moz:debuggerAddress":"127.0.0.1:59880","moz:headless":false,"moz:platformVersion":"21.6.0","moz:processID":36754,"moz:profile":"/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}] +7ms
cypress:launcher:browsers firefox stdout: 1664915424806 Marionette DEBUG 1 -> [0,2,"Addon:Install",{"path":"/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressExtension","temporary":true}] +6ms
cypress:launcher:browsers firefox stdout: 1664915424876 RemoteAgent INFO Perform WebSocket upgrade for incoming connection from 127.0.0.1:59924 +69ms
cypress:launcher:browsers firefox stdout: 1664915424878 RemoteAgent DEBUG CDPConnection e8485148-ebab-4bfd-a9b5-a06ac4a9a936 accepted +2ms
cypress:launcher:browsers firefox stdout: 1664915424879 CDP ERROR Invalid browser preferences for CDP. Set "fission.webContentIsolationStrategy"to 0 and "fission.bfcacheInParent" to false before Firefox starts. +1ms
cypress:launcher:browsers firefox stderr: JavaScript warning: moz-extension://ea169fd5-d2ae-4d36-adb3-cf05415cf954/background.js, line 5566: unreachable code after return statement +11ms
cypress:launcher:browsers firefox stdout: 1664915424891 RemoteAgent INFO Perform WebSocket upgrade for incoming connection from 127.0.0.1:59926 +1ms
cypress:launcher:browsers firefox stdout: 1664915424892 RemoteAgent DEBUG CDPConnection 587c3cf2-d905-4c29-a1ad-067c7a29dc6c accepted
cypress:launcher:browsers firefox stdout: 1664915424911 Marionette DEBUG 1 <- [1,2,null,{"value":"automation-extension@cypress.io"}] +18ms
cypress:launcher:browsers firefox stdout: 1664915424917 Marionette DEBUG 1 -> [0,3,"WebDriver:Navigate",{"url":"https://staging.rstudioacademy.com/__/"}] +5ms
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 29•2 years ago
|
||
Reporter | ||
Comment 30•2 years ago
|
||
Glad I was able to help. Any ideas on when a production build with this fix will be released?
Assignee | ||
Comment 31•2 years ago
|
||
First the patch will land on Nightly and it would be good to get further feedback from other clients that nothing regressed. As such we will not immediately request uplift for 106 beta. It's unlikely that it will be fixed for a 105 minor release.
Comment 32•2 years ago
|
||
Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ee42b4258d4a [remote] Prefer IPv4 over IPv6 for resolved IP addresses of localhost. r=webdriver-reviewers,jgraham
Comment 33•2 years ago
|
||
bugherder |
Assignee | ||
Comment 34•2 years ago
|
||
Zach, we would appreciate if your colleagues could verify the fix in a recent Firefox Nightly build first before I request uplift for 106 beta. Changes like these are a bit risky if we cannot get the scenario covered by automated tests. As earlier this confirmation can be done as more likely the chance that we could get it into the 106 final release. Otherwise users would have to wait until 107. Thanks a lot.
Christopher, if you could do another check as well with a Nightly build that would be fantastic!
Reporter | ||
Comment 35•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #34)
Zach, we would appreciate if your colleagues could verify the fix in a recent Firefox Nightly build first before I request uplift for 106 beta. Changes like these are a bit risky if we cannot get the scenario covered by automated tests. As earlier this confirmation can be done as more likely the chance that we could get it into the 106 final release. Otherwise users would have to wait until 107. Thanks a lot.
Christopher, if you could do another check as well with a Nightly build that would be fantastic!
I'm not seeing a newer nightly build than 107.0a1 which is the version I validated with a couple days ago.
Assignee | ||
Comment 36•2 years ago
|
||
You have verified the fix with a try build but not the official Nightly build of Firefox. The latter one you can download at:
https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly
Reporter | ||
Comment 37•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #36)
You have verified the fix with a try build but not the official Nightly build of Firefox. The latter one you can download at:
https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly
Confirmed, still works.
cypress:server:browsers:firefox firefox directories { path: '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive', cacheDir: '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressCache', extensionDest: '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressExtension' } +106ms
cypress:server:browsers:firefox launch in firefox {
'/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive'
cypress:launcher:browsers launching browser { browser: { name: 'firefox', family: 'firefox', channel: 'nightly', displayName: 'Firefox Nightly', version: '107.0a1', path: '/Applications/Firefox Nightly.app/Contents/MacOS/firefox', minSupportedVersion: 86, majorVersion: '107', isHeaded: true, isHeadless: false }, url: 'about:blank' } +0ms
cypress:launcher:browsers spawning browser with args { args: [ 'about:blank', '-marionette', '-new-instance', '-foreground', '-start-debugger-server', '-no-remote', '--remote-debugging-port=55105', '-profile', '/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive' ] } +0ms
cypress:launcher:browsers firefox stderr: 2022-10-06 09:23:13.982 plugin-container[64534:622044] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stderr: 2022-10-06 09:23:14.001 plugin-container[64534:622044] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stderr: 2022-10-06 09:23:14.002 plugin-container[64534:622051] nil host used in call to allowsSpecificHTTPSCertificateForHost
cypress:launcher:browsers firefox stdout: 1665062594041 RemoteAgent DEBUG WebDriver BiDi enabled +39ms
cypress:launcher:browsers firefox stdout: 1665062594042 RemoteAgent DEBUG CDP enabled +1ms
cypress:launcher:browsers firefox stdout: 1665062594042 Marionette INFO Marionette enabled +0ms
cypress:launcher:browsers firefox stdout: 1665062594044 RemoteAgent DEBUG Setting recommended pref datareporting.policy.dataSubmissionPolicyAccepted to false +2ms
cypress:launcher:browsers firefox stdout: 1665062594094 Marionette INFO Listening on port 55107 +51ms
cypress:launcher:browsers firefox stdout: 1665062594095 Marionette DEBUG Marionette is listening +0ms
cypress:launcher:browsers firefox stdout: Started devtools server on 55106 +72ms
cypress:launcher:browsers firefox stderr: WebDriver BiDi listening on ws://127.0.0.1:55105 +146ms
cypress:launcher:browsers firefox stdout: 1665062594313 CDP DEBUG Waiting for initial application window +1ms
cypress:launcher:browsers firefox stderr: [2022-10-06T13:23:14Z ERROR xulstore::statics] error migrating data: JSON error: invalid type: integer `1280`, expected a string at line 1 column 71 +178ms
cypress:server:browsers:firefox-util firefox: navigating page with webdriver +0ms
cypress:launcher:browsers firefox stdout: 1665062594912 Marionette DEBUG Accepted connection 0 from 127.0.0.1:55193 +421ms
cypress:launcher:browsers firefox stdout: 1665062594916 Marionette DEBUG Accepted connection 1 from 127.0.0.1:55196 +3ms
cypress:launcher:browsers firefox stdout: 1665062594930 Marionette DEBUG Closed connection 0 +14ms
cypress:launcher:browsers firefox stdout: 1665062595398 Marionette DEBUG 1 -> [0,1,"WebDriver:NewSession",{"acceptInsecureCerts":true}] +468ms
cypress:launcher:browsers firefox stdout: 1665062595400 RemoteAgent WARN TLS certificate errors will be ignored for this session +2ms
cypress:launcher:browsers firefox stdout: 1665062595401 Marionette DEBUG Waiting for initial application window +1ms
cypress:launcher:browsers firefox stderr: DevTools listening on ws://127.0.0.1:55105/devtools/browser/b20cca18-a8fd-4262-b0b7-011d724c11a5 +543ms
cypress:launcher:browsers firefox stdout: 1665062595948 Marionette DEBUG 1 <- [1,1,null,{"sessionId":"8a0f541d-0659-4172-a14a-4cf2b5cb6199","capabilities":{"browserName":"firefox","browserVersion":"107.0a1","platformName":"mac","acceptInsecureCerts":true,"pageLoadStrategy":"normal","setWindowRect":true,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"strictFileInteractability":false,"unhandledPromptBehavior":"dismiss and notify","moz:accessibilityChecks":false,"moz:buildID":"20221006093717","moz:debuggerAddress":"127.0.0.1:55105","moz:headless":false,"moz:platformVersion":"21.6.0","moz:processID":64516,"moz:profile":"/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}] +6ms
cypress:launcher:browsers firefox stdout: 1665062595953 Marionette DEBUG 1 -> [0,2,"Addon:Install",{"path":"/Users/cgraham/Library/Application Support/Cypress/cy/production/browsers/firefox-nightly/interactive/CypressExtension","temporary":true}] +3ms
cypress:launcher:browsers firefox stderr: JavaScript warning: moz-extension://ea169fd5-d2ae-4d36-adb3-cf05415cf954/background.js, line 5566: unreachable code after return statement +98ms
cypress:launcher:browsers firefox stdout: 1665062596052 RemoteAgent INFO Perform WebSocket upgrade for incoming connection from 127.0.0.1:55209 +1ms
cypress:launcher:browsers firefox stdout: 1665062596055 RemoteAgent DEBUG CDPConnection 85726ff2-e0bf-4eb5-8f61-a8364d3f67c9 accepted
cypress:launcher:browsers firefox stdout: 1665062596067 Marionette DEBUG 1 <- [1,2,null,{"value":"automation-extension@cypress.io"}] +12ms
cypress:launcher:browsers firefox stdout: 1665062596069 RemoteAgent INFO Perform WebSocket upgrade for incoming connection from 127.0.0.1:55211 +3ms
cypress:launcher:browsers firefox stdout: 1665062596072 RemoteAgent DEBUG CDPConnection eca11520-288d-4c74-989b-1fc8ce4a4b1e accepted
Comment 38•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #34)
Also confirmed the latest Nightly build works. Ran it against a number of our driver tests and it all looks good.
2022-10-06T13:41:33.920Z cypress:launcher:browsers firefox stdout: 1665063693919 RemoteAgent TRACE Available local IP addresses: [::1], 127.0.0.1
2022-10-06T13:41:33.923Z cypress:launcher:browsers firefox stderr: WebDriver BiDi listening on ws://127.0.0.1:53275
Comment 39•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #34)
Zach, we would appreciate if your colleagues could verify the fix in a recent Firefox Nightly build first before I request uplift for 106 beta.
^ Chris is a fellow Cypress contributor, looks looks like it's working for both him and Christopher. Thank you for getting a fix in for this so quickly, Henrik.
Assignee | ||
Comment 40•2 years ago
|
||
Thanks everyone! This gives me confidence that we can request an uplift and git it fixed for you in the 106 release.
Zach, to notice regressions earlier and to be able to get them fixed before a new release is out do you see a way for Cypress to have at least one of their test jobs in CI (maybe even a new independent job) running against a Firefox Beta release?
Assignee | ||
Comment 41•2 years ago
|
||
Comment on attachment 9297101 [details]
Bug 1792088 - [remote] Prefer IPv4 over IPv6 for resolved IP addresses of localhost.
Beta/Release Uplift Approval Request
- User impact if declined: User of Cypress and maybe other CDP/WebDriver BiDi clients might not be able to connect to Firefox if DNS resolution on their systems return IPv6 addresses for
localhost
first. - Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Medium
- Why is the change risky/not risky? (and alternatives if risky): This patch does no longer use the first returned IP address but pre-filters for IPv4 IPs first. Only if no IPv4 address is available our Remote Agent would fallback to IPV6.
I've set medium risk because we do not have a way to get this tested given that this is all OS dependent and none of our systems return IPv6 first.
I would still appreciate an uplift given that the patch relaxes the formerly very strict behavior and allows automation for quite a lot of customers.
- String changes made/needed: no
- Is Android affected?: Yes
Comment 42•2 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #40)
Zach, to notice regressions earlier and to be able to get them fixed before a new release is out do you see a way for Cypress to have at least one of their test jobs in CI (maybe even a new independent job) running against a Firefox Beta release?
Definitely, we do this for Chrome already, would be nice to do it for Firefox as well. I pulled this from our backlog to work on: https://github.com/cypress-io/cypress/issues/19921
Comment 43•2 years ago
|
||
Comment on attachment 9297101 [details]
Bug 1792088 - [remote] Prefer IPv4 over IPv6 for resolved IP addresses of localhost.
We have no beta left and this is not safe enough and with enough impact to land directly in RC, sorry.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Updated•1 year ago
|
Description
•