Skip to content
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

proxy.golang.org: HTTP/2 Stream error when using GOPROXY="https://proxy.golang.org,direct" #41429

Closed
buro9 opened this issue Sep 16, 2020 · 5 comments

Comments

@buro9
Copy link

@buro9 buro9 commented Sep 16, 2020

What version of Go are you using (go version)?

1.15.2

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

Mac OSX Catalina

What did you do?

GOPROXY="https://proxy.golang.org,direct"

And then:

% go get -u github.com/microcosm-cc/bluemonday
go: downloading github.com/microcosm-cc/bluemonday v1.0.4
go get: github.com/microcosm-cc/bluemonday@v1.0.4: stream error: stream ID 3; NO_ERROR

What did you expect to see?

Success

What did you see instead?

What appears to be a terminated HTTP stream? NO_ERROR - but no success.

This bug relates to microcosm-cc/bluemonday#104 where the root cause was initially non-obvious.

@heschik
Copy link
Contributor

@heschik heschik commented Sep 16, 2020

proxy.golang.org is served by the same Google-wide serving infrastructure as all Google sites, so whatever's going on here is not specific to proxy.golang.org.

#29125 looks vaguely related. I'm not a net/http expert, but my best guess is that @darsenault has some kind of middlebox that's messing with the connection.

@darsenault
Copy link

@darsenault darsenault commented Sep 16, 2020

@darsenault here to add a bit of context.

  • Problem was present when all potential middleboxes and AV were bypassed and suspended, respectively.

  • Problem was still present when attached to a alternate wide open network (phone hotspot tether).

  • Problem resolved upon removal of proxy.golang.org fro GOPROXY, keeping all else constant including potential middleboxes and AV.

  • All other libraries attempted via go get worked flawlessly, including several dozen from the Benthos (benthos.dev) build process and random packages selected from Awesome Go. The only package impacted was github.com/microcosm-cc/bluemonday when GOPROXY contained proxy.golang.org

@heschik
Copy link
Contributor

@heschik heschik commented Sep 16, 2020

Sorry, I have no idea what could be going wrong. HTTP/2-level concerns are handled by Google-wide serving infrastructure, which is completely oblivious to what module you're requesting. As far as I know it should be literally impossible for proxy.golang.org to cause this problem. And we've never had a report like this before.

It seems like you checked all the right things, but it still sounds more like something interfering with the connection than a server-side bug. If you want to debug further, I'd suggest getting a pcap.

@heschik
Copy link
Contributor

@heschik heschik commented Sep 16, 2020

Or maybe GODEBUG=http2debug=2, from the bug I linked.

@gopherbot
Copy link

@gopherbot gopherbot commented Oct 16, 2020

Timed out in state WaitingForInfo. Closing.

(I am just a bot, though. Please speak up if this is a mistake or you have the requested information.)

@gopherbot gopherbot closed this Oct 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.