net/http: (*http2pipe).closeWithError” Crashed #43965
Comments
The Line 3558 in 2117ea9 The question is, where does the Line 3537 in 2117ea9 At that point we know that The comment for that field says: Line 3469 in 2117ea9 That behavior is implemented here: Lines 3507 to 3514 in 2117ea9 So the question is: what is calling |
@bcmills Why does it matter? There are only 2 places where p.b = nil occurs. In Read(), but the guarantee is p.err is non nil or during closeWithError() which will set p.breakErr non nil. @wgplt Have you run your program with race detection enabled? |
I run my program with race detection enabled,sometimes it can reappear, sometimes it can't! |
@wgplt can you provide more details? |
@davecheney @fraenkel @bcmills @seankhliao I found out why the program crashed because the website I requested returned the following response: `HTTP/1.1 100001 ` |
There has to be more than this. The fact that your panic was in processData means we saw a data frame. There is no way for the http2 stack to process the above as something remotely valid. Do you have any more of the actual wire flow? |
The test code is as follows: `// test project main.go import ( func main() { func GET(URL string) { |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
1.15.7
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I used a common "http.Transport" object for every “http.Client”,bug after running for a while ,the program crashes and the output error message is as follows。
my codes like this:
What did you expect to see?
What did you see instead?
The text was updated successfully, but these errors were encountered: