-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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
parallel/test-http2-misbehaving-multiplex is flaky #54859
Comments
The problem is that when
the corresponding http2 stream might be fully closed and it seems that in that case no error is raised. Here is a test case that always fails (no error is raised). 'use strict';
const h2 = require('http2');
const net = require('net');
const h2test = require('../common/http2');
const server = h2.createServer();
server.on('stream', function (stream) {
stream.respond();
stream.end('ok');
});
server.on('session', function (session) {
session.on('error', console.error);
});
const settings = new h2test.SettingsFrame();
const settingsAck = new h2test.SettingsFrame(true);
// HeadersFrame(id, payload, padding, END_STREAM)
const id1 = new h2test.HeadersFrame(1, h2test.kFakeRequestHeaders, 0, true);
server.listen(0, () => {
const client = net.connect(server.address().port, function () {
client.write(h2test.kClientMagic);
client.write(settings.data);
client.write(settingsAck.data);
client.write(id1.data);
setTimeout(function () {
client.write(id1.data)
}, 100);
});
client.on('close', function () {
server.close();
});
client.resume();
}); This seems to be by design. The following callbacks Lines 517 to 518 in 741004a
Line 514 in 741004a
are not called. It just fails silently. |
Fixes: nodejs#54859 PR-URL: nodejs#54872 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Test
test-http2-misbehaving-multiplex
Platform
Linux x64, macOS x64
Console output
Build links
Additional information
No response
The text was updated successfully, but these errors were encountered: