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

Legit CITGM failure? #20858

Closed
BridgeAR opened this issue May 20, 2018 · 8 comments
Closed

Legit CITGM failure? #20858

BridgeAR opened this issue May 20, 2018 · 8 comments
Labels
stream Issues and PRs related to the stream subsystem.

Comments

@BridgeAR
Copy link
Member

ws fails on OS-X and on AIX on citgm all the time and this was originally reported in 2017 here: websockets/ws#1118

Example failure: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1418/nodes=osx1010/testReport/junit/(root)/citgm/ws_v5_1_1/

   262 passing (4s)
   1 failing
   1) PerMessageDeflate
        #compress and #decompress
          doesn't call the callback twice when `maxPayload` is exceeded:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

It seemed this the failures started after adding the destroy functions. This was meant to be fixed later on but it seems like that fix did indeed not fix the issue or it was introduced later on again / a similar issue was introduced.

@nodejs/streams @mcollina @lpinca PTAL

I am not sure if this is an issue with Node.js core or with the ws module.

@BridgeAR BridgeAR added the stream Issues and PRs related to the stream subsystem. label May 20, 2018
@gireeshpunathil
Copy link
Member

I can debug these failures, but would appreciate if someone who knows CIGTM can tell me what test it is doing - is it just npm install ws and npm test ? or something else / more?

/cc @nodejs/platform-macos @nodejs/platform-aix

@Trott
Copy link
Member

Trott commented May 21, 2018

@gireeshpunathil I think it downloads the tarball for current ws (5.1.1 as of this writing), untars it, goes into the source directory, does npm install (so that it has everything it needs to run tests), and does npm test.

@gireeshpunathil
Copy link
Member

this is upto where I was able to reach, I don't think this is the route CIGTM took, so stopping here and see if @lpinca has better insights.

#npm test

> [email protected] test /Users/gireeshpunathil/Desktop/node_modules/ws/rec/package
> eslint . && nyc --reporter=html --reporter=text mocha test/*.test.js


Oops! Something went wrong! :(

ESLint: 4.19.1.
ESLint couldn't find a configuration file. To set up a configuration file for this project, please run:

    eslint --init

#eslint --init

? How would you like to configure ESLint? Use a popular style guide
? Which style guide do you want to follow? 
  Google 
  Airbnb 
❯ Standard 
#eslint --init
? How would you like to configure ESLint? Inspect your JavaScript file(s)
? Which file(s), path(s), or glob(s) should be examined? /Users/gireeshpunathil/Desktop/node_modules/ws/
? What format do you want your config file to be in? JavaScript
? Are you using ECMAScript 6 features? Yes
? Are you using ES6 modules? Yes
? Where will your code run? Node
? Do you use JSX? No

(/Users/gireeshpunathil/Desktop/node_modules/ws/node_modules/mkdirp/bin/cmd.js:13:5) Parsing error: 'return' outside of function
...

@Trott
Copy link
Member

Trott commented May 21, 2018

@gireeshpunathil Sorry! I should have been more specific. You need to download the source tarball, not the release tarball. Otherwise it won't have things like the ESLint config file. Try the tarball at https://github.com/websockets/ws/archive/5.1.1.tar.gz.

@gireeshpunathil
Copy link
Member

no problem, thanks - now I get exactly what is caught in the CI console:

  262 passing (4s)
  1 failing

  1) PerMessageDeflate
       #compress and #decompress
         doesn't call the callback twice when `maxPayload` is exceeded:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

will see what happened inside.

@lpinca
Copy link
Member

lpinca commented May 21, 2018

Yes, that failure is legit on Node.js 10. That test was calling zlib.flush() after calling zlib.close() and that no longer works in Node.js 10, not sure why it was working in older versions.

I fixed it in websockets/ws@bb9c21c but didn't publish a new version yet.

@gireeshpunathil
Copy link
Member

thanks @lpinca ! I was breaking my head on why the compress way not throwing error while decompress does etc.

I hope we can close this out then.

@apapirovski
Copy link
Member

Sounds like we can close this. Feel free to reopen if I misunderstood something and this still needs attention in Node.js core.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stream Issues and PRs related to the stream subsystem.
Projects
None yet
Development

No branches or pull requests

5 participants