-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Occasional TCP.get errors causing failing specs since updating to Cypress 10 #22380
Comments
Hey @liambutler. Thank you for opening an issue and I'm sorry you are running into this. I am starting to take a look into this one and have a few ideas. In the meantime, would you be able to provide me with what version of Node is installed in Jenkins as well as what operating system? The error itself looks to be thrown from the cypress server here as you pointed out. From what I can see, we try to set the http buffer through the http proxy here, which uses lodash to clone the buffer object. It almost looks like this cloning process is failing due to some properties on the buffer object and shouldn't be directly related to lodash. I wonder if this is related to some of the issues we are seeing with the node TLS package in node version To get some additional information, would you be able to run cypress with some debug flags on in Jenkins? I think we should be able to get good information with setting the |
@liambutler what version of Cypress were you on before 10.x? I am curious if you used 9.7 before upgrading and noticed this issue, since we upgraded Electron then and might be a good signal for what the issue is/isn't. |
Hi @AtofStryker, thanks for looking into this!
|
OK perfect. It might be good to bump Node to version
Interesting. Do you still have the branches/commits using
@liambutler Should be from a failing/problematic job, since we want to be able to potentially see some options being set in the buffer to see if anything raises concern. |
@liambutler another thing we noticed that we found interesting is that the test seems to keep going, even though the failure is present it the logs, but the recorder is timing out. It might be good to add |
@AtofStryker I've updated the node version to Also got an example of the failure with the extra debug logs. I'll send them over |
Just to add a data point to your investigation - I've just run into the exact same error. Still on 9.7, running cypress in the official docker image |
Good to know. Thanks for the additional context, @gkreitz! I've sent them some verbose debug output with the failure, so hopefully it won't be too long before there's a fix |
Started to notice these as well on 10.1.0 when running on Electron. After switching to Chrome this error disappeared Workaround: // edit: fails on 10.2.0 as well |
I see the same with: 9.7.0 |
in that same issue #22291 there are people who use Chrome and Chromium and have the same problem, so it's not a workaround to use chrome |
For me changing to electron -> chromium improved the situation. |
We are thinking this has to do with the electron bump to v18 in Cypress 9.7. @liambutler what happens if you pass the |
@AtofStryker We're running the My only concern with this as a long-term workaround is that Chrome requires much more resources to run, or is that not correct? |
We are running into the same issue here, also on Jenkins. We are on version 9.7.0 and experience the same on v10. |
Same issue on GitHub Actions with latest release 10.2: https://github.com/ugent-library/lludss-interface-tests/runs/7000368233 (seen it on 10.1 as well) |
@liambutler the cypress/browsers:node16.13.2-chrome100-ff98 image in this case might work really well here.
It's possible, but it shouldn't require a ton more resources than headless chromium since they are based off the same engine. The goal here would be to have this a short-term work around to use chrome to circumvent the error while we work as a team to prioritize the Electron version 19 upgrade, which we are hoping solves some of these issues since it bumps the node version that fixes some of the known issues with the |
@verheyenkoen that unfortunately sounds correct. This is very likely an issue with the node version that is packages with electron |
@AtofStryker If you've got a build that I can access, I can run it on my Jenkins Job to give you some confidence |
Even if it is an intermittent reproduction it could be really useful. As long as we can hopefully see the error 😄 . And it completely goes away when you are running Chrome? What version of chrome is being used that completely eliminates the problem? |
@AtofStryker I guess you could just fork our repo then. It's public code and runs against a public website. Just create another Cypress dashboard project, change the projectId and configure the secure record token. |
@verheyenkoen that sounds like a plan! When I get some availability, I am going to give it a shot with forking, setting up CI, and updating configurations. This should give us a reproducible example. |
The same with |
Any progress? |
Same here, after upgrading from cypress 9.7 to 10.3 I've occasional failures:
Switching to chrome, hope it helps. // edit |
I am back on rotation this week and next and am hoping to take a look into this! |
So far I have forked @verheyenkoen 's project and have run In the meantime, would anyone be able to upgrade to Cypress |
@AtofStryker Haven't had the issue since the upgrade but we've only had 4 runs since (so the upstream of the test repo has been upgraded to 10.4). |
We currently are on the I plan to upgrade our Cypress to Once done, I will keep you posted (we use to have 5 to 10 runs a day, if the issue persists, it should be spotted quickly) |
Ok, folks! I deployed the I will keep an eye on the logs for another day or two, but it's very promising! I'll keep you posted! |
I can confirm the issue seems to be solved 😎. Since the upgrade to Thanks folks 😊👍 |
The same :) It has been fixed |
Great news to hear from those where the problem seems to resolve with the electron upgrade. We decided to close the issue as we believe it is resolved, but if it is still an issue for anyone please let us know! |
The issue is still occuring in our environment. We use It happens intermittently, approx. in one of twenty runs.
|
@StaNov it looks like the version of Cypress that is running here is |
@AtofStryker Thank you for your response. I tried to pull the image again and it really looks like a mistake on the Cypress side - there is version I tried the new one |
@StaNov glad that bumping to |
Hi @AtofStryker, I am sorry for creating this confusion. The issue was that I missed that we were installing Cypress via npm on the image, so the native |
Current behavior
I'm very confused by a Cypress/lodash error I've been encountering since updating to Cypress 10. The end result is that the test fails and the job times out on the Cypress Dashboard.
No screenshots or recording because the spec never completed. Here's the Cypress Dashboard error message:
And the lack of video/screenshots:
We're running our tests via Jenkins, with orchestration courtesy of the Cypress Dashboard. Here's the output for one of the affected jobs:
I don't use lodash at all in my Cypress tests. And given that this started after updating to Cypress 10, I don't believe the issue is due to the specs themselves.
In the stack trace above, I see mentions of Duplexify. We definitely aren't using that in our tests, so I suspect that this is something to do with refactored video/screenshot upload logic in the newest Cypress
Just a hunch, but I noticed that this file changed recently. It's mentioned in the stack trace and it also uses lodash. Could it be something to do with that?
Desired behavior
Desired outcome would be to no longer have this issue affecting our Jenkins runs and timing out on the Cypress Dashboard
Test code to reproduce
It'll be difficult for me to provide a reproducible example, as the issue seems dependent on Cypress'
TCP.get
not receiving a response from Cypress Dashboard.I'd be happy to turn on debugging for one of our Jenkins jobs so that you have some more information, though. Just let me know what to add to give you the info you need, and I'll email it to Cypress.
Cypress Version
10.1.0
Other
No response
The text was updated successfully, but these errors were encountered: