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

3.2.0 regression - frequent hanging on CI #3728

Closed
lukeapage opened this issue Mar 17, 2019 · 6 comments
Closed

3.2.0 regression - frequent hanging on CI #3728

lukeapage opened this issue Mar 17, 2019 · 6 comments

Comments

@lukeapage
Copy link
Contributor

lukeapage commented Mar 17, 2019

Current behavior:

On almost every run (400 tests across 90 specs), cypress is hanging one of the specs.

Logs attached (obfuscated, shortened to one spec run)

cypress-hang-logs.txt

Versions

3.2.0 (works fine in 3.1.5)
Windows (tested a few versions)

P.s. we are a paying subscriber, but I am confused whether that means I should raise issues via email or here and which one gets the best chance at some attention.

@jennifer-shehane
Copy link
Member

jennifer-shehane commented Mar 18, 2019

Hey @lukeapage, you are always welcome to send an email to [email protected] as a paying subscriber. GitHub is a great place for issues that may be relevant to other users - or that other users may be able to help with!

Could you narrow down the test code to the smallest reproducible example where it hangs and provide the test code? Is there a specific command it's failing on?

Also, can you run the test locally and select the "electron" browser - as this will replicate the error as closely as possible from CI.

@jennifer-shehane jennifer-shehane added the stage: needs information Not enough info to reproduce the issue label Mar 18, 2019
@lukeapage
Copy link
Contributor Author

It’s not failing on a specific test.. it’s failing on random tests and it only happens on the 3.2.0 branch. From the look of the logs it is hanging on visit.

@jennifer-shehane
Copy link
Member

Yeah, I reviewed the logs, but don't see anything pointing to an obvious problem. We'll need some way to reproduce this - or look at the test code. Feel free to email information over if you don't want to post, but there's not much we can do with just this information.

@lukeapage
Copy link
Contributor Author

lukeapage commented Mar 19, 2019

@jennifer-shehane
I've spent alot of time (several days now) trying to get somewhere, both with #2938 and this issue.

Both issues seem to be intermittant and come down to the interplay between navigation and routes.
Its pretty complex and coffeescript is a total nightmare to follow with all the async

Comparing the logs, the only difference between a successful run and a run when it hangs is this:

cypress:server:routes Serving Cypress front-end by requested URL: /__/
cypress:server:server Getting remote state: { auth: null, props: { port: '80', tld: 'localhost', domain: '' }, origin: 'http://localhost', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null }
cypress:server:runner serving runner index.html with config { version: '3.2.0', platform: 'win32', arch: 'x64', projectName: 'App' }

Which comes from routes.coffee - so whats missing that kicks this off?

I am happy to share the test code.. but its basically visiting a url. and its failing 1/200 of the tests. For us thats nearly every run, since we have around 400 tests.
The other error intermittently causes a test failure - this causes a hang. Its more difficult to detect and restart when hangs occur, meaning this isn't something we can work around.

Anyway.. I am more than prepared to dig into the problem and help solve it.. but I am really stuck with how.. do you have some pre-release versions on some url? Then I can run the tests to bisect which commits caused the problem.
If you don't have that, I really really need to be able to get at logs telling us whats happening - You only log things happening on the server right? so when something goes wrong in the client like here, and it crashes so you don't even get a screenshot - what do we do?

You've marked this needs-information - but I'm really frustrated - how do I provide information?
If none of my ideas above make sense can you help guide where/how I should continue investigating this?

@jennifer-shehane
Copy link
Member

Yeah, is there any way to share the url you are visiting in the test? Feel free to email to [email protected] if you do not want to share publicly.

@lukeapage
Copy link
Contributor Author

After all that fuss, and after it failing 4 builds in a row when I first upgraded, it now won't reproduce.. I've done nearly 20 runs with no hanging.
I'll be contacting support about the visit timeout. Thanks and sorry this didn't turn out to be reproducible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants