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

Investigate flaky parallel/test-tls-js-stream #26938

Closed
ZYSzys opened this issue Mar 27, 2019 · 2 comments
Closed

Investigate flaky parallel/test-tls-js-stream #26938

ZYSzys opened this issue Mar 27, 2019 · 2 comments
Labels
flaky-test Issues and PRs related to the tests with unstable failures on the CI. macos Issues and PRs related to the macOS platform / OSX. tls Issues and PRs related to the tls subsystem.

Comments

@ZYSzys
Copy link
Member

ZYSzys commented Mar 27, 2019

  • Version: master
  • Platform: macOS
  • Subsystem: tls

On node-test-commit-osx 25791

11:38:19 not ok 2284 parallel/test-tls-js-stream
11:38:19   ---
11:38:19   duration_ms: 120.35
11:38:19   severity: fail
11:38:19   exitcode: -15
11:38:19   stack: |-
11:38:19     timeout
11:38:19     write <Buffer 16 03 01 01 54 01 00 01 50 03 03 f7 e4 1c c4 a3 a0 39 7f 82 5b f7 7c 1b 6d e5 91 0d 23 5f ee ee 11 8c a1 9f ce 1f 93 13 71 fc c8 20 ef 74 9d d4 1d f8 ... 295 more bytes> buffer
11:38:19     read <Buffer 16 03 03 00 7a 02 00 00 76 03 03 de e3 1e 5a b5 fa 02 ea f2 1f 38 bd 60 75 d3 32 23 d7 ba 54 da 5b 73 bf 1d 64 59 44 18 a7 3a 93 20 ef 74 9d d4 1d f8 ... 1110 more bytes>
11:38:19     client secure
11:38:19     write <Buffer 14 03 03 00 01 01 17 03 03 00 45 0e a3 ab 95 b6 5e aa 29 7e a3 e5 23 06 3e c4 83 a8 b8 75 4e 27 56 1a 79 3b 65 99 4f 94 5c 9f 0d 7f 23 c0 da e4 de 48 ... 57 more bytes> buffer
11:38:19     client close
11:38:19     new client
11:38:19     read <Buffer 17 03 03 00 15 4f 9e b9 59 98 e6 ed 5f 5d 23 fb fb 29 d0 22 b3 4f 9e f8 f6 13 17 03 03 01 0a 42 8c 7b f4 46 41 b1 08 ce 12 3e e0 8e 36 8d 57 90 bd 3d ... 518 more bytes>
11:38:19   ...

And node-test-commit-osx 25779

03:41:01 not ok 2284 parallel/test-tls-js-stream
03:41:01   ---
03:41:01   duration_ms: 120.34
03:41:01   severity: fail
03:41:01   exitcode: -15
03:41:01   stack: |-
03:41:01     timeout
03:41:01     write <Buffer 16 03 01 01 54 01 00 01 50 03 03 2b 83 b9 a7 92 2e dc 50 73 bf 1b fb 16 61 1b be 3f c9 14 24 18 15 66 14 35 b2 2f b0 1b 72 31 19 20 29 20 0e e3 6c 3d ... 295 more bytes> buffer
03:41:01     read <Buffer 16 03 03 00 7a 02 00 00 76 03 03 5b 31 7c ba 3e 2c c7 82 67 6f c7 51 b1 f7 0b c0 95 c8 b7 82 5b d5 1d a3 cb c5 7b f0 21 5a 33 ba 20 29 20 0e e3 6c 3d ... 1110 more bytes>
03:41:01     client secure
03:41:01     write <Buffer 14 03 03 00 01 01 17 03 03 00 45 7f b8 f8 dc 96 bc 08 94 91 8b c2 fd 00 33 40 f2 06 ee 76 8e 66 58 d8 09 64 2e 6c ac a0 63 ec b0 71 a1 bf 53 6f 97 5d ... 57 more bytes> buffer
03:41:01     client close
03:41:01     new client
03:41:01     read <Buffer 17 03 03 00 15 87 24 41 e3 0b f7 a7 74 68 e9 4e d7 08 36 36 b5 e8 e6 b0 49 55 17 03 03 01 0a e5 5f ed d4 79 ae a7 e4 81 a3 09 41 7b 17 d3 fc 3b 51 2c ... 518 more bytes>
03:41:01   ...
@ZYSzys ZYSzys added flaky-test Issues and PRs related to the tests with unstable failures on the CI. tls Issues and PRs related to the tls subsystem. macos Issues and PRs related to the macOS platform / OSX. labels Mar 27, 2019
@lpinca
Copy link
Member

lpinca commented Apr 1, 2019

Similar to #26910 (comment)

I can easily reproduce with

./tools/test.py -J --repeat=1000 test/parallel/test-tls-js-stream.js

on my machine but the problem disappears if --node-args=--tls-max-v1.2 is used.

@Trott
Copy link
Member

Trott commented Apr 4, 2019

https://ci.nodejs.org/job/node-test-commit-osx/26007/nodes=osx1011/console

test-macstadium-macos10.11-x64-2

00:13:05 not ok 2306 parallel/test-tls-js-stream
00:13:05   ---
00:13:05   duration_ms: 120.70
00:13:05   severity: fail
00:13:05   exitcode: -15
00:13:05   stack: |-
00:13:05     timeout
00:13:05     write <Buffer 16 03 01 01 54 01 00 01 50 03 03 ad ee 29 4f 8f a1 03 97 76 f1 ea bb 3c e6 16 80 6e 84 5e f5 d6 dd 6b 04 4c c6 f0 fb 81 ea c1 9a 20 4e d1 90 20 07 87 ... 295 more bytes> buffer
00:13:05     read <Buffer 16 03 03 00 7a 02 00 00 76 03 03 49 84 9c 30 b3 09 20 53 9e 0e b3 19 55 ed 47 49 19 91 46 bf 5b 12 df 7e 1b bc 86 be bb 38 ac f0 20 4e d1 90 20 07 87 ... 1110 more bytes>
00:13:05     client secure
00:13:05     write <Buffer 14 03 03 00 01 01 17 03 03 00 45 90 79 7b ef 31 af 12 4d d3 12 62 12 b5 0c c4 ec 35 dd 89 c9 70 47 b3 37 7b ce 35 60 39 01 d5 74 b1 8e 1d 46 5b 26 4e ... 57 more bytes> buffer
00:13:05     client close
00:13:05     new client
00:13:05     read <Buffer 17 03 03 00 15 c2 30 11 7a b9 a4 6d fd 7b a3 c4 29 c6 0b dc 26 c2 2f b0 db 6c 17 03 03 01 0a 61 f0 41 f0 22 26 69 ba aa 94 09 5a b4 78 dd 23 68 89 f7 ... 518 more bytes>
00:13:05   ...

refack added a commit to refack/node that referenced this issue Apr 21, 2019
PR-URL: nodejs#27225
Refs: nodejs#26910
Refs: nodejs#27219
Refs: nodejs#26938
Refs: nodejs#23089
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
lpinca added a commit to lpinca/node that referenced this issue May 4, 2019
`socket.destroy()` can destory the stream before the chunk to write
with `socket.end()` is actually sent. Furthermore `socket.destroy()`
destroys `p` and not the actual raw socket. As a result it is possible
that the connection is left open.

Remove `socket.destroy()` to ensure that the chunk is sent. Also use
`common.mustCall()` to ensure that the `'secureConnection'` and
`'secureConnect'` events are emitted exactly once.

Fixes: nodejs#26938
@lpinca lpinca closed this as completed in 8c4bd2a May 6, 2019
targos pushed a commit that referenced this issue May 9, 2019
`socket.destroy()` can destory the stream before the chunk to write
with `socket.end()` is actually sent. Furthermore `socket.destroy()`
destroys `p` and not the actual raw socket. As a result it is possible
that the connection is left open.

Remove `socket.destroy()` to ensure that the chunk is sent. Also use
`common.mustCall()` to ensure that the `'secureConnection'` and
`'secureConnect'` events are emitted exactly once.

PR-URL: #27478
Fixes: #26938
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
MylesBorins pushed a commit that referenced this issue May 16, 2019
PR-URL: #27225
Refs: #26910
Refs: #27219
Refs: #26938
Refs: #23089
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
MylesBorins pushed a commit that referenced this issue May 16, 2019
PR-URL: #27225
Refs: #26910
Refs: #27219
Refs: #26938
Refs: #23089
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flaky-test Issues and PRs related to the tests with unstable failures on the CI. macos Issues and PRs related to the macOS platform / OSX. tls Issues and PRs related to the tls subsystem.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants