nodejs / citgm

Canary in the Gold Mine
https://www.npmjs.com/package/citgm
Other
569 stars 148 forks source link

Flakey vinyl-fs? #537

Open phated opened 6 years ago

phated commented 6 years ago

I believe vinyl-fs has been flagged as flakey but we've encountered some issues that probably would have been caught by citgm. Can we work to get off the flakey list?

MylesBorins commented 6 years ago

If it consistently passes on all platforms + versions we can remove it

Alternatively we can scope the flakeyness to the appropriate version / platform rather than blanket flake. I can dig into doing this soon

phated commented 6 years ago

I believe it's due to one of our tests needing certain file permissions. Ping me if you need to discuss anything.

al-k21 commented 6 years ago

CI: https://ci.nodejs.org/job/citgm-smoker-nobuild/257

I am only seeing it failing on WIN, rerun also failed.

Suggest marking it flaky on WIN until this get fixed.

al-k21 commented 6 years ago

I am seeing a lot of failures across various platforms:

10:22:02 error:                     | 223 passing (25s)                                                                                                                                            
10:22:02 error:                     | 18 pending                                                                                                                                                   
10:22:02 error:                     | 1 failing                                                                                                                                                    
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     | 1) .dest() with custom owner calls fchown when the uid and/or gid are provided on the vinyl stat:                                                            
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     | Uncaught Error: Expected 0 to equal 1                                                                                                                        
10:22:02 error:                     | + expected - actual                                                                                                                                          
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     | -0                                                                                                                                                           
10:22:02 error:                     | +1                                                                                                                                                           
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     | at assert (node_modules/expect/lib/assert.js:29:9)                                                                                                           
10:22:02 error:                     | at Expectation.toEqual (node_modules/expect/lib/Expectation.js:81:30)                                                                                        
10:22:02 error:                     | at assert (test/dest-owner.js:49:38)                                                                                                                         
10:22:02 error:                     | at ConcatStream.<anonymous> (node_modules/concat-stream/index.js:36:43)                                                                                      
10:22:02 error:                     | at finishMaybe (node_modules/readable-stream/lib/_stream_writable.js:620:14)                                                                                 
10:22:02 error:                     | at endWritable (node_modules/readable-stream/lib/_stream_writable.js:628:3)                                                                                  
10:22:02 error:                     | at ConcatStream.Writable.end (node_modules/readable-stream/lib/_stream_writable.js:584:41)                                                                   
10:22:02 error:                     | at Pumpify.onend (node_modules/readable-stream/lib/_stream_readable.js:577:10)                                                                               
10:22:02 error:                     | at endReadableNT (node_modules/readable-stream/lib/_stream_readable.js:1000:12)                                                                              
10:22:02 error:                     | at _combinedTickCallback (internal/process/next_tick.js:80:11)                                                                                               
10:22:02 error:                     | at process._tickCallback (internal/process/next_tick.js:104:9)                                                                                               
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     |                                                                                                                                                              
10:22:02 error:                     | npm ERR! Test failed.  See above for more details.                                                                                                           
10:22:02 error: done                | The smoke test has failed.

NOTE: WIN failures https://github.com/nodejs/citgm/issues/537#issuecomment-368887232 is a different error

console log ```sh 08:50:52 verbose: | > node-gyp rebuild 08:50:52 verbose: node-report npm-install:| c:\workspace\citgm-smoker-nobuild\citgm_tmp\e1d5eb59-f200-40e4-a370-4180ff54fbd3\node-report>if not defined npm_config_node_gyp (node "C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) 08:50:52 verbose: node-report npm-install:| 08:50:53 warn: node-report npm-install:| gyp 08:50:53 warn: node-report npm-install:| ERR! configure error 08:50:53 warn: | gyp 08:50:53 warn: node-report npm-install:| ERR! stack Error: win-x86/node.lib local checksum 4430db08ff6f37db93aab418fe0f53b8df6792a3af6207a37a339c8988a71fb8 not match remote c4edece2c0aa68e816c4e067f397eb12e9d0c81bb37b3d349dbaf47cf246b0b7 08:50:53 warn: | gyp ERR! stack at deref (C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\node-gyp\lib\install.js:266:20) 08:50:53 warn: | gyp ERR! stack at Request. (C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\node-gyp\lib\install.js:384:24) 08:50:53 warn: | gyp ERR! stack at emitOne (events.js:121:20) 08:50:53 warn: | gyp ERR! stack at Request.emit (events.js:211:7) 08:50:53 warn: | gyp 08:50:53 warn: node-report npm-install:| ERR! stack at IncomingMessage. (C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\request\request.js:1085:12) 08:50:53 warn: | gyp ERR! stack at Object.onceWrapper (events.js:313:30) 08:50:53 warn: | gyp ERR! stack at emitNone (events.js:111:20) 08:50:53 warn: | gyp ERR! stack at IncomingMessage.emit (events.js:208:7) 08:50:53 warn: | gyp ERR! stack at endReadableNT (_stream_readable.js:1055:12) 08:50:53 warn: | gyp ERR! stack at _combinedTickCallback (internal/process/next_tick.js:138:11) 08:50:53 warn: | gyp ERR! System Windows_NT 6.1.7601 08:50:53 warn: | gyp ERR! command "C:\\workspace\\citgm-smoker-nobuild\\node\\node.exe" "C:\\workspace\\citgm-smoker-nobuild\\node\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" 08:50:53 warn: | gyp ERR! cwd c:\workspace\citgm-smoker-nobuild\citgm_tmp\e1d5eb59-f200-40e4-a370-4180ff54fbd3\node-report 08:50:53 warn: | gyp ERR! node -v v8.9.4 08:50:53 warn: | gyp 08:50:53 warn: node-report npm-install:| ERR! node-gyp -v v3.6.2 08:50:53 warn: | gyp ERR! not ok 08:50:53 warn: node-report npm-install:| npm 08:50:53 warn: node-report npm-install:| ERR! code ELIFECYCLE 08:50:53 warn: | npm ERR! errno 1 08:50:53 warn: node-report npm-install:| npm 08:50:53 warn: node-report npm-install:| ERR! node-report@2.2.1 install: `node-gyp rebuild` 08:50:53 warn: | npm ERR! Exit status 1 08:50:53 warn: | npm ERR! 08:50:53 warn: | npm ERR! Failed at the node-report@2.2.1 install script. 08:50:53 warn: | npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 08:50:53 warn: node-report npm-install:| 08:50:53 warn: node-report npm-install:| npm ERR! A complete log of this run can be found in: 08:50:53 warn: | npm ERR! c:\workspace\citgm-smoker-nobuild\citgm_tmp\npm-cache\_logs\2018-02-27T13_50_59_522Z-debug.log 08:50:53 error: failure | Install Failed 08:50:54 warn: flaky module(s) | 08:50:54 warn: module name: | node-report 08:50:54 warn: version: | 2.2.1 08:50:54 warn: error: | Install Failed 08:50:54 warn: error: | undefined 08:50:54 warn: | > node-report@2.2.1 install c:\workspace\citgm-smoker-nobuild\citgm_tmp\e1d5eb59-f200-40e4-a370-4180ff54fbd3\node-report 08:50:54 warn: | > node-gyp rebuild 08:50:54 warn: | 08:50:54 warn: | 08:50:54 warn: | c:\workspace\citgm-smoker-nobuild\citgm_tmp\e1d5eb59-f200-40e4-a370-4180ff54fbd3\node-report>if not defined npm_config_node_gyp (node "C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) 08:50:54 warn: | 08:50:54 warn: | gyp ERR! configure error 08:50:54 warn: | gyp ERR! stack Error: win-x86/node.lib local checksum 4430db08ff6f37db93aab418fe0f53b8df6792a3af6207a37a339c8988a71fb8 not match remote c4edece2c0aa68e816c4e067f397eb12e9d0c81bb37b3d349dbaf47cf246b0b7 08:50:54 warn: | gyp ERR! stack at deref (C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\node-gyp\lib\install.js:266:20) 08:50:54 warn: | gyp ERR! stack at Request. (C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\node-gyp\lib\install.js:384:24) 08:50:54 warn: | gyp ERR! stack at emitOne (events.js:121:20) 08:50:54 warn: | gyp ERR! stack at Request.emit (events.js:211:7) 08:50:54 warn: | gyp ERR! stack at IncomingMessage. (C:\workspace\citgm-smoker-nobuild\node\node_modules\npm\node_modules\request\request.js:1085:12) 08:50:54 warn: | gyp ERR! stack at Object.onceWrapper (events.js:313:30) 08:50:54 warn: | gyp ERR! stack at emitNone (events.js:111:20) 08:50:55 warn: | gyp ERR! stack at IncomingMessage.emit (events.js:208:7) 08:50:55 warn: | gyp ERR! stack at endReadableNT (_stream_readable.js:1055:12) 08:50:55 warn: | gyp ERR! stack at _combinedTickCallback (internal/process/next_tick.js:138:11) 08:50:55 warn: | gyp ERR! System Windows_NT 6.1.7601 08:50:55 warn: | gyp ERR! command "C:\\workspace\\citgm-smoker-nobuild\\node\\node.exe" "C:\\workspace\\citgm-smoker-nobuild\\node\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" 08:50:55 warn: | gyp ERR! cwd c:\workspace\citgm-smoker-nobuild\citgm_tmp\e1d5eb59-f200-40e4-a370-4180ff54fbd3\node-report 08:50:55 warn: | gyp ERR! node -v v8.9.4 08:50:55 warn: | gyp ERR! node-gyp -v v3.6.2 08:50:55 warn: | gyp ERR! not ok 08:50:55 warn: | npm ERR! code ELIFECYCLE 08:50:55 warn: | npm ERR! errno 1 08:50:55 warn: | npm ERR! node-report@2.2.1 install: `node-gyp rebuild` 08:50:55 warn: | npm ERR! Exit status 1 08:50:55 warn: | npm ERR! 08:50:55 warn: | npm ERR! Failed at the node-report@2.2.1 install script. 08:50:55 warn: | npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 08:50:55 warn: | 08:50:55 warn: | npm ERR! A complete log of this run can be found in: 08:50:55 warn: | npm ERR! c:\workspace\citgm-smoker-nobuild\citgm_tmp\npm-cache\_logs\2018-02-27T13_50_59_522Z-debug.log 08:50:55 info: done | The smoke test has passed. ```

CI: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker-pipeline/16/console
phated commented 6 years ago

Vinyl-fs interacts with the filesystem so you need to provide proper interactions with the fs (fchown in your log).

The windows error looks like an install error. Maybe rebuilding native modules with chokidar (uses pre-gyp, I believe).

phated commented 6 years ago

Can we get this fixed? I just noticed that our test suite is broken on node 10 due to some breaking changes with file modes that wasn't in node 9. Ref https://github.com/gulpjs/vinyl-fs/issues/300

MylesBorins commented 6 years ago

@phated getting this fixed would involved getting the test suite to pass and consistently pass. While there are still failures on Node.js 10 we won't be able to do that.

Do you have a timeline to getting the suite working? Do you need support on that?

richardlau commented 6 years ago

The reported failures in https://github.com/gulpjs/vinyl-fs/issues/300 look like https://github.com/nodejs/node/issues/20498.

phated commented 6 years ago

@richardlau that's definitely the issue.

MylesBorins commented 6 years ago

Looks like https://github.com/nodejs/node/pull/20588 will hopefully fix this issue

phated commented 6 years ago

Looks like the fixes landed in 10.5 - hopefully we can get this unmarked flakey now.

phated commented 6 years ago

Ping. I just verified that our tests work on node 10 - had to make a change to our file descriptor tests.