-
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
[Cypress Webkit Ci Run] Test stuck during Ci run #24896
Comments
@TomdeHaan can you share the full DEBUG logs please? The tail end shared here doesn't contain much info about what could be causing Cypress to hang. |
I followed up with @TomdeHaan this AM to see what the status of logs were to help move this forward. |
@TomdeHaan could you or one of the team members try your current test suite on the binary below & if this issue isn't resolved also try on 10.7.0. Our team believes that this issue is more than likely related to #23830. Please let us know here any relevant outcomes. |
Different setup to OP's, but we have this same issue (after tests complete, the debug logs spam about the profiler until it times out), and for us it started on 10.11.0. If we stay on 10.10.0 we're fine, but any version above this, including 12.0.1, seems to trigger this problem. (To clarify different setup; I mean we're hitting this on Chrome, not WebKit, and are using Node 18. We did have the same issue on Node 16 when we initially tried the 10.11.0 upgrade prior to the Node 18 upgrade) |
@modern-sapien. Sorry, only saw this message on and of working day. Small update form our side. We will try your suggestion next working week, but we also did some investigation our selves:. Currently we are running Cypress inside Gitlab, using a docker images that we create ourselves, using this image: https://hub.docker.com/layers/cypress/browsers/latest/images/sha256-44f4157bfb319fccf537b590841315c9f777937f02f930e9d295e5cbdeb02381?context=explore. We also install the webkit browser from playwright as mentioned in the documents https://docs.cypress.io/guides/guides/launching-browsers#Browsers.
If you want to have more details, please contact us again. And we will update, after we tried your suggestion. |
@modern-sapien After the weekend, the team created an image with the version you provided. Question from the team, the title from your version suggests that this is without Webkit while we want to test with Webkit ofcourse. So that set us a little question mark. We first run the test without using the Cypress dashboard and the tests passed (no --group, --parallel --record). Then we activated all that again, and the same timeout as before. We attached the log file to this comment. |
@TomdeHaan How many times did you run without recording to the dashboard? Was each run successful? When recording to the dashboard, does it always hang or does it ever pass? Also are you using a custom preprocessor? I am wondering what Recap of the deep dive into the logs... I am noticing your second test is not sending the mocha pass event or the mocha test end event. It seems the test is either 1-finishing and we aren't correctly wrapping up the test (seems unlikely) or 2- the browser tab is hanging or crashing and test runner and the test is hanging waiting on the test results to be returned. Has anyone on the team been able to reproduce this locally when running the the docker image you use in CI? When able to repro, have you been able to run in run mode with the headed browser to try & observe what might be happening? |
@emilyrohrbough because of holiday vacations we can't check it currently. But we will come back on this very shortly. |
@TomdeHaan, we're going to look into this from the Cypress Cloud (dashboard) side too. The last run for the project is old enough that it's beyond our retention for the (potentially) helpful logs we might have on the Cloud side. Can you initiate another run of the project? Also, Emily's question above regarding whether this issue occurs when not recording to the dashboard would be helpful to answer too. We're just getting back into the swing of normal schedules following the holiday around here as well, but if you let us know when you've initiated another run, we'll dig into it on the Cloud side. Thanks! |
@rockhold, I started a new run connected to the Cypress Cloud. I will do some more testing and running today. I will keep you updated. |
@rockhold, @chrisbreiding, @emilyrohrbough. I did some testing myself today, these are the results until now. It did not matter if I run the test with, or without connection to the Cypress Cloud. The Webkit test did fail all the time with 7 runs total. In between I also update the cypress version 12.3.0, this did not influence to outcome. The test still failed. failed-log-with-cypress-cloud.txt |
We update our Cypress version to 12.3.0 and make use use of the cypress docker image: 12.3 based on: Now our Webkit tests could not connect to the browser. Cypress Cloud shows the message: Attached the error log. Pleas contact us if you need more information or extra runs. |
Our Dockerfile looks like this: FROM cypress/browsers:latest Mimick the running Jenkins environmentRUN groupadd --gid 36030 cypress install webkit for safariRUN npx playwright install-deps Create base directoryRUN mkdir /cypress && chown cypress /cypress USER cypress RUN npm install cypress@12.3.0 RUN cypress installRUN DISPLAY= xvfb-run -a /cypress/node_modules/.bin/cypress verify |
Chiming in here from the cloud side. Not much I can gather on my end. It does seem to be the first tests in both the webkit groups that never get far enough to report their results/tests. So @chrisbreiding not sure if knowing that it never calls |
I have a similar issue (#25431), my tests are hanging in AzureDevops CI, but it's a different scenario. I'm using a WebAssembly app that downloads a bunch of .dll files in the browser and it gets stuck while downloading them. They work just fine locally. Update: I just tested and as @me4502 said I can confirm that it works just fine with |
Summing up what we know so far:
@TomdeHaan To further narrow down this issue, the best thing would be if a reproduction could be shared with us, containing all required test code and app code to run these tests. If it's at all possible, sending a reproduction to support@cypress.io or sharing in this thread would be a huge step towards solving this. If it's not possible to share a repro, here's some more avenues you could explore. I'm hoping to discover the specific testing steps that are causing a hang after 10.11.0:
|
Hi all, @flotwig is there any news on this? We are seeing it in CircleCI, using the Cypress orb. Webkit hangs in CI but works fine locally (running a single spec file and test) With debugging on, I am seeing a profiler constantly running until it times out. It ran for 2 hrs until I aborted it
I am using the following code to install webkit on a cypress docker image:
Orb version is 2.2.0 |
We made contact with Brittani within Cypress regarding the sharing of our code. She will probably make contact with you about this. |
Hi all,
When we run test: We tried many proposed solutions, but they didn't work:
|
Please help, I have recorded the behavior of webkit and I am sending the file with the test for analysis |
Hi @ggrek1988. Is there anything special about your config? Would you be able to share that? |
@AtofStryker , uploading cypress.config.js and package.json |
@AtofStryker Hi, Maybe you noticed something that could help me run the tests? |
Also have issues with running webkit on CICD, test just hang randomly |
We just hit (and resolved) an issue with the symptom; we be left with the The source had ended with two I am not sure if Cypress outputs an warning of some kind when it encounters two, or if it should throw a hard failure, but after removing the errant file things started working. Please note: I am not Cypress expert, but I hope this is helpful to someone. Edit: It seems that one of the two |
@roadSurfer Can you write more about your solution? |
Hi, I solved the problem in my project |
Current behavior
We are currently experimenting with cross browser testing within the CiCd pipeline. Our main goal is to run Cypress with Webkit and Chrome and run it in multiple viewports.
We run Cypress on multiple machines within Gitlab, adding the --parallel to connect to the Cypress Dashboard. We found out that with every run the Webkit tests got stuck and eventually timed out.
Example of one of the files:
Example of what it looks like within Gitlab:
Example of timeout log within gitlab:
We enabled the debugger, and when analysing it, we see that the cypress:server:util:process_profiler keeps repeating itself in the end
Desired behavior
All tests run and finish correctly.
Test code to reproduce
Cypress Version
10.11.0
Node version
v16.14.2
Operating System
cypress-image/browsers:latest-cypress-10.11.0 docker image
Debug Logs
Other
No response
The text was updated successfully, but these errors were encountered: