Uh oh!
There was an error while loading. Please reload this page.
tls: re-enable .writev() on TLSWrap - #1155
Conversation
Fix the `parallel/test-tls-over-http-tunnel.js` on Windows by re-enabling the accidentally disabled `.writev()` method on TLSWrap. It appears that there is some subtle issue with shutdown timing and it manifests itself when the chunks are written in separate packets. This leads to concurrent `shutdown`/`destroy`, which breaks the test.
indutny
commented
Mar 14, 2015
UPDATE: I was able to reproduce this problem on io.js prior to StreamBase changes after removing |
indutny
commented
Mar 14, 2015
cc @iojs/crypto @bnoordhuis seems to be an obvious change |
piscisaureus
commented
Mar 14, 2015
indutny
commented
Mar 14, 2015
This is fine, because they are queued in TLSWrap On Saturday, March 14, 2015, Bert Belder notifications@github.com wrote:
|
piscisaureus
commented
Mar 14, 2015
It isn't, because this causes the socket to be destroyed before all writes are flushed (What happens is that |
indutny
commented
Mar 14, 2015
Aah, well... This is a TLSWrap bug anyway, not StreamBase On Saturday, March 14, 2015, Bert Belder notifications@github.com wrote:
|
indutny
commented
Mar 14, 2015
On a second thought, it is very interesting case. This imbalance is happening because |
indutny
commented
Mar 15, 2015
@piscisaureus LGTY? |
piscisaureus
commented
Mar 15, 2015
@indutny lgtm! |
Fix the `parallel/test-tls-over-http-tunnel.js` on Windows by re-enabling the accidentally disabled `.writev()` method on TLSWrap. It appears that there is some subtle issue with shutdown timing and it manifests itself when the chunks are written in separate packets. This leads to concurrent `shutdown`/`destroy`, which breaks the test. PR-URL: #1155 Reviewed-By: Bert Belder <bertbelder@gmail.com>
indutny
commented
Mar 15, 2015
Landed in 4eb8810, thank you! |
Fix the
parallel/test-tls-over-http-tunnel.json Windows byre-enabling the accidentally disabled
.writev()method on TLSWrap.It appears that there is some subtle issue with shutdown timing and it
manifests itself when the chunks are written in separate packets. This
leads to concurrent
shutdown/destroy, which breaks the test.cc @piscisaureus
It appears that removing
writevin io.js prior to StreamBase does not introduce this problem, but this patch fixes the problem without touching the test. I propose landing it, and meanwhile I'll investigate more.