Uh oh!
There was an error while loading. Please reload this page.
http2: fix issues with aborted respondWithFile()s - #21561
Conversation
addaleax
commented
Jun 27, 2018
addaleax
commented
Jun 27, 2018
New CI: https://ci.nodejs.org/job/node-test-pull-request/15651/ @ariran5 Can you download the source for v10.5.0, apply https://patch-diff.githubusercontent.com/raw/nodejs/node/pull/21561.diff and build Node.js yourself? |
apapirovski
left a comment
There was a problem hiding this comment.
Code SGTM but I couldn't reproduce on my Mac so I can't confirm the fix.
addaleax
commented
Jun 29, 2018
Thanks for the reviews – I’m labelling this as |
jasnell
commented
Jun 29, 2018
@addaleax I think you're right that a no-op error handler on the client side should help with the flakiness. |
apapirovski
commented
Jun 30, 2018
I can reproduce the failure reliably but don't know how to fix. The test as is doesn't seem to work on MacOS since the destroy causes the error. |
ariran5
commented
Jul 3, 2018
Yes! Its work for me, fast reload not crush node |
addaleax
commented
Jul 8, 2018
Could somebody from e.g. @nodejs/platform-macos help me figure out the test here? I don’t have easy access to any of the systems on which is is failing… |
addaleax
commented
Jul 10, 2018
Maybe ping @nodejs/http2 ? I guess alternatively I’ll ask for access to a build machine … |
sebdeckers
commented
Jul 11, 2018
FWIW I tried adding the following handler to the server in the test case. On macOS High Sierra (10.13.6) it fails to emit the stream.on('error',common.mustCall((error)=>{constexpected='ECONNRESET'assert.strictEqual(error.errno,expected);assert.strictEqual(error.code,expected);})); |
addaleax
commented
Jul 11, 2018
New CI to see on which hosts exactly it’s failing (?): https://ci.nodejs.org/job/node-test-pull-request/15809/ |
The socket destroy is what causes the (The test might need to be rewritten to work on macOS from what I can tell.) |
addaleax
commented
Jul 15, 2018
I’ve pushed a change that might help get this back on track, even if it’s just a workaround. If this is approved & lands with the hack in the test, I’ll open a new issue, since I think this is an API defect in the HTTP/2 API. (@apapirovski I still really appreciate you taking the time to do this – I’d assign that issue to you, if that’s okay, at least as long as I can’t really debug it myself. :/) |
addaleax
commented
Jul 15, 2018
CI is green. Can somebody take a look at the added changes (only 6a04dbe)? I think it’s okay to do this because it addresses the most important issue, which is that this should not hard-crash the process. |
addaleax
commented
Jul 16, 2018
Landed in d94950e |
Fixes: #20824
Fixes: #21560
@budarin@DaAitch@ariran5 Are you in a position to try this patch and see whether it fully resolves the issues you were experiencing?
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes