-
Notifications
You must be signed in to change notification settings - Fork 30.3k
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
http2: exception on stream destroy #16543
Comments
Will investigate! Thank you! :-) |
Hmm, is this happening when you Based on the stack trace, it seems like you might be destroying it while the pipe is still ongoing but I can't quite tell since I can't run this code as is. In general you should always explicitly If I'm right, I wonder if there's anything we can do better here. |
@apapirovski thanks for the comment. previously I use stream.rstStream() directly, without stream.destory(). actually I find the pipe() is quite hard to get correct, but it is nearly the only way to handle back-pressure, so I cant use on('data', (d) => {stream.write(d)}). just found stream can be .abort(), will try. |
new code under testing.
|
looks resolved, needs a little more time to confirm and close. so the problem may be one cant use stream.destroy() on "aborted" stream, double destroy problem? |
Sorry, same exception (one of the two) still exists. happen even less frequently by the 3rd version of error handling code.
the timing is related with my broadband pppoe force reconnection kickout happens every 24h, |
I guess it is fixed by #16525, no more exceptions on node 9.0.0, closing. |
Version: 8.8.1
Platform: 64bit linux
Subsystem: http2
I'm trying to write a simple nghttpx clone, so you see stream.respond & pipe there.
I was finding the right way to destroy the httpres and the stream.
I'm sorry that I don't know how to reliable reproduce this.
exceptions found:
and this
(maybe caused by stream.rstStream(http2.constants.NGHTTP2_CONNECT_ERROR);)
snippet:
The text was updated successfully, but these errors were encountered: