Skip to content
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

Closed
liambutler opened this issue Jun 17, 2022 · 40 comments
Closed
Labels
pkg/electron This is due to an issue in the packages/electron directory

Comments

@liambutler
Copy link

liambutler commented Jun 17, 2022

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:

Screenshot 2022-06-17 at 15 56 28

And the lack of video/screenshots:
Screenshot 2022-06-17 at 15 57 59

We're running our tests via Jenkins, with orchestration courtesy of the Cypress Dashboard. Here's the output for one of the affected jobs:

12:20:37  Cannot read properties of null (reading 'reading')
12:20:37  TypeError: Cannot read properties of null (reading 'reading')
12:20:37      at TCP.get [as reading] (node:_tls_wrap:634:27)
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2730:27
12:20:37      at arrayEach (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
12:20:37      at baseClone (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
12:20:37      at arrayEach (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
12:20:37      at baseClone (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
12:20:37      at arrayEach (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
12:20:37      at baseClone (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
12:20:37      at arrayEach (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
12:20:37      at baseClone (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
12:20:37      at arrayEach (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
12:20:37      at baseClone (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
12:20:37      at Function.cloneDeep (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/lodash/lodash.js:11156:14)
12:20:37      at HttpBuffers.set (/app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/proxy/lib/http/util/buffers.js:26:32)
12:20:37      at Http.setBuffer (/app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/proxy/lib/http/index.js:221:29)
12:20:37      at NetworkProxy.setHttpBuffer (/app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/proxy/lib/network-proxy.js:19:19)
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/server/lib/server-e2e.js:248:103
12:20:37      at /app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/network/lib/concat-stream.js:22:16
12:20:37      at ConcatStream.<anonymous> (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/concat-stream/index.js:37:43)
12:20:37      at ConcatStream.emit (node:events:402:35)
12:20:37      at ConcatStream.emit (node:domain:475:12)
12:20:37      at finishMaybe (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:630:14)
12:20:37      at endWritable (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:638:3)
12:20:37      at ConcatStream.Writable.end (/app/.cache/Cypress/10.0.2/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:594:41)
12:20:37      at Duplexify.onend (/app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/server/node_modules/readable-stream/lib/_stream_readable.js:646:10)
12:20:37      at Object.onceWrapper (node:events:509:28)
12:20:37      at Duplexify.emit (node:events:390:28)
12:20:37      at Duplexify.emit (node:domain:475:12)
12:20:37      at endReadableNT (/app/.cache/Cypress/10.0.2/Cypress/resources/app/packages/server/node_modules/readable-stream/lib/_stream_readable.js:1094:12)
12:20:37      at processTicksAndRejections (node:internal/process/task_queues:83:21)
12:20:37      at runNextTicks (node:internal/process/task_queues:65:3)
12:20:37      at processImmediate (node:internal/timers:437:9)

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

@AtofStryker AtofStryker self-assigned this Jun 17, 2022
@AtofStryker AtofStryker added the stage: investigating Someone from Cypress is looking into this label Jun 17, 2022
@AtofStryker
Copy link
Contributor

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 16.13.2, which is the version Cypress currently uses due to electron (ref #22291)

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 DEBUG variable to DEBUG=cypress:server:server-e2e,cypress-verbose:proxy:http,cypress:proxy:http:util:buffers npx cypress run …. Could you take the console output from that and attach it to this issue?

@AtofStryker
Copy link
Contributor

@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.

@liambutler
Copy link
Author

Hi @AtofStryker, thanks for looking into this!

  • Node version for our Jenkins is v16.5.0. We're running it on Ubuntu, but not sure which version. Let me know if you need me to find out.
  • Previous Cypress versions I was using were 9.5.4 and 9.6.1 (I maintain tests for a couple of projects). Never updated to 9.7, instead jumped straight to 10.
  • I'll run a job with those DEBUG commands and send it over via email. Does it need to be from a failing job, or will any suffice?

@AtofStryker
Copy link
Contributor

Hi @AtofStryker, thanks for looking into this!

  • Node version for our Jenkins is v16.5.0. We're running it on Ubuntu, but not sure which version. Let me know if you need me to find out.

OK perfect. It might be good to bump Node to version 16.13.2 if you can to keep the version of node synced with Cypress, since some processes use the system version. I don't think this is causing your issue, but it might be good to rule out anything that might be causing a hiccup.

  • Previous Cypress versions I was using were 9.5.4 and 9.6.1 (I maintain tests for a couple of projects). Never updated to 9.7, instead jumped straight to 10.

Interesting. Do you still have the branches/commits using 9.5.4 and 9.6.1? I wonder what happens if you create a branch off the commit right before you upgraded to v10, update to 9.7, and run in CI. Would you be able to do that or would that process be too involved?

  • I'll run a job with those DEBUG commands and send it over via email. Does it need to be from a failing job, or will any suffice?

@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.

@AtofStryker AtofStryker added stage: new issues and removed stage: investigating Someone from Cypress is looking into this labels Jun 17, 2022
@cypress-bot cypress-bot bot added stage: awaiting response Potential fix was proposed; awaiting response and removed stage: new issues labels Jun 17, 2022
@AtofStryker
Copy link
Contributor

@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 cypress:server:record* to the DEBUG logs as well. We are thinking the issue is trying to clone the buffer/TLSSocket when we cache the initial request for cy.visit. We might not actually need to clone this buffer object any longer, and am exploring removing the clone to see if there are any downstream impacts.

@liambutler
Copy link
Author

@AtofStryker I've updated the node version to 16.13.2. Was simple enough as we're running our cypress machines in containers.

Also got an example of the failure with the extra debug logs. I'll send them over

@gkreitz
Copy link

gkreitz commented Jun 20, 2022

@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.

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 cypress/included:9.7.0.

@liambutler
Copy link
Author

liambutler commented Jun 20, 2022

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

@filipsnopek
Copy link

filipsnopek commented Jun 20, 2022

Started to notice these as well on 10.1.0 when running on Electron. After switching to Chrome this error disappeared
Another issue with maybe same root cause? #22291

Workaround:
Run tests using Chrome

// edit: fails on 10.2.0 as well

@GreenRover
Copy link

I see the same with: 9.7.0

@natapg
Copy link

natapg commented Jun 21, 2022

Started to notice these as well on 10.1.0 when running on Electron. After switching to Chrome this error disappeared Another issue with maybe same root cause? #22291

Workaround: Run tests using Chrome

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

@GreenRover
Copy link

For me changing to electron -> chromium improved the situation.
With electron 4 of 5 tests are showing the issue.
With chromium now 4 tests passed in row

@mjhenkes mjhenkes added the pkg/electron This is due to an issue in the packages/electron directory label Jun 21, 2022
@cypress-bot cypress-bot bot added stage: investigating Someone from Cypress is looking into this and removed stage: awaiting response Potential fix was proposed; awaiting response labels Jun 21, 2022
@AtofStryker
Copy link
Contributor

We are thinking this has to do with the electron bump to v18 in Cypress 9.7. @liambutler what happens if you pass the --browser chrome flag into your CI pipeline with cypress run? Does the issue still persist?

@liambutler
Copy link
Author

@AtofStryker We're running the cypress/base:16.13.2 image, so I'll need to try with one of the images that includes Chrome. I'll get back to you tomorrow

My only concern with this as a long-term workaround is that Chrome requires much more resources to run, or is that not correct?

@Viserius
Copy link

Viserius commented Jun 22, 2022

We are running into the same issue here, also on Jenkins. We are on version 9.7.0 and experience the same on v10.
The exceptions seem to be very random in nature. Sometimes, the exception does not occur, and sometimes it does on the same test.
Although the issue seems random, it happens often enough to make the e2e tests unreliable at this time

@verheyenkoen
Copy link
Contributor

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)

@AtofStryker
Copy link
Contributor

@AtofStryker We're running the cypress/base:16.13.2 image, so I'll need to try with one of the images that includes Chrome. I'll get back to you tomorrow

@liambutler the cypress/browsers:node16.13.2-chrome100-ff98 image in this case might work really well here.

My only concern with this as a long-term workaround is that Chrome requires much more resources to run, or is that not correct?

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 node_tls wrapper. That being said, I want to be sure that this is something comfortable with you.

@AtofStryker
Copy link
Contributor

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)

@verheyenkoen that unfortunately sounds correct. This is very likely an issue with the node version that is packages with electron 18.x, which Cypress uses. Likely the fix for this would be for us to upgrade Electron to 19.x, which bumps the node version that hopefully fixes some of the issues we are seeing. That being said, a reproduction would be incredibly useful here so we could test it with the upgrade to confirm our suspicions.

@liambutler
Copy link
Author

That being said, a reproduction would be incredibly useful here so we could test it with the upgrade to confirm our suspicions.

@AtofStryker If you've got a build that I can access, I can run it on my Jenkins Job to give you some confidence

@AtofStryker
Copy link
Contributor

@AtofStryker We don't have it consistently. Around one in 5 or 10 runs.

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?

@verheyenkoen
Copy link
Contributor

verheyenkoen commented Jun 23, 2022

@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.

@AtofStryker
Copy link
Contributor

@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.

@zgrybus
Copy link

zgrybus commented Jul 8, 2022

The same with "cypress": "^10.2.0" and node 16.14.0 version :(

@zgrybus
Copy link

zgrybus commented Jul 30, 2022

Any progress?
@AtofStryker

@hydrapolic
Copy link

hydrapolic commented Jul 30, 2022

Same here, after upgrading from cypress 9.7 to 10.3 I've occasional failures:

18:10:34    ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
18:10:34    │ Cypress:        10.3.1                                                                         │
18:10:34    │ Browser:        Electron 100 (headless)                                                        │
18:10:34    │ Node Version:   v16.14.2 (/usr/local/bin/node)                                                 │
18:10:34    └────────────────────────────────────────────────────────────────────────────────────────────────┘
18:11:37  Cannot read properties of null (reading 'reading')
18:11:37  TypeError: Cannot read properties of null (reading 'reading')
18:11:37      at TCP.get [as reading] (node:_tls_wrap:634:27)
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2730:27
18:11:37      at arrayEach (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
18:11:37      at baseClone (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
18:11:37      at arrayEach (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
18:11:37      at baseClone (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
18:11:37      at arrayEach (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
18:11:37      at baseClone (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
18:11:37      at arrayEach (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
18:11:37      at baseClone (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
18:11:37      at arrayEach (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
18:11:37      at baseClone (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
18:11:37      at Function.cloneDeep (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/lodash/lodash.js:11156:14)
18:11:37      at HttpBuffers.set (/root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/proxy/lib/http/util/buffers.js:26:32)
18:11:37      at Http.setBuffer (/root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/proxy/lib/http/index.js:226:29)
18:11:37      at NetworkProxy.setHttpBuffer (/root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/proxy/lib/network-proxy.js:19:19)
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/server/lib/server-e2e.js:248:103
18:11:37      at /root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/network/lib/concat-stream.js:22:16
18:11:37      at ConcatStream.<anonymous> (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/concat-stream/index.js:37:43)
18:11:37      at ConcatStream.emit (node:events:402:35)
18:11:37      at ConcatStream.emit (node:domain:475:12)
18:11:37      at finishMaybe (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:630:14)
18:11:37      at endWritable (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:638:3)
18:11:37      at ConcatStream.Writable.end (/root/.cache/Cypress/10.3.1/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:594:41)
18:11:37      at Duplexify.onend (/root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/server/node_modules/readable-stream/lib/_stream_readable.js:646:10)
18:11:37      at Object.onceWrapper (node:events:509:28)
18:11:37      at Duplexify.emit (node:events:390:28)
18:11:37      at Duplexify.emit (node:domain:475:12)
18:11:37      at endReadableNT (/root/.cache/Cypress/10.3.1/Cypress/resources/app/packages/server/node_modules/readable-stream/lib/_stream_readable.js:1094:12)
18:11:37      at processTicksAndRejections (node:internal/process/task_queues:83:21)
18:11:37      at runNextTicks (node:internal/process/task_queues:65:3)
18:11:37      at processImmediate (node:internal/timers:437:9)

Switching to chrome, hope it helps.

// edit
The tests seem stable now with Chrome.

@mjhenkes mjhenkes assigned AtofStryker and unassigned mjhenkes Aug 2, 2022
@AtofStryker
Copy link
Contributor

Any progress? @AtofStryker

I am back on rotation this week and next and am hoping to take a look into this!

@AtofStryker
Copy link
Contributor

So far I have forked @verheyenkoen 's project and have run yarn test inside the project directory about 15 times. I haven't run into the issue yet, but I am also on node version 16.15.0. I'm going to downgrade to 16.14.2 and try to continue to reproduce the issue.

In the meantime, would anyone be able to upgrade to Cypress 10.4.0 and try this out? #22291 was related to a known issue that was patched in Node 16.14.2, and am wondering if the subprocess Electron is using is the packaged node version (see #22291 (comment)), (which I believe is 16.13.2 from #22775). However, I haven't been able to find an issue in node that would suggest this is an issue, but want to possibly rule this hunch out.

@verheyenkoen
Copy link
Contributor

@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).

@pfiorentino-zendesk
Copy link

We currently are on the 10.3.1 and the issue is still happening.

I plan to upgrade our Cypress to 10.4.0 very soon (early next week 🙏).
I originally planned to do it today, but... heh... you know... day-to-day emergencies ¯_(ツ)_/¯

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)

@cypress-bot cypress-bot bot added stage: awaiting response Potential fix was proposed; awaiting response and removed stage: investigating Someone from Cypress is looking into this labels Aug 8, 2022
@pfiorentino-zendesk
Copy link

Ok, folks!

I deployed the 10.4.0 on our side yesterday in the morning (9 AM UTC).
We had 15 green runs and 0 red since.

I will keep an eye on the logs for another day or two, but it's very promising!

I'll keep you posted!

@pfiorentino-zendesk
Copy link

I can confirm the issue seems to be solved 😎.

Since the upgrade to v10.4.0 we had 35+ green runs, and 0 red.

Thanks folks 😊👍

@zgrybus
Copy link

zgrybus commented Aug 12, 2022

The same :) It has been fixed

@AtofStryker
Copy link
Contributor

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!

@AtofStryker AtofStryker removed their assignment Aug 13, 2022
@AtofStryker AtofStryker removed the stage: awaiting response Potential fix was proposed; awaiting response label Aug 13, 2022
@StaNov
Copy link

StaNov commented Sep 14, 2022

The issue is still occuring in our environment.

We use cypress/included:10.7.0 image, running in GitLab CI, both on-premise runners and Kubernetes runner in Google Cloud.

It happens intermittently, approx. in one of twenty runs.

TypeError: Cannot read properties of null (reading 'reading')
    at TCP.get [as reading] (node:_tls_wrap:634:27)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2730:27
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at Function.cloneDeep (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:11156:14)
    at HttpBuffers.set (/root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/proxy/lib/http/util/buffers.js:28:32)
    at Http.setBuffer (/root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/proxy/lib/http/index.js:211:29)
    at NetworkProxy.setHttpBuffer (/root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/proxy/lib/network-proxy.js:19:19)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/server/lib/server-e2e.js:241:103
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/network/lib/concat-stream.js:24:16
    at ConcatStream.<anonymous> (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/concat-stream/index.js:37:43)
    at ConcatStream.emit (node:events:402:35)
    at finishMaybe (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:630:14)
    at afterWrite (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:492:3)
    at processTicksAndRejections (node:internal/process/task_queues:85:21)
    at runNextTicks (node:internal/process/task_queues:65:3)
    at processImmediate (node:internal/timers:437:9)
TypeError: Cannot read properties of null (reading 'reading')
    at TCP.get [as reading] (node:_tls_wrap:634:27)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2730:27
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2733:34
    at arrayEach (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:530:11)
    at baseClone (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:2727:7)
    at Function.cloneDeep (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/lodash/lodash.js:11156:14)
    at HttpBuffers.set (/root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/proxy/lib/http/util/buffers.js:28:32)
    at Http.setBuffer (/root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/proxy/lib/http/index.js:211:29)
    at NetworkProxy.setHttpBuffer (/root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/proxy/lib/network-proxy.js:19:19)
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/server/lib/server-e2e.js:241:103
    at /root/.cache/Cypress/9.7.0/Cypress/resources/app/packages/network/lib/concat-stream.js:24:16
    at ConcatStream.<anonymous> (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/concat-stream/index.js:37:43)
    at ConcatStream.emit (node:events:402:35)
    at finishMaybe (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:630:14)
    at afterWrite (/root/.cache/Cypress/9.7.0/Cypress/resources/app/node_modules/readable-stream/lib/_stream_writable.js:492:3)
    at processTicksAndRejections (node:internal/process/task_queues:85:21)
    at runNextTicks (node:internal/process/task_queues:65:3)
    at processImmediate (node:internal/timers:437:9)

@AtofStryker
Copy link
Contributor

@StaNov it looks like the version of Cypress that is running here is 9.7.0 from the cache. Have you tried clearing the cached installs or verify 10.7.0 is installed?

@StaNov
Copy link

StaNov commented Sep 15, 2022

@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 9.7.0 pushed as 10.7.0.

I tried the new one 10.8.0 and it looks that it works so far.

@AtofStryker
Copy link
Contributor

@StaNov glad that bumping to 10.8.0 fixes your issue. It does look like 10.7.0 is installed in the image. I'm interested to see if you run into this problem again, but it seems odd that a cached 9.7.0 would exist inside a fresh docker image. Either way, if you run into the issue again, please let us know!

@StaNov
Copy link

StaNov commented Sep 16, 2022

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 10.7.0 got replaced by 9.7.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg/electron This is due to an issue in the packages/electron directory
Projects
None yet
Development

No branches or pull requests