| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Review requested:
|
Sorry, something went wrong.
Codecov ReportAll modified and coverable lines are covered by tests ✅ Additional details and impacted files @@ Coverage Diff @@
## main #57686 +/- ##
==========================================
+ Coverage 90.22% 90.24% +0.01%
==========================================
Files 630 630
Lines 185074 185074
Branches 36222 36221 -1
==========================================
+ Hits 166985 167013 +28
+ Misses 11041 11034 -7
+ Partials 7048 7027 -21
... and 24 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
There was a problem hiding this comment.
lgtm
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Fixes: #57416
This issue can be reproduced by destroying the session immediately after the client sends a request.
You may occasionally see an error after running it a few times.
seq 100 | xargs -n1 -P100 node client.jsIf writeHead() is called after the server receives a GOAWAY frame but before it sends a RST_STREAM, the server may enter an error state.
After the GOAWAY frame is received, the http2Stream is immediately closed.
However, the response object (res) is only marked as closed after the RST_STREAM frame is sent.
Currently, writeHead() checks whether the response object is closed, but it does not check whether the stream itself has been closed.
how to fix
Even if the RST_STREAM frame hasn't been sent yet, it seems like it might already be queued when the http2Stream is closed.
So this change skips writeHead() when the stream is already closed.